DKE/Kubernetes
Kubernetes 설치하기 (Ubuntu 20.04) / 2023.06.06
강원대목동녀
2023. 6. 6. 16:38
728x90
1. 모든 노드 (마스터 및 워커) 에서 아래 작업 수행
1-1. 각 노드에서 권한 변경
sudo su
1-2. 모든 노드에서 swap, 방화벽 비활성화
swapoff -a
sed -i '/swap/d' /etc/fstab
sudo ufw disable
1-3. 쿠버네티스 설치에 필요한 패키지들 추가
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
1-4. 쿠버네티스 패키지 설치
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
2. 마스터 노드에서 초기화 수행
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
초기화 완료시 kubeadm join 메시지가 뜨는데 기록해두기!!!!! 추후 워커 노드 조인할 때 필요
* 오류 (container runtime is not running)
[ERROR CRI]: container runtime is not running: output: time="2023-06-07T17:14:55+09:00" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
#명령어 차례대로 실행
apt remove containerd
apt update
apt install containerd.io
rm /etc/containerd/config.toml
systemctl restart containerd
3. 초기화가 완료된 후, 마스터노드에서 다음 명령어를 실행하여 Kubectl 구성 로드 (root에서도 수행)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
4. 워커 노드 추가 각 워커 노드 모두 수행
kubeadm join <마스터 노드 IP>:6443 --token <Token 값> --discovery-token-ca-cert-hash <Cert 해시값>
5. 마스터 노드에서 노드 검증
kubectl get nodes
6. Calico 설치
curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/calico.yaml -O
kubectl apply -f calico.yaml
7. 최종 확인
kubectl get nodes
kubectl get pods -A
728x90