我正在尝试创建一个kubernetes图表,该图表根据此处给出的示例创建一个nfs:
https://medium.com/platformer-blog/nfs-persistent-volumes-with-kubernetes-a-case-study-ce1ed6e2c266
与此相关的问题是,它要求我们创建一个服务,然后创建一个持久卷,该持久卷引用该服务的群集ip(直到部署了该服务我才知道。
我最初以为我可以以某种方式使用模板来调用kubectl来查询集群ip,但是据我所知,您不能在头盔模板中运行CLI吗?
如果是这种情况,我真的很难看到头盔的有用性,因为许多设置需要创建一个资源,然后从另一个资源中引用该资源的动态属性?我知道我可以通过将图表分成两部分来解决此问题,但是我对掌舵的理解是,图表应包含部署应用程序功能部分所需的所有内容?
这是我模板中的相关代码段:
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.prefix }}-{{ .Values.appName }}-nfs
spec:
ports:
- name: nfs
port: 2049
- name: mountd
port: 20048
- name: rpcbind
port: 111
selector:
role: {{ .Values.prefix }}-{{ .Values.appName }}-nfs
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: {{ .Values.prefix }}-{{ .Values.appName }}-nfs
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
server: << nfs.clusterip >>
path: "/"
注意:持久卷末尾的<< nfs.clusterip >>字段。