본문 바로가기

AWS - KOR

# 021) 가상머신으로 쿠버네티스 (Kubernetes) 설치 2

가상머신으로 쿠버네티스 설치 #1

 

#017 ) 가상머신으로 쿠버네티스 (Kubernetes) 설치

https://kubernetes.io/ Production-Grade Container Orchestration Production-Grade Container Orchestration kubernetes.io Oracle VM VirtualBox (클릭- 다운로드 웹) 가상머신을 이용 해 보겠습니다. 파일-..

cloudbim.tistory.com

쿠버네티스 설치2.txt
0.00MB

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) 에 업그레이드 작업을 위해 해당 명령어를 진행 해 줍니다.

 

마스터 노드에 이어 워커 노드들도 버전 업그레이드가 완료 되었습니다.