Infra

[k8s] Object Service

뚜둔뚜둔 2022. 3. 7. 00:52

 

 
 

Object - Service

Service IP: 사용자가 삭제하기 전까진 없어지거나 변경 되지 않는다

ClusterIP

  • k8s cluster 내부에서만 접근이 가능
  • cluster 내에 다른 object들이 접근 가능 but 외부에선 접근 불가능
  • pods 연결 가능 -> 서비스가 트래픽을 분산해서 pod에 전달을 해 줌
  • 외부에선 접근 할 수 없고 cluster내부에서만 사용 가능 - 운영자와 같은 인가된 사람만 접근 가능
  • 주된 작업 ; k8s대시보드 파드의 상태 관리 및  디버깅
  •  

NodePort

  • ClusterIP의 기능을 기본적으로 가지고 있음.
  • 모든 노드에게 똑같은 port가 할당 되어있음.
  • externalTrafficPolicy: Local ->특정 노드 포트에 아이피로접근하는 트래픽은 서비스가 해당 노드 위에있는 파드들에게만 전달됨
  • 물리적인 포트에 pod 접근 가능
  • 내부망에서만 접근 가능 - 클러스터 밖에는 있지만 내부망에서만 가능한 경우
  • 일시적인 외부 연동용으로 사용 (ex. 외부에 간단한 데모를 보여줄때 )

Load Balancer

  • NodePort의 기능을 기본적으로 가지고 있음.
  • Load Balancer: 각각의 노드의 트래픽을 분산 시켜줌
  • 외부 접속 ip 주소는 개별적으로 쿠버를 설치 했을 때 생성되지 않는다. 따로 플러그인 을 설치한 뒤 설정해줘야 ip가 생성됨 . 
  • 외부에 서비스를 노출 시킬때 사용 ( 내부 ip를 노출하지 않고 서비스 제공 )

 


Headless

  • DNS : 파드, 서비스등 생성이 되서 저장(FQDN)됨.
  • 서비스의 이름만 알아도 서비스에 접근이 가능함.
  • headless [ clusterIP: None ]
  • pod [ hostname: 도메인이름 ,subdomain:서비스이름 ]
  • -> 서비스의 ip가 없기 때문에 서비스의 IP는 파드들의 ip를 보여 줌.

 EndPoint 

  • 서비스의 이름과 동일한 이름으로 endpoint 생성
  • endpoint 안에 파드의 접속정보를 넣어 줌 -> 라벨과 설렉터를 안만들어도 직접 연결 가능
  • endpoint 직접 만듬:  서비스의 이름과 파드의 ip정보를 넣어주면 됨
  • 내부 포트, 외부 아이피 주소 모두 사용가능

 ExternalName 

  • 내부,외부 아이피를 찾아냄
  • 파드는 서비스만 바라보고 있어서, 서비스의 내용이 수정되도, 파드를 수정하고 재배포 하는 일이 없어짐.
  •  

반응형

'Infra' 카테고리의 다른 글

[k8s] Object ConfigMap, Secret  (0) 2022.03.07
[k8s] Object Volume  (0) 2022.03.07
[k8s] Object pod  (0) 2022.03.06
[k8s] kubernetes installation  (0) 2022.03.06
[k8s]what is k8s  (0) 2022.03.06