본문 바로가기
DevOps/Kubernates

[CKA] 18-27 kubelet, kube-proxy, POD, YAML,

by BenKangKang 2023. 3. 29.

Certified Kubernetes Administrator (CKA) with Practice Tests 정리 내용입니다.

 

18. kubelet

  • Kubelet은 배의 선장으로 예시를 들 수 있음
  • 스케줄러의 요청을 받아 컨테이너를 싣거나 내린다.
  • 컨테이너 상태를 주기적으로 모니터링하고 kube-apiserver 로 보고한다.

Installing kubelet

kubeadm으로 설치하더라도 자동으로 설치되지 않음으로 수동 설치해야한다.


19. kube-proxy

  • Kube-proxy는 kubernetes 클러스터의 각 노드에서 실행되는 프로세스.
  • Kube-proxy 와 서비스를 통해 실제 팟으로 요청이 간다.

Installing kube-proxy

  • kubeadm 툴이 kube-proxy를 각 노드에 배포한다. (마스터 노드에 데몬셋으로 배포된다)

20. pod

팟과 클러스터

  • 쿠버네티스로 얻고자하는 궁극적인 목표는 클러스터에 구성된 워커노드 머신에 컨테이너를 배포하는 것
  • 쿠버네티스는 컨테이너를 직접적으로 배포하는 것이 아님.
    • 컨테이너는 캡슈화되어 있다.

팟이란?

  • 포드가 가장 작은 개체로써 배포된다.
  • 포드는 애플리케이션을 실행하는 컨테이너와 일대일 관계를 갖는다.

확장과 축소

  • 확장
    • 새 포드를 만든다. 기존 포드에 추가되는 것이 아니다.
  • 축소
    • 기존 포드를 삭제한다.

멀티 컨테이너 팟

  • 기본적으로 하나의 팟은 하나의 컨테이너를 갖지만, 하나의 팟은 여러 컨테이너를 가질 수 있다.
  • 멀티팟 컨테이너의 경우 생명주기가 같다.
  • 같은 팟에 있는 컨테이너들은 동일한 네트워크를 공유한다.
  • 같은 팟에 있는 컨테이너들은 동일한 저장 공간을 쉽게 공유할 수 있다.
  • 멀티 컨테이너 팟 예시
    • 헬퍼 컨테이너의 경우

포드를 배포하는 방법

이제 kubectl.

  • POD를 생성하여 도커 컨테이너를 배포합니다.
  • $ kubectl run nginx --image nginx
  • Pod 목록을 가져오려면
  • $ kubectl get pods

21. Pods with YAML

yaml 작성

  • 최상위 수준 루트 수준 속성
    • apiVersion
      • 개체를 생성하는 사용하는 쿠버네티스 API 버전
    • kind
      • 오브젝트 종류 (POD, Service, ReplicaSet…)
    • metadata
      • name, lables
      • 딕셔너리구조.
    • spec
      • 만드려는 객체에 따라 추가 정보를 제공하는 곳
      • 딕셔너리구조.

22. Demo - PODs with YAML


23. Practice Tests Demo

https://uklabs.kodekloud.com/topic/practice-test-pods-2


24. 랩 액세스방법


25. Accessing the labs


26. Practice Test - Pods


27. Practice Test - Soultion (Optional)

 

 

댓글