首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes :在yaml部署中使用节点标签

Kubernetes :在yaml部署中使用节点标签
EN

Stack Overflow用户
提问于 2018-07-09 22:20:19
回答 2查看 765关注 0票数 1

关于kubernetes yaml文件,我有一个简短的问题:

可以使用节点标签作为变量,引用pvc中的节点标签值吗?

类似于:

代码语言:javascript
复制
  volumes:
    - name: data-storage
      persistentVolumeClaim:
        claimName: main-dev-pvc-${node.failure-domain.beta.kubernetes.io/zone}

有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-10 08:34:20

强制使用PV的想法是在特定区域中创建的吗?StorageClass可以帮助实现这一点。

自定义StorageClass:

代码语言:javascript
复制
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ssd-usc1a
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd
  zones: us-central1-a

引用自定义存储类的PVC:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: main-dev-pvc-ssd-usc1a
  namespace: dev-project
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: ssd-usc1a

假设与PVC使用相同的名称空间:

代码语言:javascript
复制
  volumes:
    - name: data-storage
      persistentVolumeClaim:
        claimName: main-dev-pvc-ssd-usc1a

Kubernetes将尝试在PV所在的同一区域中的节点上调度pod (在上面的示例中为us-cental1-a)。引用文档中的话:"...The scheduler (通过VolumeZonePredicate谓词)还将确保声明给定卷的pods仅放置在与该卷相同的区域中,因为卷不能跨区域附加“。因此,如果没有这样合适的节点,调度将失败。

票数 1
EN

Stack Overflow用户

发布于 2018-07-10 19:15:02

默认情况下,不能在Kubernetes yaml文件中使用变量。

但也有一些工具具有这样的功能,例如helm。也可以使用Ansible等自动化工具,按照一定的规则,通过一定的参数来创建Kubernetes资源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51247790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档