下面是一个 Deployment 示例,它创建了一个 ReplicaSet 来启动3个 nginx pod。
下载示例文件并执行命令:
$ kubectl create -f https://kubernetes.io/docs/user-guide/nginx-deployment.yaml --record
然后立即执行 get 将获得如下结果:
$ kubectl get deployments
输出结果表明我们希望的repalica数是3(根据deployment中的.spec.replicas配置)当前replica数( .status.replicas)是0, 最新的replica数(.status.updatedReplicas)是0,可用的replica数(.status.availableReplicas)是0。
过几秒后再执行get命令,将获得如下输出:
$ kubectl get deployments
$ kubectl get rs
$ kubectl get pods --show-labels
注意: 您必须在 Deployment 中的 selector 指定正确的 pod template label(在该示例中是 app = nginx),不要跟其他的 controller 的 selector 中指定的 pod template label 搞混了(包括 Deployment、Replica Set、Replication Controller 等)。Kubernetes 本身并不会阻止您任意指定 pod template label ,但是如果您真的这么做了,这些 controller 之间会相互冲突,并可能导致不正确的行为。