IstioControlPlane API: k8s.io.api.core.v1.ServiceSpec missing annotation

Hi Team,

I’m trying to create manifest file for my Istion setup using IstioControlPlane API. And for Gateway Ingress I’d like to use AWS Network Load balancer. For this I need pass annotation to Kubernetes Service. And and it seems that annotation filed is missing in ServiceSpec.

Am I missing something?

Sergii

Unfortunately it looks like we omitted Service annotations from KubernetesResourcesSpec. We’ll add that in 1.5 but in the meantime the easiest way to work around it is to edit the gateway service template in install/kubernetes/operator/charts/gateways/istio-ingress/templates/service.yaml with the annotation you need and then install istio with the modified charts by installPackagePath to them:

istioctl manifest generate --set installPackagePath=<tar root>/install/kubernetes/operator/charts/

(along with other --set params you’re using, or set installPackagePath in your install manifest file)

Hii @ostromart,

Thank you for update.

fyi. https://github.com/istio/api/blob/8af5bcd0f10cb1fc026dd1c1ed7fe4cc5b2dd792/operator/v1alpha1/component.proto#L152

Thank you! Noted. So far I’m using workaround with values:

values:
  gateways:
      istio-ingressgateway:
        serviceAnnotations:
          service.beta.kubernetes.io/aws-load-balancer-type: "nlb"