티스토리 뷰
CLOUD/Kubernetes
에러해결 error execution phase certs/ca: failure while saving ca certificate and key: couldn't write key: unable to write private key to file /etc/kubernetes/pki/ca.key: open /etc/kubernetes/pki/ca.key: permission denied
헐리 2021. 9. 16. 14:46제목과 같은 에러를 해결한다.
쿠버네티스 document에 따르면 k8s는 TLS를 통한 인증을 위해서 PKI 인증서가 필요하다고 하다.
- 생성방법: kubeadm으로 쿠버네티스를 설치한다면, 클러스터에 필요한 인증서는 자동으로 생성된다.
- Location: k8s를 kubeadm으로 설치했다면 인증서는 /etc/kubernetes/pki에 저장된다
해당 문제의 원인
root권한이 아닌 일반user로 셋팅중인데,
write private key 파일을 /etc/kubernetes/pki/ca.key 파일에 write할 수 없다는 것을 봐서 etc 디렉토리에 대한 권한 문제인 것 같다.
vim /etc/kubernetes/pki/ca.key #파일을 생성 후 저장
chmod 777 /etc/kubernetes/pki/ca.key #권한변경
vim /etc/kubernetes/pki/ca.crt #파일을 생성 후 저장
chmod 777 /etc/kubernetes/pki/ca.crt #권한변경
이렇게 한다음에 다시 kubeadm init을하니
error execution phase certs/ca: failure loading ca certificate:
failed to load certificate: couldn't load the certificate file /etc/kubernetes/pki/ca.crt:
error reading /etc/kubernetes/pki/ca.crt:
data does not contain any valid RSA or ECDSA certificates
에러 메세지가 나왔다 (발전~? 흑흑)
파일이 비었다는 것이다. 어떻게하면 valid RSA 나 ECDSA certificates를 생성할 수 있을까
→ kubeadm 을 reset한다음에 sudo권한으로 재실행해서 해당 certificates를 복사해서 저장해놓은 다음 다시 sudo kubeadm reset을 하고, 그다음 일반user로 다시 kubeadm init을 해본다