본문 바로가기
Program Language/K8S

CKA 자격증 - Certified Kubernetes Administrator 4편 [Service]

by QueryJun 2023. 8. 10.

쿠버네티스 Service 란?

Kubernetes에서의 Service는 클러스터 내에서 실행 중인 파드(Pod)에 접근하기 위한 네트워크 추상화를 제공하는 리소스입니다.

Service는 Pod의 동적인 IP 주소나 이름을 추상화하고, 일관된 방법으로 서비스에 접근할 수 있는 로드 밸런싱 기능을 제공합니다. 이로써 파드가 생성, 삭제, 업데이트될 때도 애플리케이션의 가용성과 안정성을 유지할 수 있습니다.

* 네트워크 추상화란 : 네트워크 추상화(Network Abstraction)는 복잡한 네트워크 상황을 단순화하고 관리하기 쉽게 만들기 위해 사용되는 개념입니다. 이를 통해 사용자나 개발자는 네트워크 세부 사항을 신경 쓰지 않고도 원하는 기능을 구현하고 사용할 수 있습니다.

 

1. Service 정보 출력

$ kubectl get service
$ kubectl get svc

# 모두 동일한 결과를 출력

해당 명령은 Kubernetes 클러스터 내에 정의된 모든 서비스(Service)의 목록을 조회하는 명령입니다. 

이 명령을 사용하여 클러스터 내의 서비스 상태와 정보를 확인할 수 있습니다.

 

  • NAME: 서비스의 이름입니다.
  • TYPE: 서비스의 유형을 나타냅니다. ClusterIP, NodePort, LoadBalancer 등이 가능합니다.
  • CLUSTER-IP: 서비스의 Cluster IP 주소입니다. 내부 클러스터에서 사용되며, 클러스터 내에서의 서비스에 접근할 때 사용됩니다.
  • EXTERNAL-IP: 서비스가 외부로 노출될 때의 외부 IP 주소나 로드 밸런서의 IP 주소가 표시됩니다. 없는 경우 <none>으로 표시됩니다.
  • PORT(S): 서비스가 사용하는 포트와 프로토콜 정보입니다.
  • AGE: 서비스가 생성된 후 경과한 시간을 나타냅니다.

2. Endpoints 란?

Kubernetes에서 Endpoints는 서비스(Service)와 관련된 Pod의 IP 주소와 포트 정보를 나타내는 리소스입니다.

Endpoint는 서비스의 목적지인 파드들의 네트워크 위치 정보를 캡슐화하고, 이를 서비스가 사용할 수 있도록 제공합니다. 서비스와 함께 사용하여 클라이언트나 다른 파드가 서비스로 트래픽을 전달할 때 어떤 파드에 트래픽을 전달해야 하는지를 결정합니다.

 

3. Service의 유형

  • ClusterIP
    ClusterIP는 Kubernetes에서 제공하는 서비스 유형 중 하나로, 클러스터 내부에서만 사용되는 가상 IP 주소를 할당하여 서비스에 접근할 수 있게 해주는 유형입니다. 외부에서는 직접 접근할 수 없으며, 내부 클러스터의 pod들이 서로 통신할 때 사용됩니다.

 

  • NodePort
    Kubernetes에서 제공하는 서비스 유형 중 하나로, 클러스터 내부의 모든 노드(Node)에 서비스를 노출시키는 방법입니다. 이를 통해 외부 클라이언트나 노드 외부에서 해당 서비스에 접근할 수 있게 됩니다
    NodePort 서비스는 노드의 IP 주소와 지정된 포트를 통해 서비스에 접근할 수 있도록 해줍니다.

 

  • LoadBalancer
    LoadBalancer는 Kubernetes에서 제공하는 서비스 유형 중 하나로, 클라우드 제공업체의 로드 밸런서를 활용하여 서비스를 외부로 노출시키는 방법입니다. 이를 통해 외부 클라이언트나 사용자가 해당 서비스에 접근할 수 있게 됩니다. LoadBalancer 서비스는 로드 밸런서의 IP 주소나 도메인을 사용하여 트래픽을 분산시키며, 주로 프로덕션 환경에서 사용됩니다.

 

  • ExternalName
    ExternalName은 Kubernetes에서 제공하는 서비스 유형 중 하나로, 클러스터 내에서 외부 도메인을 참조하기 위해 사용되는 방식입니다. 이를 통해 내부 pod나 서비스가 클러스터 외부의 호스트를 사용하거나 참조할 수 있습니다. ExternalName 서비스는 DNS에 등록된 외부 도메인의 CNAME 레코드를 제공하여 클러스터 내에서 해당 도메인을 사용할 수 있게 합니다.


감사합니다.

반응형