반응형
컨테이너 외부노출이란?
쿠버네티스에 배포된 컨테이너들은 기본적으로 쿠버네티스 클러스터 내에서 동작한다.
그러므로 외부에서 접근할 경우 서비스라는것을 생성해주어야 한다.
쿠버네티스에서 서비스는 expose 시킨다라고도 표현하며 외부에서 내부컨테이너 포트를 매핑시켜주는것과 같다.
# 외부노출 시키기 - yaml
쿠버네티스에서 외부로 노출시키기위해선 service를 배포하거나 cli로 바로 expose 시킬 수 있다.
서비스를 배포할 때에는 yaml 파일을 작성하여 배포 할 수 있다.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app.kubernetes.io/name: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
위 yaml 내용은 80번 포트는 외부로 노출시킨다는 뜻이며 컨테이너의 9376 포트로 매핑되어있다.
이외에도 type, external-IP 등을 셋팅하여 배포 할 수 있다.
외부노출 시키기 - expose
kubectl expose -n <namespace> <kind> <pod> -name [서비스네임] --port --target-port
CLI를 통해 위와같이 expose 할 수도 있다.
반응형
'쿠버네티스' 카테고리의 다른 글
[Kubernetes] HA-Cluster (고가용성 클러스터) 구축 - 1 (0) | 2023.07.26 |
---|---|
[Kubernetes] 쿠버네티스 HA-Cluster (설명편) (0) | 2023.07.25 |
[Kubernetes] ETCD 복구 (0) | 2023.07.06 |
[Kubernetes] ETCD 백업 (0) | 2023.06.23 |
[Kubernetes] Kubernetes 초기화 (0) | 2023.06.23 |