노드업그레이드도 있고 마스터 업그레이드도 있는데 마스터 업그레이드가 가장 많이 나옴
Q. upgrade system: k8s-master
Given an existing kubernetes cluster running version 1.23.x,
upgrade all of the kubernetes control plane and node components on the master node only to version 1.24.x
Be sure to drain the master node before upgrading it and uncordon it after the upgrade.
: 1.22.4 로 쿠버 버전이 되어 있는데 1.23.3으로 변경할 것
*현재 나의 환경에서는 1.19.0 -> 1.23.3 으로 해보자
->단, 요즘 시험에서는 1.23.3 -> 1.24 로 하라고 한다.
* k8s 설치 툴
1단계: container engine(docker)
2단계: install -> update
-------------------------------------------
1) kubernetes 설치 툴: kubeadm
2) master, worker1, worker2 - kubelet, kubectl
3) systemctl start kubelet start
-------------------------------------------
3단계: kubeadm이용해서
4) Master: kubeadm init
APi, ETCD, Scehduler, Controller -> update
5) Worker: kubeadm join mater -> update
1. 확인 & 작업환경
ssh k8s-master
: k8s master 로 옮겨서 작업해야 한다.
: 나의 환경에서는 이미 master 인 controlplane 로 되어 있으니 이렇게 진행하는거로
2.Determine which version to upgrade to
: 업그레이드
: "apt-cache madison kubeadm" 이 명령어를 자세히 보면 버전이 1.24.1 까지 나와있는 것을 볼 수 있다.
apt update
apt-cache madison kubeadm
3.Call "kubeadm upgrade"
: 업그레이드할 버전을 입력한다.
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.24.x-00 && \
apt-mark hold kubeadm
4. 설치 확인
kubeadm version
5. Master component 업그레이드 확인
: 업그레이드시 업그레이드하는 버전도 입력할것
kubeadm upgrade plan v1.24.0
6. 업그레이드 진행
: 업그레이드할 버전을 입력한다.
kubeadm upgrade apply v1.24.0
7.Drain the node
: 마스터 노드에서 동작되는 pod 를 모두 삭제해라
*Template*
kubectl drain <node-to-drain> --ignore-daemonsets
k8s-mater # exit
k8s-mater $ exit
user@console $ kubectl drain k8s-master --ignore-daemonsets
user@console $ kubectl get nodes -> 노드가 disable 되어 있는지 확인
: 위의 설치는 k8s- master 에서 했지만 여기서는 k8s-master 가 아닌 console 에서 진행해야 한다 .
8. 접속
user@console $ ssh k8s-master
user@k8s-matster $ sudo -i
9.Upgrade kubelet and kubectl
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.24.0-00 kubectl=1.24.0-00 && \
apt-mark hold kubelet kubectl
10. service restart
: 서비스 재시작, 여기까지가 업그레이드 끝
sudo systemctl daemon-reload
sudo systemctl restart kubelet
11.Uncordon the node
: 끝
k8s-mater # exit
k8s-mater $ exit
user@console $ kubectl uncordon k8s-master
user@console $ kubectl get nodeskubectl get nodes
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
* 본 게시글은 "TTABAE-LEARN" 을 보고 정리한 내용입니다.
'cloud > k8s(문제풀이)' 카테고리의 다른 글
[따배쿠CKA] 24.Kubernetes Troubleshooting(2) (0) | 2022.08.17 |
---|---|
[따배쿠CKA]23. kubernetes Troubleshooting(1) (0) | 2022.08.16 |
[따배쿠CKA]21. Check Resource Information (0) | 2022.08.12 |
[따배쿠CKA]20. Persistent Volume Clame 을 사용하는 Pod 운영 (0) | 2022.08.12 |
[따배쿠 CKA] 19. Persistent volume 생성 (0) | 2022.08.12 |