쿠버네티스에 배포한후 pods 상태가 이상하다.
$ kubectl apply -f deployment.yaml
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
oncall-api-79f79c5bdf-cltxk 0/1 CrashLoopBackOff 7 12m
다시 배포해도 동일한 문제가 발생한다.
문제를 해결할려면 kubectl describe와 kubectl log 커맨드를 사용한다.
$ kubectl describe pods
...
Port: 5000/TCP
Host Port: 0/TCP
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 139
Started: Tue, 11 Sep 2018 20:15:41 +0900
Finished: Tue, 11 Sep 2018 20:15:41 +0900
Ready: False
Restart Count: 7
Requests:
cpu: 500m
memory: 900Mi
Environment: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 15m default-scheduler Successfully assigned ...
Normal SuccessfulMountVolume 15m kubelet, ...
Normal Pulled 13m (x5 over 15m) kubelet, ....
Normal Created 13m (x5 over 15m) kubelet, ...
Normal Started 13m (x5 over 15m) kubelet, Started container
Warning BackOff 7s (x70 over 15m) kubelet, Back-off restarting failed container
그래도 안되면 역시 sleep이다. 다음처럼 적당히 자게 한다.
spec:
containers:
- name: xxxx
image: xxxxx
imagePullPolicy: Always
command: ['sh', '-c', 'echo 'xxx && sleep 6000']
아래와 같은 커맨드를 사용해 포드에 접속해서 문제를 확인한다.
$ kubectl exec -it --namespace prod {포드 이름} bash
'Cloud' 카테고리의 다른 글
[docker] [jenkins] BUILD_URL 설정이 안되면. 새로운 글로벌 변수를 정의한다. (0) | 2018.09.17 |
---|---|
jenkins-docker (master-slave) 구축할 때 유의사항 (0) | 2018.09.14 |
[kubernetes] yaml 설정 주의 사항 (삽질) (0) | 2018.09.11 |
[kubernetes] kubernetes-jenkins 연동 레시피 (0) | 2018.09.07 |
etcd 2.2.5 클러스터링 구축 및 추가하기 (0) | 2018.09.05 |