2016-03-24 16 views
2

我是使用Google Cloud Container的Kubernetes的新手。我只要按照教程爲初級講座:kubectl run不會創建副本控制器

https://cloud.google.com/container-engine/docs/tutorials/http-balancer http://kubernetes.io/docs/hellonode/#create-your-pod

在這些教程中,我會得到replicacontroller我跑後的「kubectl運行」,但沒有replicacontrollers讓我不能運行的命令「kubectl公開rc」以打開一個端口。

這裏是我的命令的結果:

ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl run nginx --image=nginx --port=80 
deployment "nginx" created 

ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl expose rc nginx --target-port=80 --type=NodePort 
Error from server: replicationcontrollers "nginx" not found 

這裏是我的結果,當我運行 「kubectl得到RC,SVC入口,部署,莢」:

ChangMatthews-MacBook-Pro:frontend changmatthew$ kubectl get rc,svc,ingress,deployments,pods 
NAME     CLUSTER-IP EXTERNAL-IP PORT(S)   AGE 
kubernetes    10.3.240.1 <none>  443/TCP   12m 
NAME     RULE   BACKEND  ADDRESS   AGE 
basic-ingress   -   nginx:80  107.178.247.247 12m 
NAME     DESIRED  CURRENT  UP-TO-DATE  AVAILABLE AGE 
nginx     1   1    1     1   11m 
NAME     READY  STATUS  RESTARTS   AGE 
nginx-198147104-zgo7m 1/1   Running  0     11m 

我的一個解決方案是創建定義副本控制器的yaml文件。但有沒有什麼辦法像上面的教程一樣通過kubectl run命令創建複製控制器?

謝謝,

回答

1

該團隊可能仍在更新文檔以反映1.2。注意你得到的輸出:

kubectl運行現在創建一個deployemtn +副本集創建

$ kubectl運行nginx的--image = nginx的--port = 80
部署 「nginx的」。 要查看這些,你可以做kubectl獲取部署,並分別獲取rs。 部署實際上是執行滾動更新服務器端的更好方法,但還有一點。見文檔:http://kubernetes.io/docs/user-guide/deployments/

+0

謝謝您的幫助!我需要了解部署:)並且我發現MEAN堆棧的示例(http://kubernetes.io/docs/getting-started-guides/meanstack/)也在工作:) –

3

現在kubectl運行創建部署,您可以指定類型的部署,而不是複製控制器暴露:

kubectl expose deployment nginx --target-port=80 --type=NodePort 
+0

非常感謝!它爲我工作:) –