Kubernetes Service

신민창·2021년 5월 2일
0

kubernetes

목록 보기
4/13

Kubernetes Service

k8s 서비스 종류로는 4가지가 있다. ClusterIP, NodePortIP, LoadBalancer, ExternaName

ClusterIP: 기본 서비스 타입이며 쿠버네티스 내부에서 사용가능하다. 클러스터 내부의 포드에서ClusterIP를 이용해서 해당 서비스에 연결된 Pod에 접속이 가능하다. 외부에서는 이용이 불가능하다.

apiVersion: v1
kind: Service
metadata:
  name: clusterip-service
spec:
  type: ClusterIP
  clusterIP: 10.233.0.100
  selector:
    app: webui
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
    
# app이 webui인 pod들의 연결주소를 10.233.0.100으로 일치시킨다.

NodePort: 각 노드에 지정된 포트번호를 할당하는 방식이다. 포트를 사용하기 때문에 해당 서비스를 사용하면 Pod를 내부가 아닌 외부에서도 접속이 가능하다. 외부에서 내부 Pod로 접속할 때 사용하는 서비스이다.

apiVersion: v1
kind: Service
metadata:
  name: nodeport-service
spec:
  type: NodePort
  clusterIP: 10.233.0.101
  selector:
    app: webui
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
    nodePort: 30200  #노드포트 범위는 30100~32767 까지이다.

LoadBalancer: AWS, AZURE, GCP와 같은 클라우드 서비스를 사용할 때 사용하는 서비스이다. 클라우드에서 사용하는 로드밸런서와 연결해서 클러스터 외부에서 접근 가능하게 만드는 서비스이다.

ExternalName: 서비스를 externalName 값과 일치시킨다.

apiVersion: v1
kind: Service
metadata:
  name: externalname-svc
spec:
  type: ExternalName
  externalName: google.com

0개의 댓글

관련 채용 정보