푸잉이의 기술블로그
[Day20] Certified Kubernetes Administrator (CKA) with Practice Tests 본문
[Day20] Certified Kubernetes Administrator (CKA) with Practice Tests
data고수 2023. 1. 28. 04:26234강 Design a Kubernetes cluster
<Nodes>
-가상 or 물리 머신
-최소 4개 node cluster (size based on workload)
-Master vs Worker nodes
-LINUX x86_64 Architecture
235강. Choosing Kubernetes Infrastrcutre
<Mnikube>
Deploys VMs
<Kubeadm>
-requires VMs to be ready
-Single/Multi Node cluster
Solutions
1. Turnkey solutions:VMs 프로비저닝, 구성, Cluster 배포하기 위해 스크립트 사용, VMs 유지, KOPS를 이용하여 aws
2. Hosted solutions(Managed solution): k8s 서비스, VMs 프로비저닝, k8s 설치 제공, 유지, google container engine
236강. Configure High Availability
Master node가 없다하더라도 worker노드는 작동하여 사용자는 실패할 떄까지 앱에 접속할 수 있음
-> replication controller x, scheduling x, apiserver x
-> 고가용성 방법 중, 2개의 master node 고려 방법:
양쪽에 같은 요청을 하면 안됨-> Loadbalancer를 추가하여 API 서버간의 트래픽을 분할
병렬로 실행되면 안되고, active/standby mode로 실행 되어야함
Controller manager 프로세스 구성 -> --leader-elect 옵션 지정 (Default = True)
Controller manager process가 시작되면 kube-controller-manager endpoint라는 이름의 endpoint 오브젝트에 lease나 lock을 얻음 (endpoint 업데이트 하는 쪽이 lease를 획득=> 활성화, 다른 쪽은 standby)
ETCD
<Stacked control plane nodes topology>
설정과 관리가 더 쉽고 노드도 적게 요구
node가 다운되면 etcd와 control plane 인스턴스는 둘다 분실되고 중복 손상
<외부 etcd topoloy>
etcd가 컨트롤 플레인 노드에서 분리되어 그 자체 서버 세트에서 실행 되는 것
실패한 controlplane이 etcd 클러스터와 저장된 데이터에 영향을 주지 않음
-Less Risky
-Harder to setup
-More servers
api 서비스 config옵션에서 etcd 서버 위치 지정하는 옵션 집함
-> 올바른 api 서버가 etcd 서버의 올바른 주소를 작성해야함
237강. ETCD in HA
ETCD
:KEY-VALUE STORE라 다른 파일에 영향 주지 않음
데이터 복잡하면 JASON, YAML 파일 사용
간단하고 안전하고 빠름
3개의 서버가 모두 실행 중이고, 하나를 잃어도 2개가 사용됨
모든 Node에서 읽고 쓸 수 있음
Leader Election -Raft
제일 먼저 답변 주면 리더가 됨
리더가 다운 되거나 네트워크가 다운 되면 node들끼리 주고 받음
Quorum = n/2 +1
ex) 인스턴스 1개의 quorum은 1-> 프로토콜 적용x, Node를 잃으면 모두 사라짐
Fault tolerance: 결함 허용 오차
최소 3개의 인스턴스를 갖도록 권장 (홀수)
etcdctl
export ecdctl_api =3로 설정하세요