关于 Kubernetes 的 Google 类(class)建议:
$ kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version.
Use kubectl run --generator=run-pod/v1 or kubectl create instead.
现在我正在尝试使用新语法:
$ kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
$ kubectl expose deployment/kubernetes-bootcamp --port=8080 type=NodePort
我确定它们不一样。谁能帮帮我?
啊
不重复:我问的是两个命令的等价性
最佳答案
您可以通过执行试运行并检查生成的 list 来了解这些命令的作用:
kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080 \
--dry-run -o yaml > kubectl-run.yaml
和
kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 \
--dry-run -o yaml >kubectl-create.yaml
两个 list 之间唯一的实质区别是没有 ports
kubectl-create.yaml
中的字段.
kubectl create deployment
命令没有用于指定容器的任何公开端口的选项,因此可能没有简单的方法来实现与 kubectl run
完全相同的输出。用kubectl create
命令。
kubectl expose
您正在使用的命令只会创建服务资源,不会修改部署资源。
一般来说,kubectl create <resource>
命令相当有限。它们主要用于创建仅具有默认设置的资源,或为带有 --dry-run -o yaml
的 list 创建基础然后您可以自定义。
关于kubernetes - 创建部署与运行部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092620/