我们有一个使用helm创建的应用程序。每次发布时,它都会创建一个带有发布名称的服务。如果服务不断变化,我们该如何处理?
ex:对于白切病(在kops下),我具有以下规则
- host: pluto.example.com
paths:
- path: /
backend:
serviceName: pluto-service
servicePort: 8080
使用不同的头盔版本,pluto-service将具有新名称。如何处理入侵?
答案 0 :(得分:1)
您还可以尝试在头盔升级命令中使用'--reuse-values'标志。这将重复使用上一发行版的值。
答案 1 :(得分:1)
入口也被掌舵了吗?
如果是这样,并且如果服务使用{{ .Release.Name }}-service
作为名称,则您也可以使用{{ .Release.Name }}-service
作为入口的服务名称。您还可以编写自己的tpl函数(并将其添加到_helpers.tpl
文件中)以确定服务名称。
如果没有,也许你应该...
答案 2 :(得分:0)
您可以掌舵创建服务,在该服务中您将不同的值传递给服务名称,很可能您现在使用发行版名称。例如,为您的应用程序创建头盔图,在其中将名称作为值传递:
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