devops/kubernetes

kubernetes Hard Way 설치 <4>

Hoony.Song 2023. 5. 30. 10:39
반응형

etcd 클러스터 부트스트래핑

●여기부턴 두 컨트롤러노드에서 모두 실행

○ etcd 바이너리 다운로드 

wget -q --show-progress --https-only --timestamping \
  "https://github.com/etcd-io/etcd/releases/download/v3.4.15/etcd-v3.4.15-linux-amd64.tar.gz"

○ 다운받은 etcd 바이너리 설치 

{
  tar -xvf etcd-v3.4.15-linux-amd64.tar.gz
  sudo mv etcd-v3.4.15-linux-amd64/etcd* /usr/local/bin/
}

○ etcd 서버 구성 

{
  sudo mkdir -p /etc/etcd /var/lib/etcd
  sudo chmod 700 /var/lib/etcd
  sudo cp ca.pem kubernetes-key.pem kubernetes.pem /etc/etcd/
}

○ ㅇINTERNAL_IP 와 호스트네임 환경 변수 선언 (컨트롤러 VM IP를 얻어온다) 

INTERNAL_IP=$(ip addr show ens32 | grep -Po 'inet \K[\d.]+')
ETCD_NAME=$(hostname -s)

○ etcd 서비스 파일 생성 

cat <<EOF | sudo tee /etc/systemd/system/etcd.service
[Unit]
Description=etcd
Documentation=https://github.com/coreos

[Service]
Type=notify
ExecStart=/usr/local/bin/etcd \\
  --name ${ETCD_NAME} \\
  --cert-file=/etc/etcd/kubernetes.pem \\
  --key-file=/etc/etcd/kubernetes-key.pem \\
  --peer-cert-file=/etc/etcd/kubernetes.pem \\
  --peer-key-file=/etc/etcd/kubernetes-key.pem \\
  --trusted-ca-file=/etc/etcd/ca.pem \\
  --peer-trusted-ca-file=/etc/etcd/ca.pem \\
  --peer-client-cert-auth \\
  --client-cert-auth \\
  --initial-advertise-peer-urls https://${INTERNAL_IP}:2380 \\
  --listen-peer-urls https://${INTERNAL_IP}:2380 \\
  --listen-client-urls https://${INTERNAL_IP}:2379,https://127.0.0.1:2379 \\
  --advertise-client-urls https://${INTERNAL_IP}:2379 \\
  --initial-cluster-token etcd-cluster-0 \\
  --initial-cluster controller1=https://192.168.47.128:2380,controller2=https://192.168.47.129:2380 \\
  --initial-cluster-state new \\
  --data-dir=/var/lib/etcd
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

○ etcd 서버 시작

  {
  sudo systemctl daemon-reload
  sudo systemctl enable etcd
  sudo systemctl start etcd
}

○ etcd 동작 확인 

sudo ETCDCTL_API=3 etcdctl member list \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/etcd/ca.pem \
  --cert=/etc/etcd/kubernetes.pem \
  --key=/etc/etcd/kubernetes-key.pem

 

반응형

'devops > kubernetes' 카테고리의 다른 글

kubernetes Hard Way 설치 <6>  (0) 2023.05.30
kubernetes Hard Way 설치 <5>  (0) 2023.05.30
kubernetes Hard Way 설치 <3>  (0) 2023.05.30
kubernetes Hard Way 설치 <2>  (0) 2023.05.30
kubernetes Hard Way 설치 <1>  (0) 2023.05.30