kubernetes - 如何创建基于架构部署的k8s部署文件

标签 kubernetes kubernetes-deployment

我编写了如下部署文件,这给我带来了错误:未知字段“平台”。您知道要指定什么以便基于架构进行部署吗?

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.7.9
        ports:
        - containerPort: 80
        platform:
          architecture: amd64
          os: linux
      - name: nginx
        image: ppc64le/nginx:1.7.9
        ports:
        - containerPort: 80
        platform:
          architecture: ppc64le
          os: linux

最佳答案

您必须在部署规范中使用 nodeAffinity 定义。下面是我用来将任务固定到 amd64 或 arm 主机的示例:

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: beta.kubernetes.io/arch
            operator: In
            values:
            - amd64

您可以使用任意键和值。这是documented example

关于kubernetes - 如何创建基于架构部署的k8s部署文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50404503/

相关文章:

kubernetes - 如何获取在服务提供商 (GKE) 上运行 K8s 的 K8s `ca.crt` 和 `ca.key`

kubernetes - 如何添加外部 Helm 作为我 Helm 的一部分?

Kubernetes 创建部署意外 SchemaError

kubernetes - 部署部署后如何知道 Kubernetes 服务何时准备就绪?

amazon-web-services - 无法在AWS Kubernetes集群上设置JFrog Artifactory Pro(试用版)而无需反向代理('Repository Path' Docker访问方法)

kubernetes 服务负载均衡器自动更改协议(protocol)

kubernetes - 如何在 v3.2.1 中列出有关 helm 搜索 url 的完整 url

kubernetes - 何时何地使用Kubernetes Pod关联性规则

无资源请求/限制的 Kubernetes 部署

使用同一个代码库但配置不同(环境变量)的 kubernetes 多个部署