2016-01-20 76 views
6

我們正在Google容器引擎上運行Jetty服務。這一項服務在帶有rc的吊艙中運行得很好。我們可以關閉它,重建它併爲它做所有事情,它仍然可以工作。Kubernetes:Docker pod啓動失敗,除了一個

現在我們想用一個運行其他東西的debian映像來擴展我們的基礎架構。 在本地,碼頭工作正常,我們可以訪問debian命令行。一旦我們嘗試在雲中運行Pod,我們就會遇到問題。

的,我們使用Dockerfile包含:與debian:最新 然後我們運行的下一個命令:

docker build -t eu.gcr.io/project_id/debstable:stable . 

gcloud docker push eu.gcr.io/project_id/debstable:stable 

kubectl run debstable --image=eu.gcr.io/project_id/debstable:stable 

吊艙接收CrashLoopBackOff狀態,並不斷重新啓動。日誌的 部分顯示此:

I0120 14:19:58.438979 3479 kubelet.go:2012] SyncLoop (ADD): "debstable-blvdi_default" 
I0120 14:19:58.478235 3479 manager.go:1707] Need to restart pod infra container for "debstable-blvdi_default" because it is not found 
I0120 14:20:00.025467 3479 server.go:944] GET /stats/default/debstable-blvdi/e2ab2ffc-bf80-11e5-a1d8-42010af001a5/debstable: (100.384µs) 404 [[Go 1.1 package http] 10.0.0.3:40650] 
I0120 14:20:05.017006 3479 server.go:944] GET /stats/default/debstable-blvdi/e2ab2ffc-bf80-11e5-a1d8-42010af001a5/debstable: (56.159µs) 404 [[Go 1.1 package http] 10.0.0.3:40694] 
I0120 14:20:10.015072 3479 server.go:944] GET /stats/default/debstable-blvdi/e2ab2ffc-bf80-11e5-a1d8-42010af001a5/debstable: (66.802µs) 404 [[Go 1.1 package http] 10.0.0.3:40708] 
I0120 14:20:15.017521 3479 server.go:944] GET /stats/default/debstable-blvdi/e2ab2ffc-bf80-11e5-a1d8-42010af001a5/debstable: (32.91µs) 404 [[Go 1.1 package http] 10.0.0.3:40566] 
I0120 14:20:18.530030 3479 manager.go:2022] Back-off 10s restarting failed container=debstable pod=debstable-blvdi_default 

泊塢窗信息顯示版本,這可能是相關的:

$ sudo docker info 
Containers: 24 
Images: 68 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 116 
Dirperm1 Supported: true 
Execution Driver: native-0.2 
Logging Driver: json-file 
Kernel Version: 3.16.0-0.bpo.4-amd64 
Operating System: Debian GNU/Linux 7 (wheezy) 
CPUs: 1 
Total Memory: 3.625 GiB 

WARNING: No swap limit support 

感謝和美好的一天

+2

kubectl run將創建一個rc + pod與您的圖像作爲一個容器。它不會猜測命令在容器中運行,因此,例如:類似於'kubectl run ubuntu --image = ubuntu:14.04'的東西將進入crashloop,因爲容器將保持退出狀態,但它有一個重新啓動策略,要求重新啓動。如果你有一個命令,你可以指定'kubectl run --image = foo -i cmd'。 –

回答

2

普拉香特B爲正確的!沒有命令會導致吊艙在crashloop中重新啓動。

感謝和美好的一天。