[kubenetes] 6. 서비스

kubenetes
Author
chan2slo chan2slo
Date
2022-07-25 21:25
Views
1180

서비스를 구현해보기 위해 호스트 네임 반환하는 deploy 생성

root@Kube-master1:~# cat deployment-hostname.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hostname-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: webserver
  template:
    metadata:
      name: my-webserver
      labels:
        app: webserver
    spec:
      containers:
      - name: my-webserver
        image: alicek106/rr-test:echo-hostname
        ports:
        - containerPort: 80
root@Kube-master1:~# kubectl apply -f deployment-hostname.yaml

root@Kube-master1:~# kubectl get po -o wide
NAME                                   READY   STATUS    RESTARTS   AGE   IP                NODE           NOMINATED NODE   READINESS GATES
hostname-deployment-7dfd748479-fvg7n   1/1     Running   0          18h   192.168.161.202   kube-worker2              
hostname-deployment-7dfd748479-jqzmp   1/1     Running   0          18h   192.168.130.140   kube-worker3              
hostname-deployment-7dfd748479-v8lb2   1/1     Running   0          18h   192.168.194.11    kube-worker1              

서비스의 타입은 3가지

- ClusterIP : 쿠버네티스 내부에서만 포트들에 접근할때 사용

- NodePort : 포드에 접근할수 있는 포트를 클러스터의 모든 노드에 개방, 외부접근 가능

- LoadBalancer : 클라우드 플랫폼의 로드 밸런서를 동적으로 프로비저닝해 포드에 연결, 외부접근가능, 클라우드 플랫폼 환경에서만 사용가능

Total Reply 0