我们有一个使用helm创建的应用程序。每次我们发布它都会创建一个带有发布名称的服务。如果服务不断变化,我们如何处理alb-ingress?
例如:对于alb ingress(在kops下)我有以下规则
- host: pluto.example.com
paths:
- path: /
backend:
serviceName: pluto-service
servicePort: 8080
随着不同的掌舵释放pluto服务将有新的名称。如何处理入口?
您还可以尝试在helm upgrade命令中使用'--reuse-values'标志。这将重用上次发布的值。
入口是否也被告知了?
如果是这样,并且如果服务使用{{ .Release.Name }}-service
作为名称,您还可以使用{{ .Release.Name }}-service
作为入口的服务名称。您也可以编写自己的tpl函数(并将其添加到_helpers.tpl
文件中)来确定服务名称。
如果没有,也许你应该......
您可以在helm中创建一个服务,在该服务中将不同的值传递给服务名称,很可能您现在使用的是版本名称。例如,为您的应用程序创建一个helm图表,您可以将该名称作为值传递:
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.nameOverride }}
spec:
type: NodePort
ports:
- name: http-service
targetPort: 5000
protocol: TCP
port: 80
selector:
app: <MyApp>
在图表的values.yaml中,您可以指定服务的名称:nameOverride: MyService