본문 바로가기

Infra/쿠버네티스 입문

쿠버네티스 입문 (4) - 서비스

728x90

 

- 서비스는 파드를 안정적으로 운영하기 위한 묶음이다.

- 포트를 지정할 수 있다.

 

apiVersion: v1
kind: Service
metadata:
  name: fleetman-webapp

spec:
  ports:
    - name: http
      port: 80
      nodePort: 30080

  selector:
    app: webapp
    release: "0"

  type: NodePort

- 앞에 만든 파드를 서비스로 연결

- type이 여러개가 있는데, CusterIp는 내부에서만 쓴다는 얘기 (브라우저 접근 x), NodePort는 외부에 노출이 가능한 옵션

마지막으로 LoadBalancer는 클라우드 환경에서 쓰는 옵션

 

C:\Users\tmddn\OneDrive\바탕 화면\kubernetes>kubectl describe svc fleetman-webapp
Name:                     fleetman-webapp
Namespace:                default
Labels:                   <none>
Annotations:              <none>
Selector:                 app=webapp,release=0
Type:                     NodePort
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.102.249.45
IPs:                      10.102.249.45
Port:                     http  80/TCP
TargetPort:               80/TCP
NodePort:                 http  30080/TCP
Endpoints:                10.1.0.34:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

- 만약 무중단 배포를 하려고 하면, 파드 2개를 만들어 놓고 서비스에 연결된 selector 정보를 변경

- 명령어로 연결된 Selector 확인

300x250