1. VM 노드 생성
만들어 놓은 마스터 노드를 눌러 복제를 해 줍니다.
연결된 복제로 진행 해 줍니다.
똑같은 방식으로 worker2 가상머신도 생성 해 주고 마스터의 이름도 변경 해 줍니다.
워커들의 가상머신 사양은 마스터를 따르고 있으므로 메모리는 1024MB 로 줄여 줍니다.
CPU 개수도 1개로 줄여 줍니다.
2. 쿠버네티스 설치
192.168.56.105 master
192.168.56.106 worker1
192.168.56.107 worker2
각 가상머신의 IP 주소를 받고 따로 적어 둡니다.
hostnamectl set-hostname master
hostnamectl set-hostname worker1
hostnamectl set-hostname worker2
Mobaxterm 에 워커 노드들도 접속을 시켜 주고 호스트 네임 설정도 해 줍니다.
cat <<EOF >> /etc/hosts
192.168.56.105 master
192.168.56.106 worker1
192.168.56.107 worker2
EOF
ip 주소 명령어를 적용시키기 위해 마스터와 워커 노드들에 모두 실행 해 줍니다.
kubeadm init --apiserver-advertise-address=192.168.56.105 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
마스터 노드에 쿠버네티스 설치를 위한 명령어를 적용 해 줍니다. Api 이용위한 자격증명 처리를 해 줍니다.
다음과 같은 토큰 정보가 나오는데 이를 복사해서 각 워커 노드들에 적용시켜 줍니다.
kubectl 명령어로 노드들에 대한 기본 정보를 불러올 수 있습니다.
kubectl get pods --all-namespaces
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
exit
모든 네임스페이스를 확인해서 kubernetes 에 필요한 구성요소들이 잘 설치된것을 확인할 수 있습니다.
kubectl 의 자동 완성 명령어도 진행 해 줍니다.
기본 환경을 모두 성공적으로 완료하였으므로 다음 사용을 위해 각 노드들의 스냅샷을 찍어 마무리 합니다.
3. 클러스터 버전 업그레이드
yum list --showduplicates kubeadm --disableexcludes=kubernetes
yum install -y kubeadm-1.20.15-0 --disableexcludes=kubernetes
kubeadm version
kubeadm upgrade plan
kubeadm upgrade apply v1.20.15
yum install -y kubelet-1.20.15-0 kubectl-1.20.15-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
master 노드 ( 버전관리 - 1.20.15-0) 에 업그레이드 작업이 필요한 경우 해당 명령어를 진행 해 줍니다.
마스터 노드의 버전이 업그레이드 되었습니다.
yum install -y kubeadm-1.20.15-0 --disableexcludes=kubernetes
kubeadm upgrade node
kubectl drain worker1 --ignore-daemonsets --force #master노드 작업
kubectl drain worker2 --ignore-daemonsets --force #master노드 작업
yum install -y kubelet-1.20.15-0 kubectl-1.20.15-0 --disableexcludes=kubernetes
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon worker1 #master노드 작업
kubectl uncordon worker2 #master노드 작업
kubectl get node #master노드 작업
worker1,worker2 (버전관리 - 1.20.15-0) 에 업그레이드 작업을 위해 해당 명령어를 진행 해 줍니다.
마스터 노드에 이어 워커 노드들도 버전 업그레이드가 완료 되었습니다.
'AWS - KOR' 카테고리의 다른 글
# 023) AWS CodeBuild 사용하기 ( + S3 정적 웹사이트 ) (0) | 2022.08.24 |
---|---|
# 022) AWS CodeCommit 사용하기 ( + Cloud9 ) (0) | 2022.08.24 |
# 020) AWS EC2 ( + Tomcat 서버 ) CI/CD 기초 (0) | 2022.07.31 |
# 019 ) AWS EC2 ( + Jenkins 서버/ Maven ) CICD 기초 (0) | 2022.07.30 |
# 018 ) AWS ECR,EKS 쿠버네티스 (Kubernetes) 생성 (0) | 2022.07.29 |