kubectl run不会创建replicacontroller

时间:2016-03-24 16:25:26

标签: docker google-cloud-platform kubernetes

我是Kubernetes的新手,而我正在使用Google Cloud Container。我只是按照以下教程进行操作:

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

在这些教程中,我运行了" kubectl run"后,我将获得replicacontroller。但是没有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,ingress,deployments,pods":

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

我的解决方案之一是创建定义replicacontroller的yaml文件。但有没有办法通过kubectl run命令创建replicacontroller,如上面的教程?

谢谢,

2 个答案:

答案 0 :(得分:3)

现在kubectl run创建了一个部署,您可以指定在部署而不是复制控制器中公开的类型:

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

答案 1 :(得分:1)

团队可能仍在更新文档以反映1.2。注意你得到的输出:

  

$ kubectl run nginx --image = nginx --port = 80
  部署“nginx”创建

kubectl run现在创建一个deployemtn + replica-set。 要查看这些,您可以进行kubectl获取部署,并分别获取rs。 部署本质上是执行滚动更新服务器端的更好方法,但还有更多内容。请参阅文档:http://kubernetes.io/docs/user-guide/deployments/