전공공부
[K8S - CKA] K8S Controller Manager 본문
1. Contoller - Manager
정의 : Controller는 부서의 마스터 쉽 같은 존재
- 지속적인 상태 정보 감시
- 상황을 재조정 하기 위한 조치를 함
Monitoring
예시로 2가지 Controller를 보자.
1. Node Controller
- 노드 컨트롤러는 응용 프로그램이 적절한 처리를 하는지 5초마다 kube-apiserver를 통해서 각 pod, node를 감시한다.
- 그리고, 5초 마다 감시하지만 40초 이후에 그것이 정상이 아닌지 파악 할 수 있다.
- 그리고, POD의 Eviction 상태로 만드는 시간은 5m이다.
2. ReplicaSet Controller
- 레플리카 셋을 감시하고 해당 replica 갯수에 맞게 끔 검사함.
위와 같이 두가지의 경우 외에도 상당히 많은 컨트롤러가 설치가 되는데 이를 한 번에 관리하는 것이 Kube-Controller-Manager이다.
How To Install kube-controller-manager
wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-controller-manager
Kube-controller-manager.service
ExecStart=/usr/local/bin/kube-controller-manager \
--address=0.0.0.0 \
--cluster-cidr=10.200.0.0/16 \
--cluster-name=kubernetes \
--cluster-signing-cert-file=/var/lib/kubernetes/ca.pem \
--cluster-signing-key-file=/var/lib/kubernetes/ca-key.pem \
--kubeconfig=/var/lib/kubernetes/kube-controller-manager.kubeconfig \
--leader-elect=true \
--root-ca-file=/var/lib/kubernetes/ca.pem \
--service-account-private-key-file=/var/lib/kubernetes/service-account-key.pem \
--service-cluster-ip-range=10.32.0.0/24 \
--use-service-account-credentials=true \
--v=2
--node-monitor-period=5s
--node-monitor-grace-period=40s
--pod-eviction-timeout=5m
위 세가지 옵션은 아까 예시로 든 노드 모니터 시간 5초 노드가 정상 상태가 아닌 것을 인지하는 시간 40초 pod eviction 상태로 만드는 시간 5분을 의미한다.
여기서 초기 옵션을 변경을 할 수 있다.
그리고, Controller가 이상하다면 Kube-controller-manager.service 이것을 다시 확인하면 된다고 한다.
현재 실행중인 controller-manager의 option을 확인 하는 방법
ps -aux | grep kube-controller-manager
위 명령어를 실행 시 아래와 같이 뜸
root 1994 2.7 5.1 154360 105024 ? Ssl 06:45 1:25 kube-controller-manager --
address=127.0.0.1 --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt --cluster-signingkey-file=/etc/kubernetes/pki/ca.key
--controllers=*,bootstrapsigner,tokencleaner --
kubeconfig=/etc/kubernetes/controller-manager.conf --leader-elect=true --root-cafile=/etc/kubernetes/pki/ca.crt
--service-account-private-key-file=/etc/kubernetes/pki/sa.key
--use-service-account-credentials=true
'Study > K8S' 카테고리의 다른 글
[K8S - CKA] Relication Controller & ReplicaSet (0) | 2023.08.20 |
---|---|
[K8S - CKA] Kube Scheduler (0) | 2023.08.15 |
[K8S - CKA] kube-apiserver (0) | 2023.08.13 |
CKA 1차 강의 정리 (0) | 2023.08.13 |
[K8S - LAB - 02] 오답 노트 - CKAD (1) | 2023.06.03 |