进行 Kubernetes 部署相关操作时的语法差异

Posted

技术标签:

【中文标题】进行 Kubernetes 部署相关操作时的语法差异【英文标题】:difference in syntax when doing kuberentes deployments related operations 【发布时间】:2020-10-25 19:47:08 【问题描述】:

以下语法用法有什么区别:

kubectl 获取部署

kubectl 获取部署.apps

kubectl 获取 deployment.v1.apps

在讨论部署和升级时,文档中特别提到了 deployment.v1.apps 和 deployment.apps。 例如: 要查看部署部署状态,请运行 kubectl rollout status deployment.v1.apps/nginx-deployment

例如: 让我们更新 nginx Pod 以使用 nginx:1.16.1 映像而不是 nginx:1.14.2 映像。

kubectl --record deployment.apps/nginx-deployment 设置镜像 deployment.v1.apps/nginx-deployment nginx=nginx:1.16.1

【问题讨论】:

【参考方案1】:

没有区别。他们在examples 中向您展示了访问资源的不同方式。

这是对 app/v1 api 的引用,您可以在 example nginx deployment 中看到:

apiVersion:apps/v1

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

您可以使用像kubectl get deployments 这样的缩短方式,也可以使用您在问题中提供的更长的方式。

但是,很明显,您不能使用例如 app/v2

kubectl get deployment.v2.apps/nginx-deployment
error: the server doesn't have a resource type "deployment"

【讨论】:

以上是关于进行 Kubernetes 部署相关操作时的语法差异的主要内容,如果未能解决你的问题,请参考以下文章

请教kubernetes部署问题,pod一直处于pending状态

Kubernetes节点服务搭建————二进制部署|单master节点配置(master组件部署|node组件部署)

Kubernetes节点服务搭建————二进制部署|单master节点配置(master组件部署|node组件部署)

Kubernetes节点服务搭建————二进制部署|单master节点配置(master组件部署|node组件部署)

SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(工具部署)

Kubernetes部署_使用kubernetes部署Mysql主从结构(Kubernetes工作实践类)