Kubernetes - kube-system
요약
Kubernetes 기초
Kubernetes 큰 주제 아래에서 세부 개념과 실습 절차를 연결하기 위한 노트입니다.
핵심 포인트
- Kubernetes 기초
- Kube-system 컴포넌트의 이해
- 큐브 API서버
- 큐브 컨트롤러 매니저
- 큐브 스케쥴러
지식 그래프
정리 내용
Kube-system 컴포넌트의 이해

큐브 API서버
- kubernetes System 컴포넌트는 오직 API서버와 통신
- 컴포넌트간 통신 x
- etcd와 통신하는 유일한 컴포넌트 API
- RESTful API를 통해서 클러스터 상태를 쿼리, 수정할 수 있는 기능 제공
- 구체적인 역할
- 인증 플러그인 - 클라이언트 인증
- 권한 승인 플러그인 - 클라이언트 인증
- 승인 제어 플러그인 - 요청 리소스 확인/수정
- 리소스 검증 및 영구 저
큐브 컨트롤러 매니저

큐브 스케쥴러
- 일반적으로 실행 할 노드를 직접 정해주지 않음
- 요청 받은 리소스를 어느 노드에서 실행할지 결정하는 역할
- 현재 노드의 상태를 점검하고 최상의 노드를 찾아 배치
- 다수의 포드를 배치하는 경우에는 라운드로빈을 사용하여 분산
kubernetes System컴포넌트 확인
kubectl get pod -n kube-system
yaml파일 저장 위치확
ls /etc/kubernetes/manifests/static pod
- kubelet이 직접 실행하는 포드
- 각각의 노드에서 kubelet에 의해 실행
- pod들을 삭제할 때, apiserver를 통해서 실행되지 않은 static pod는 삭제 불가
- 즉, 노드의 필요에 의해 사용하고자 하는 포드는 static pod로 셋팅
- 다음 명령들을 사용하여 실행하고자 하는 static pod의 위치를 설정 가능
- /etc/kubernetes/manifest/ 폴더 기본 경로
etcd 란
- etcd는 데이터베이스다!
- Key - value 데이터 셋 형식으로 구성
- 다중 Key - value 가능


- etcdctl 명령어가 필요 → 다운받아야함
wget https://github.com/etcd-io/etcd/releases/download/v3.5.6/etcd-v3.5.6-linux-amd64.tar.gz
tar -xf etcd-v3.5.6-linux-amd64.tar.gz
sudo ETCDCTL_API=3 ./etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key get / --prefix --keys-only간단한 key-value put & get
sudo ETCDCTL_API=3 ./etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key put key1 value1
sudo ETCDCTL_API=3 ./etcdctl --endpoints 127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key get key1출처
- 원문: https://www.notion.so/Kubernetes-kube-system-245172a556d680bd9eb1e03ec580c49c
- Vault path: wiki/notes/kubernetes/Kubernetes---kube-system.md