Helm 을 통해 삭제를 했는데, pvc 가 계속 삭제안되고 있다. 그래서 kubectl delete pvc 명령을 입력해도 삭제가 안된다 -_-$ kubectl get pvc | grep sample sample-decrypt Terminating haha.hoho.sample-decrypt.4b123674-tb2f-55ab-c03f-bdcb2a794e3 1Gi ROX rbd-hdd 8d... 해결방법정확한 이유는 모르겠지만, 아래와 같이 pvc 를 edit 하는 화면으로 넘어간후$ kubectl edit pvc 아래와 같은 내용이 있는지 확인후, 삭제한후 저장해준다...
kubernetes pod 를 구성하다보면 복잡한 쉘스크립트를 실행하는 컨테이너를 만들고 싶은 경우가 있다.하지만, 실행명령을 여러줄로 쪼개서 선언하는 패턴만 보여서 기냥 쉘스크립트를 configMap 에 넣고 볼륨마운트 하거나, 쉘스크립트를 볼륨에 넣어서 실행할까? 고민을 하는데 그렇게 하지 않고 바로 선언하는것도 가능하다. 구성예시가장 심플하게 alpine 이미지로 카운트 다운하는 쉘스크립트를 표현하고 싶다고 가정하겠다.apiVersion: v1kind: Podmetadata: name: sample-multiline-shellscriptspec: restartPolicy: OnFailure containers: - name: run image: alpine:latest ..
kubernetes 환경에서 최초 pod 를 구성할때 동작여부나 로그를 확인하기위해서 exec 명령을 이용해 POD 안에 들어가서 확인해야 하는 경우가 많다. 나 같은 경우는 airflow 의 pod_template 을 구성하고 그 안에서 하둡 연동을 하는데 잘 되는지 확인하기위한 용도로 1시간 정도 sleep 을 걸어두고 안에 들어가서 확인하는걸 종종했는데... 무한루프로 걸면 리소스를 점유하고 있을거라 1시간 정도로 짧게 잡았더니 Completed 되어있는데... 이걸 다시 실행시키고 다시 exe 명령으로 접근하고 싶은 상황이었다. POD 재실행 방법기본적으로 kubectl 명령에서 pod 를 재실행하는 명령어는 없다고 한다.다만, 아래와 같이 pod 의 yaml 을 출력해서 이걸 기반으로 다시 띄우..
kinit 을 통해서 커버로스 인증을 했고, hadoop 의 ls 명령으로 hdfs 파일 목록도 조회가 가능했는데...특이하게 kubernetes pod 안에서 beeline 을 통해 호출하면 다음과 같은 오류가 발생했다. 동일한 방법으로 물리서버에서 테스트하면 잘 되는데, kubernetes 환경에서 뜬 pod 안에서만 문제가 되는 상황이었다.$ beeline -u "jdbc:hive2://my-hadoop-002.com:10000/default;principal=hive/_HOST@MYHOME.COM" -e 'show databases'...24/04/30 10:52:52 [main]: ERROR transport.TSaslTransport: SASL negotiation failurejavax.se..
docker 에서 테스트할때는 이미지를 pull 하거나 실행될때 바로 화면에 상황이 출력되다보니 에러가 났을때 상대적으로 추적이 쉬웠던거 같다. 하지만 kubernetes 환경에서는 케이스별로 확인 방법이 다르다. ContainerCreating 일때 확인방법kubectl get pods 명령어로 ContainerCreateing 에서 Running 으로 넘어가지 않았을때는 log 확인이 안되다보니 좀 답답할때가 있다. 참고로 이 메시지에서 실패가 난다면 보통은 docker image 를 가져오는 로그인 정보가 잘못되었을 확률이 크다.$ kubectl get podsNAME READY STATUS RESTARTS ..
private docker registry 를 사용할 경우 로그인 정보를 넣어줘야한다. docker 라면 docker login 명령으로 해결이 가능하다. 그런데 쿠버네티스 환경에서는 어떻게 로그인 정보를 넣어야 하는지 기억이 안날때가 있다. $ docker login Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. Username: 아이디 Password: 암호 Login Succeeded! 해결방법 쿠버네티스에서는 시크릿에 로그인 정보를 등록해서 관리가 가능하다. pod 혹은 deployment 를 생성하고 로그인 정보가 없으면 ImagePullBackOff 가 나올수 있다. 이때는 아래와 같이 시크릿에 도커..