<쿠버네티스> Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists.

노설·2023년 8월 31일
0

쿠버네티스

목록 보기
4/5

보통 쿠버네티스를 설치하면 클러스터 구성을 하기 마련인데,,
이 과정에서 만나는 에러들은 정말 다양하고, 무수하다
그 중에서 구글링으로 쉽게 찾지 못한 에러를 해결하는데 생각지 못한 시간을 날렸다.
해당 게시물에서 안내하는 에러는 구글링을 해도 찾을 수 없던.. 에러였다...

쿠버네티스 클러스터 구성 과정은 간략하게 다음과 같다.

1. 도커, 쿠버네티스 설치, apt-get update의 굴레 설치 참고 블로그

2. swapoff -a

3. ca관련 패키지 다운로드, 쿠버네티스 gpg 소스 없데이트 (여기서도 구글클라우드가 apt-key.gpg와 우분투 20과의 호환성 문제때문에 조금 고생했으나 어떤 외국인게시물 덕분에 성공)

4. 마스터 노드에서만 설정해야할것

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address [내 마스터 노드 IP주소]

4-1 --pod-network-cidr 설정 중요! 나는 CNI(container network interface)로 flannel을 선택했다. Calico도 있으나 쿠버네티스에서 네트워크 유연하게 잘할 시간이 많다! 하는 사람을 추천하므로, 나는 빠른 구성을 원하고 특별하게 필요한 플러그인이 없었다.

4-2 kubeadm init을 한다음 Flannel 설치를 본격에 들어갔다. Flannel 설치

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
profile
IT업계에서 노설 이라는 이름이 보이면 그건 무조건 나.

0개의 댓글