关于kubernetes yaml文件,我有一个简短的问题:
我可以使用节点标签作为变量来引用pvc中的节点标签值吗?
类似的东西:
df = pd.DataFrame({'sec':[122,3,5,7,1,0]})
df['time'] = pd.to_datetime(df.sec, unit="s").dt.time
有可能吗?
答案 0 :(得分:1)
是否要强制使用在特定区域中创建的PV? StorageClass可以帮上忙。
自定义存储类:
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:
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的名称空间相同:
volumes:
- name: data-storage
persistentVolumeClaim:
claimName: main-dev-pvc-ssd-usc1a
Kubernetes将尝试将Pod调度在PV所在的同一区域中的节点上(在上面的示例中为us-central1-a)。来自文档的引用:“ ...调度程序(通过VolumeZonePredicate谓词)还将确保声明给定卷的Pod只放置在与该卷相同的区域中,因为不能跨区域附加卷”。因此,如果没有合适的节点,调度将失败。
答案 1 :(得分:0)
默认情况下,您不能在Kubernetes yaml文件中使用变量。
但是有些工具具有这种功能,例如helm。或者,您可以使用Ansible之类的自动化工具根据一些规则使用一些参数来创建Kubernetes资源。