Study Memory Work
[K8S/CKA 자격증] Kubernetes 기본 구성 요소 본문
CKA(Cerified Kubernetes Administarator) 자격증
CKA 커리큘럼
k8s 아키텍쳐
Master 컴포넌트 구성
- API Server : core 역할. 인증/권한, 명령 전달, 정보 저장
- controller : 컨테이너 갯수를 보장. (watch)
- scheduler : 어디에 배치할 지를 결정하는 곳
- etcd : 전체 클러스터에 운영에 대한 정보를 저장하는 저장소. (key, value)
- CoreDNS : service정보를 담는 곳. (cluster IP(endpoint), Service name의 매핑정보를 가지고 있음)
Worker 컴포넌트 구성
- kubelet : k8s 데몬
- Engine :
- kube-proxy :
- CNI (Container Network Interface) : 컨테이너 간 통신을 지원하는 인터페이스.
kubelet
k8s를 설치하면 kubelet 데몬이 start 된다.(mater, worker node 모두).
kubelet 내부에는 cAdvisor가 포함되어 있다.
(cAdvisor : 현재 이 시스템이 가지고 있는 하드웨어 정보, 컨테이너 이미지 정보, 컨테이너 동작 정보 등을 수집하는 모니터링 툴)
Worker node내의 정보를 cAdvisor통해 kubelet이 수집을 한다. 수집한 정보는 master에 있는 api server에게 보내준다. api server는 전달받은 정보를 etcd에 저장.
service
여러 pod를 하나로 묶어 하나의 cluster로 만드는 것. 하나의 cluster ip로 service할 수 있도록 한다.(loadbalance)
kube proxy
kube proxy는 각각 NIC port를 리슨하고 있다. 사용자가 Port로 들어오면 service구조에 따라 알맞은 컨테이너로 연결시켜주는 역할.
k8s 동작 과정
1. console에서 명령을 실행
2. API Server가 사용자 권한 체크 및 인증하고, etcd에 있는 노드 정보를 꺼내 scheduler에 전달
3. scheduler에서는 전달받은 정보를 토대로 명령을 위한 노드를 판단하고 결과를 API Server에 전달
4. API Server는 scheduler의 결과를 etcd에 기록하고, 명령을 실행할 Node의 kubelet에 전달
5. worker node의 kubelet은 명령을 받으면 docker engine에 전달
6. docker engine은 hub에서 필요한 컨테이너들을 다운받고 컨테이너 이미지를 러닝시켜 하나의 pod로 동작할 수 있도록 한다. pod가 동작되면 CNI에 ip addr이 연결된다.
* kubelet이 start 되어있어야 k8s가 동작한다.
* 컨테이너 간 통신이 먹통이면 CNI를 보아야야 한다.
'Infra > Kubernetes' 카테고리의 다른 글
[K8S/CKA 자격증] API 인증 / rbac 인증 (문제O) (0) | 2023.01.13 |
---|---|
[K8S] The connection to the server localhost:8080 was refused - did you specify the right host or port? 해결방법 (0) | 2023.01.13 |
[K8S/CKA 자격증] Kubernetes Cluster upgrade (문제O) (0) | 2023.01.12 |
[K8S/CKA 자격증] ETCD Backup & Restore (문제O) (0) | 2023.01.12 |
[K8S/CKA 자격증] kubectl 명령어 기초 (0) | 2023.01.12 |