보통 쿠버네티스를 설치하면 클러스터 구성을 하기 마련인데,,
이 과정에서 만나는 에러들은 정말 다양하고, 무수하다
그 중에서 구글링으로 쉽게 찾지 못한 에러를 해결하는데 생각지 못한 시간을 날렸다.
해당 게시물에서 안내하는 에러는 구글링을 해도 찾을 수 없던.. 에러였다...
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address [내 마스터 노드 IP주소]
--pod-network-cidr
설정 중요! 나는 CNI(container network interface)로 flannel
을 선택했다. Calico도 있으나 쿠버네티스에서 네트워크 유연하게 잘할 시간이 많다! 하는 사람을 추천하므로, 나는 빠른 구성을 원하고 특별하게 필요한 플러그인이 없었다.Git에 설명대로 순탄하게 설치를 하다 마침내,,
제목과 같이 나는 하기와 같은 오류를 flannel 설치과정에서 마주했다.
해당 에러는 flannel을 재설치하는 도중에 만날수있다.
생각보다 kubeadm reset 할일이 많다.
root@master:/# helm install flannel --set podCidr="10.244.0.0/16" --namespace kube-flannel flannel/flannel
Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: ServiceAccount "flannel" in namion error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": musflannel"
에러 문구를 잘 보면 rendered manifests contain a resource that already exists.
Unable to continue with install: ServiceAccount "flannel"
즉, ServiceAccount 에서 flannel을 지우자!
시간이 없어서 급하게 쿠버네티스에 뛰어들었기 때문에 이게머야 저게 머야 했지만,,,
root@master:/# k delete serviceaccount flannel -n kube-flannel
serviceaccount "flannel" deleted
지워주고 helm install flannel
를 실행하면 다시 에러를 마주한다.
root@master:/# helm install flannel --set podCidr="10.244.0.0/16" --namespace kube-flannel flannel/flannel
Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: ConfigMap "kube-flannel-cfg" inidation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name":ube-flannel"
이제는 configMap
에 있는 것을 지워주자!
root@master:/# k get configmap
NAME DATA AGE
kube-root-ca.crt 1 15h
root@master:/# k get configmap -n kube-flannel
NAME DATA AGE
kube-flannel-cfg 2 15h
kube-root-ca.crt 1 15h
root@master:/# k delete configmap kube-flannel-cfg -n kube-flannel
configmap "kube-flannel-cfg" deleted
지워주고 helm install flannel
를 실행하면 다시 에러를 마주한다.
이런식으로 몇번 반복하다보면 드디어 설치를 완료할수 있다.
root@master:/# helm install flannel --set podCidr="10.244.0.0/16" --namespace kube-flannel flannel/flannel
NAME: flannel
LAST DEPLOYED: Thu Aug 31 01:59:56 2023
NAMESPACE: kube-flannel
STATUS: deployed
REVISION: 1
TEST SUITE: None
각각 워커노드들한테 join
잘해주고 나서 확인하면 이쁘게 설치 완!
root@master:/# kubectl get all --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/nginx 1/1 Running 2 14h
kube-flannel pod/kube-flannel-ds-p4q6c 1/1 Running 0 5m5s
kube-flannel pod/kube-flannel-ds-pzwwf 1/1 Running 0 5m5s
kube-flannel pod/kube-flannel-ds-v77lc 1/1 Running 0 5m5s
kube-system pod/coredns-5d78c9869d-kxc66 1/1 Running 0 15h
kube-system pod/coredns-5d78c9869d-qtgft 1/1 Running 0 15h
kube-system pod/etcd-icns 1/1 Running 7 (15h ago) 15h
kube-system pod/kube-apiserver-icns 1/1 Running 3 (15h ago) 15h
kube-system pod/kube-controller-manager-icns 1/1 Running 3 (15h ago) 15h
kube-system pod/kube-proxy-9td8r 1/1 Running 2 15h
kube-system pod/kube-proxy-lvvz2 1/1 Running 1 (15h ago) 15h
kube-system pod/kube-proxy-sv66c 1/1 Running 3 15h
kube-system pod/kube-scheduler-icns 1/1 Running 3 (15h ago) 15h
root@master:/# k get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 17h v1.27.4
worker2 Ready worker 17h v1.27.4
worker1 Ready worker 17h v1.28.1