首页 > 解决方案 > 如何在 istio 运营商补丁中添加服务注释

问题描述

我正在使用istioctl以下配置文件安装 istio 1.6.0:

--
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: default
  components:
    egressGateways:
      - name: istio-egressgateway
        enabled: true
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          overlays:
          - kind: Service
            name: istio-ingressgateway
            patches:
            - path: spec.loadBalancerIP
              value: x.x.x.x
            - path: spec.externalTrafficPolicy
              value: Local
            - path: metadata.annotations.[service.beta.kubernetes.io/azure-load-balancer-resource-group]
              value: az-rg-group

这部分给了我一个错误:

- path: metadata.annotations.[service.beta.kubernetes.io/azure-load-balancer-resource-group]
  value: az-rg-group

错误:未能应用清单:操作过程中发生错误

注释的路径不正确。如何提供具有有效语法的注释路径?

遵循此示例代码:https ://github.com/istio/istio/blob/master/operator/samples/pilot-advanced-override.yaml

标签: kuberneteskubectlistio

解决方案


有一个用于服务注释的新字段。问题在这里提出https://github.com/istio/istio/issues/20078

请参考以下示例 ingressgateway_k8s_settings.yaml

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    pilot:
      enabled: false
    ingressGateways:
    - namespace: istio-system
      name: istio-ingressgateway
      enabled: true
      k8s:
        service:
          externalTrafficPolicy: Local
        serviceAnnotations:
          manifest-generate: "testserviceAnnotation"
        securityContext:
          sysctls:
          - name: "net.ipv4.ip_local_port_range"
            value: "80 65535"

推荐阅读