Kubernetes 带入口控制器的舵

Kubernetes 带入口控制器的舵,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我们有一个使用helm创建的应用程序。每次发布时,它都会创建一个包含发布名称的服务。如果服务不断变化,我们如何处理alb入口 例如:对于alb入口(根据kops),我有以下规则 - host: pluto.example.com paths: - path: / backend: serviceName: pluto-service servicePort: 8080 随着一个不同的头盔释放冥王星服务将有新的名称。如何

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

例如:对于alb入口(根据kops),我有以下规则

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

随着一个不同的头盔释放冥王星服务将有新的名称。如何处理入口?

您可以在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>
apiVersion:v1 种类:服务 元数据: 名称:{{.Values.nameOverride} 规格: 类型:节点端口 端口: -名称:http服务 目标港:5000 协议:TCP 港口:80 选择器: 应用程序:
在图表的values.yaml中,您可以指定服务的名称:
nameOverride:MyService

您可以在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>
apiVersion:v1 种类:服务 元数据: 名称:{{.Values.nameOverride} 规格: 类型:节点端口 端口: -名称:http服务 目标港:5000 协议:TCP 港口:80 选择器: 应用程序:
在图表的values.yaml中,您可以指定服务的名称:
namesoverride:MyService

您还可以尝试在helm upgrade命令中使用“--reuse values”标志。这将重用上一版本的值。

您还可以尝试在helm upgrade命令中使用“-reuse values”标志。这将重用上一版本的值。

是否也使用helm声明入口

如果是这样,并且如果服务使用
{{.Release.Name}-service
作为名称,您也可以使用
{{.Release.Name}-service
作为入口的服务名称。您还可以编写自己的tpl函数(并将其添加到
\u helpers.tpl
文件)以确定服务名称


如果没有,也许你应该…

入口也是用头盔宣布的吗

如果是这样,并且如果服务使用
{{.Release.Name}-service
作为名称,您也可以使用
{{.Release.Name}-service
作为入口的服务名称。您还可以编写自己的tpl函数(并将其添加到
\u helpers.tpl
文件)以确定服务名称


如果不是,也许您应该…

您是将应用程序的每个新版本作为单独的版本部署,还是升级现有版本?是将应用程序的每个新版本作为单独的版本部署,还是升级现有版本?