지니데비 기록 자세히보기

데브옵스/Orchestration

[Kubernetes] 66. Design a Cluster

지니데비 2025. 1. 8. 14:25
728x90

 

클러스터 설계 전 확인사항

목적이 무엇인가 - edu/dev/test/prod

클라우드 타입이 무엇인가 - self/CSP

어떤 작업을 실행할 것인가

호스트 되는 응용프로그램이 몇 개인가

응용프로그램 종류는 무엇인가 - web/big data/analytics

앱 리소스 요구사항은 어떤가 - CPU/Memory

트래픽 유형은 어떠한가 - 지속적인 대용량 트래픽/불규칙적인 트래픽 폭발

 

HA 고가용성 클러스터 구축 --> 마스터노드 여러개, 마스터노드 앞에서 로드밸런서를 구성하여 트래픽을 분산해야 함

 

전체 마스터노드가 다운되는 것을 대비한 external ETCD topology 구축 --> external ETCD도 여러개(Quorum, N/2+1)로 구성(복제)

ETCD도 리더(RAFT로 정해짐)와 팔로워로 나뉘기 때문에 요청이 들어오면 쓰기는 무조건 리더가 하고, 팔로워들에게 복제하는 방식으로 진행됨

 

wget -q --http-only \
  "https://github.com/coreos/etcd/release/download/v3.3.9/etcd-v3.3.9-linux-amd64.tar.gz"

tar -xvf eetcd-v3.3.9-linux-amd64.tar.gz

mv etcd-v3.3.9-linux-amd64/etcd* /usr/local/bin/

mkdir -p /etc/etcd /var/lib/etcd

cp ca.pem kubernetes-key.pem kubernetes.pem /etc/etcd/


etcd.service
ExecStart= ...
...
--initial-cluster peer-1=https://${PEER1_IP}:2380,peer2=https://${PEER2_IP}:2380 \\
...

export ETCDCTL_API=3

etcdctl put name john # 저장
etcdctl get name # 검색
etcdctl get / --prefix --keys-only

 

728x90
반응형

'데브옵스 > Orchestration' 카테고리의 다른 글

[Kubernetes] 68. Troubleshooting  (0) 2025.01.08
[Kubernetes] 67. kubeadm  (0) 2025.01.08
[Kubernetes] 65. Ingress  (0) 2025.01.08
[Kubernetes] 64. DNS, CoreDNS  (0) 2025.01.08
[Kubernetes] 63. CNI weave  (0) 2025.01.08