푸잉이의 기술블로그

[Day20] Certified Kubernetes Administrator (CKA) with Practice Tests 본문

IT/Kubernetes

[Day20] Certified Kubernetes Administrator (CKA) with Practice Tests

data고수 2023. 1. 28. 04:26

234강 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로 설정하세요

 

 

 

 

 

Comments