[CKA] 5일차 - 클러스터 관리

os upgrade

5분 안에 업데이트 하면, scheduler가 살아있는 것으로 취급하는데,
node가 죽고 5분이 지나면, scheduler에서도 죽은 것으로 알게 됨

따라서 이런 경우에 아래의 명령어로 작업할 수 있음
다른 곳에 pod이 재생성됨

kubectl drain node-1 (pod 빼기; 스케줄링 불가능)
kubectl cordon node-2 (pod을 빼지는 않는데, 스케줄링은 불가능)
kubectl uncordon node-1 (스케줄링 다시 받을 수 있음)

clusr 업그레이드 프로세스

kube-apiserver = X(v1.10)
controller-manager = X-1 까지 가능(v1.9 or v1.10)
kube-scheduler = X-1까지 가능(v1.9 or v1.10)
kubelet = X-2(v1.8 ~ v1.10)
kube-proxy = X-2(v1.8 ~ v1.10)
kubectl = X-1, X, X+1 가능(v1.9 ~ v1.11)

아래의 명령어로 업데이트 할 수 있음

  • kubeadm upgrade plan
  • kubeadm upgrade apply

scratch로 설치하면 버전 업그레이드가 어려움

쿠버네티스 버전 업그레이드 과정

  1. Master 노드가 업그레이드 됨(해당 노드가 down되었을 때, worker 노드는 잘 동작함. scheduling은 불가능)
  2. Worker 노드가 업그레이드 됨

업그레이드 시에는 1 minor version씩 업그레이드 할 수 있음

  • 명령어
  • Master
  • apt-get upgrade -y kubeadm=1.12.0-00 kubeadm upgrade apply v1.12.0
  • Worker
    kubectl drain node-1
    apt-get upgrade -y kubeadm=1.12.0-00
    apt-get upgrade -y kubelet=1.12.0-00
    kubeadm upgrade node config --kubelet-version v1.12.0
    systemctl restart kubelet
    kubectl uncordon node-1

** 실제로 업데이트 할 때는 홈페이지 보고 하는 것이 매우 편함

댓글

Designed by JB FACTORY