게으름을 위한 부지런한 게으름뱅리' 블로그

[쿠버네티스 교과서] 파드, 디플로이먼트, 서비스 정리 & 문제 본문

IT/K8S

[쿠버네티스 교과서] 파드, 디플로이먼트, 서비스 정리 & 문제

LazismLee 2023. 12. 10. 12:01
반응형

♬ 쿠버네티스 교과서 1~3장 읽고 정리

  • 쿠버네티스의 두 가지 핵심 개념은?
    애플리케이션 정의 API, 실제 동작하는 클러스터
  • "kubectl" 을 읽는 방법?
    큐브-커틀
  • 파드의 상세 정보를 보는 명령어는?
    kubectl describe
  • 파드의 상태 확인 명령어는?
    kubectl get pod
  • 파드를 외부에서 접근하기 위하여 포트포워딩을 하기 위한 명령어는?
    port-forwad
  • 다른 리소스를 관리하는 쿠버네티스 리소스는?
    컨트롤러 객체
  • 쿠버네티스에서 자주 쓰는 패턴으로 리소스 간 관계를 파악하는 데 사용하는 설정은?
    레이블
  • 디버깅을 위해 사용하는 방법으로 파드를 관리에서 제외할 수 있는 방법은?
    레이블을 변경한다.
  • 매니페스트 파일로 애플리케이션을 배포할때 쓰는 명령어는? 
    apply
  • 파드를 실행하는 방법 3가지.
    kubectl run (pod 실행)
    kubectl create deployment (디플로이먼트)
    kubectl apply -f pod.yml (매니페스트)
  • 서비스의 종류 5가지
     ClsterIP
    Loadbalancer
    Nodeport
    ExternalName
    Headless
  • ExternalName 서비스란?
    도메인 네임에 대한 별명

 

 

쿠버네티스는 같은 OS로 구축해야한다. ( X )

서로 다른 OS(Linux, Window)로도 구축 가능하다.

 

쿠버네티스용 데이터베이스를 구축해야한다. ( X )

쿠버네티스용 데이터베이스는 자동으로 구축된다.

 

쿠버네티스용 스토리지를 구축해야한다. ( X )

쿠버네티스용 스토리지는 자동으로 구축된다.


쿠버네티스는 어플리케이션마다 추가 설정이 필요하다. ( X )

어떤 어플리케이션이든 동일한 설정으로 배포가 된다.(java, node, python등 언어에 상관없이)


파드가 다른 노드의 파드와 통신하기 위하여 노드 간 네트워크 구축이 필요하다. ( X )

쿠버네티스에서 제공하는 네트워크에서 제공하므로 별로 구축은 필요없다.


파드간 통신은 localhost로 통신할 수 없고 가상의 IP로 통신해야 한다. ( X )

localhost로 통신 할 수 있다.

  
파드는 IP를 갖는다. ( O )


쿠버네티스가 직접 컨테이너를 실행한다. ( X )

쿠버네티스는 파드를 실행한다.


쿠버네티스는 유실된 파드를 새 파드로 대체한다. ( O )


디플로이먼트만 만들면 파드를 대신 만들어준다. ( O )


디플로이먼트는 템플릿을 적용해서 파드를 생성한다. ( O )


디플로이먼트는 파드와 직접적인 관계를 갖는다. ( X )

디플로이먼트는 레이블셀렉터와 일치하는 파드가 하나 있기만 하면 된다.


디플로이먼트는 자신이 생성한 파드에 레이블을 부여하며, 이 레이블을 기준으로 디플로이먼트가 생성한 파드를 찾을 수 있다.( O )


레이블 정보를 함부로 직접 수정하면 리소스 간 관계를 흐트러트릴 수 있기 때문에 주의해야한다.( O )


외부에 있는 매니페스트 파일로 배포 할 수 없다. ( X )

git이나 외부에서 매니페스트파일을 주입받아서 사용 할 수 있다.


쿠버네티스 로그는 pod에서만 확인 가능하다. ( X )

디플로이먼트를 통해서도 가능하다.


kubectl은 삭제할 때 확인을 하지 않는다. ( O )

 

쿠버네티스가 만든 가상 네트워크는 클러스터 전체를 커버한다. ( O )


서비스는 자신만의 IP 주소를 갖는다. 서비스가 삭제될 때까지 바뀌지 않는다. ( O )

 

클러스터 IP는 파드와 파드 간 통신에서만 쓰인다. ( X )

상세내용 확인 필요


로드밸런서 서비스는 외부 또는 다른 노드에서 들어오는 트래픽을 대상 파드로 전달 할 수 있다.( O )


로드밸런서 서비스의 커버 범위는 클러스터 전체다. ( O )


로드밸런서 서비스는 분산환경에 따라 구현 방식의 차이가 발생한다.( O )


노드포트 서비스는 모든 노드가 서비스에 설정된 포트를 주시하도록 한다.( O )


노드포트 서비스는 서비스에서 설정된 포트가 모든 노드에서 개방되어 있어야 한다. ( O )


익스터널네임 서비스는 클러스터 외부로 요청을 전달하는 리다이렉션과 같은 기능을 한다. ( O )


익스터널네임 서비스는 애플리케이션 설정에 포함하기 어려운 환경 간 차이를 반영할 때 유용하다.( O )


쿠버네티스는 DNS의 표준 기능 중 하나인 CNAME을 사용하여 익스터널네임 서비스를 구현했다.( O )


익스터널네임 서비스는 HTTP 프로톨콜을 사용하는 서비스에 최선이다. ( X )

TCP나 UDP 프로토콜을 사용하는 서비스에 최선이다.


클러스터 IP는 네트워크상에 실재하지 않는 가상 IP주소이다. ( O )


쿠버네티스 엔드포인트의 이름은 서비스와 같다. ( O )


모든 쿠버네티스 리소스는 네임스페이스 안에 존재한다.( O )


서비스는 자신이 속한 네임스페이스 외에 네임스페이스로도 접근이 가능하다. ( O )

 

디플로이먼트를 삭제하면 파드와 서비스가 함께 삭제된다. ( X )

서비스는 독립적으로 운영되므로 디플로이먼트를 삭제하면 파드만 삭제가 된다.

 

 

 

반응형
Comments