I have a TKG 2.1.1 (kubernetes version 1.24.10) cluster deployed in Azure in a private network that already has an internal load balancer provisioned (by the tanzu installer). When attempting to deploy the istio-ingressgateway, the service is stuck in pending.
Install command:
helm install -f values.yaml istio-ingressgateway istio/gateway -n istio-ingress --wait
values.yaml:
service:
type: LoadBalancer
ports:
- name: status-port
port: 15021
protocol: TCP
targetPort: 15021
- name: http2
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: 'true'
have also attempted to run an upgrade with alterations to the values file. Revision 2:
service:
type: LoadBalancer
ports:
- name: status-port
port: 15021
protocol: TCP
targetPort: 15021
- name: http2
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: 'true'
service.beta.kubernetes.io/azure-load-balancer-ipv4: <existing lb ip>
Revision 3:
service:
type: LoadBalancer
ports:
- name: status-port
port: 15021
protocol: TCP
targetPort: 15021
- name: http2
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: 'true'
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: app-pln-snet
Regardless of the values use the status returns:
helm status istio-ingressgateway -n istio-ingress
NAME: istio-ingressgateway
LAST DEPLOYED: Thu Jun 1 05:23:31 2023
NAMESPACE: istio-ingress
STATUS: failed
REVISION: 3
TEST SUITE: None
NOTES:
"istio-ingressgateway" successfully installed!
And the service looks like:
kubectl describe service istio-ingressgateway -n istio-ingress
Name: istio-ingressgateway
Namespace: istio-ingress
Labels: app=istio-ingressgateway
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=istio-ingressgateway
app.kubernetes.io/version=1.17.2
helm.sh/chart=gateway-1.17.2
istio=ingressgateway
Annotations: meta.helm.sh/release-name: istio-ingressgateway
meta.helm.sh/release-namespace: istio-ingress
service.beta.kubernetes.io/azure-load-balancer-internal: true
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: app-pln-snet
Selector: app=istio-ingressgateway,istio=ingressgateway
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 100.69.48.176
IPs: 100.69.48.176
Port: status-port 15021/TCP
TargetPort: 15021/TCP
NodePort: status-port 32090/TCP
Endpoints: 100.96.1.230:15021
Port: http2 80/TCP
TargetPort: 80/TCP
NodePort: http2 31815/TCP
Endpoints: 100.96.1.230:80
Port: https 443/TCP
TargetPort: 443/TCP
NodePort: https 30364/TCP
Endpoints: 100.96.1.230:443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
kubectl get service istio-ingressgateway -n istio-ingress -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
istio-ingressgateway LoadBalancer 100.69.48.176 <pending> 15021:32090/TCP,80:31815/TCP,443:30364/TCP 42m app=istio-ingressgateway,istio=ingressgateway
expectation is the the istio-ingressgateway would connect to the existing Azure internal lb and get the IP.