helm으로 관리하려는 2 개의 포트를 노출하는 kubernetes 서비스가 있습니다.
apiVersion: v1
kind: Service
metadata:
name: myproject-svc
spec:
type: ClusterIP
ports:
- name: myproject-web
port: 80
protocol: TCP
targetPort: 8181
- name: myproject-tcp
port: 61616
protocol: TCP
targetPort: 61616
selector:
app: myproject-dev
kubernetes-helm 템플릿을 만들었습니다.
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.project }}-svc
spec:
type: ClusterIP
ports:
- name: {{ .Values.project }}-web
port: {{ .Values.serviceweb.port }}
protocol: TCP
targetPort: {{ .Values.serviceweb.targetPort }}
- name: {{ .Values.project }}-tcp
port: {{ .Values.servicetcp.port }}
protocol: TCP
targetPort: {{ .Values.servicetcp.targetPort }}
selector:
app: {{ .Values.project }}-{{ .Values.environment }}
그리고 내 values.yaml
:
project: activemq
serviceweb:
type: ClusterIP
port: 8161
servicetcp:
type: ClusterIP
port: 61616
드라이 런 명령을 실행할 때가 .Values.service
정의되어 있지 않으면 helm이 만족스럽지 않은 것 같습니다 .
helm install --dry-run --set environment=dev --name myproject --debug myproject/;
Error: render error in "myproject/templates/NOTES.txt": template: myproject/templates/NOTES.txt:8:39: executing "myproject/templates/NOTES.txt" at <.Values.service.type>: can't evaluate field type in type interface {}
나는 .Values.service
또한 templates/tests/test-connection.yaml
. 이러한 파일에는 helm create
명령 을 사용하여 생성 된 후 원래 값이 포함 됩니다.
여러 포트가있는 서비스를위한 helm 템플릿을 만드는 우아한 방법이 있습니까?
NOTES.txt에서 추측하는 오류를 보면 유형을 .Values.service.type
. 이는 values.yaml에서 유형에 대한 루트 객체가 serviceweb
또는 servicetcp
입니다.
사용 사례에 따라 .Values.serviceweb.type
또는 .Values.servicetcp.type
사용 사례에 따라 줄을 바꾼 다음 시도 해야 할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다