带入口控制器的头盔

时间:2019-04-19 07:09:50

标签: kubernetes kubernetes-helm

我们有一个使用helm创建的应用程序。每次发布时,它都会创建一个带有发布名称的服务。如果服务不断变化,我们该如何处理?

ex:对于白切病(在kops下),我具有以下规则

- host: pluto.example.com
    paths:
      - path: /
        backend:
          serviceName: pluto-service
          servicePort: 8080

使用不同的头盔版本,pluto-service将具有新名称。如何处理入侵?

3 个答案:

答案 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