발생 내용
Kubernetes edit error가 문제의 원인이다.
기본 에디터 설정이 되어있지 않아 들여쓰기 등의 문법 적용이 안되었음.
해결 방법
1. 서버 기본 에디터 설정 (일시적인 해결 방법, 서버 재접속 시 다시 설정해야 함)
$ export EDITOR=[원하는 에디터]
2. 쿠버네티스 에디터 설정 (일시적 해결 방법, 서버 재접속 시 다시 설정해야 함)
$ export KUBE_EDITOR=[원하는 에디터]
# 또는 edit 할 때 마다 적용
$ KUBE_EDITOR="vim" kubectl edit ...
3. 서버 환경변수 설정 (~/.bashrc 또는 ~/.zshrc)
$ echo "export EDITOR=vim" >> ~/.bashrc
Kubernetes Documentation
Kubernetes 공식 문서 중 다음의 명령어를 통해 원하는 에디터를 사용할 수 있다고 한다.
$ KUBE_EDITOR="nano" kubectl edit svc/docker-registry
나도 위 처럼 적용하여 다시 적용해보았다.
$ KUBE_EDITOR="vim" kubectl edit deployment -n kube-system metrics-server
쿠버네티스 에디터 관련된 내용을 찾다보니 쿠버네티스는 에디터를 서버의 기본 에디터를 가져와서 사용한다고 한다.
현재 내 서버의 기본 에디터 설정이 궁금해 확인해보았는데 기본 에디터 설정이 되어있지 않았다.
$ env | grep -i 'editor'
따라서 현재 내 서버의 기본 에디터를 설정을 해주면 KUBE_EDITOR="vim"
을 굳이 넣어줄 이유가 없어지는 것이다.
# 서버 에디터 설정
$ export EDITOR=[원하는 에디터]
# 쿠버네티스 기본 에디터 설정
$ export KUBE_EDITOR=[원하는 에디터]
나는 서버가 재부팅 되더라도 에디터 설정이 계속 남아있길 바라기 때문에 아래와 같이 수정해주었다.
$ echo "export KUBE_EDITOR=vim" | tee -a ~/.bashrc