External IP for istio-ingressgateway in pending status
See original GitHub issue/kind bug
What steps did you take and what happened:
I have installed standalone kfserving on minikube. I am trying out InferenceService using Tensorflow with the flower sample. I can see that the services are running fine, but external IP in pending status. I am kind of new to istio and kfserving. I went through a couple of issues and troubleshooting guide. I couldn’t find a solution for this. Any document or reference is appreciated.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-ingressgateway LoadBalancer 10.103.199.41 <pending> 15021:31726/TCP,80:31658/TCP,443:32372/TCP,15443:30133/TCP 15h
$ kubectl get ksvc,configuration,revision,route
NAME URL LATESTCREATED LATESTREADY READY REASON
service.serving.knative.dev/flowers-sample-predictor-default http://flowers-sample-predictor-default.default.example.com flowers-sample-predictor-default-dg749 flowers-sample-predictor-default-dg749 True
NAME LATESTCREATED LATESTREADY READY REASON
configuration.serving.knative.dev/flowers-sample-predictor-default flowers-sample-predictor-default-dg749 flowers-sample-predictor-default-dg749 True
NAME CONFIG NAME K8S SERVICE NAME GENERATION READY REASON
revision.serving.knative.dev/flowers-sample-predictor-default-dg749 flowers-sample-predictor-default flowers-sample-predictor-default-dg749 1 True
NAME URL READY REASON
route.serving.knative.dev/flowers-sample-predictor-default http://flowers-sample-predictor-default.default.example.com True
$ kubectl get svc istio-ingressgateway -n istio-system -oyaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"istio-ingressgateway","install.operator.istio.io/owning-resource":"installed-state","install.operator.istio.io/owning-resource-namespace":"istio-system","istio":"ingressgateway","operator.istio.io/component":"IngressGateways","operator.istio.io/managed":"Reconcile","operator.istio.io/version":"1.6.7","release":"istio"},"name":"istio-ingressgateway","namespace":"istio-system"},"spec":{"ports":[{"name":"status-port","port":15021,"targetPort":15021},{"name":"http2","port":80,"targetPort":8080},{"name":"https","port":443,"targetPort":8443},{"name":"tls","port":15443,"targetPort":15443}],"selector":{"app":"istio-ingressgateway","istio":"ingressgateway"},"type":"LoadBalancer"}}
creationTimestamp: "2020-08-08T04:41:02Z"
labels:
app: istio-ingressgateway
install.operator.istio.io/owning-resource: installed-state
install.operator.istio.io/owning-resource-namespace: istio-system
istio: ingressgateway
operator.istio.io/component: IngressGateways
operator.istio.io/managed: Reconcile
operator.istio.io/version: 1.6.7
release: istio
name: istio-ingressgateway
namespace: istio-system
resourceVersion: "2085"
selfLink: /api/v1/namespaces/istio-system/services/istio-ingressgateway
uid: debd85d0-d8ae-4dda-a4f4-3a64b549852b
spec:
clusterIP: 10.103.199.41
externalTrafficPolicy: Cluster
ports:
- name: status-port
nodePort: 31726
port: 15021
protocol: TCP
targetPort: 15021
- name: http2
nodePort: 31658
port: 80
protocol: TCP
targetPort: 8080
- name: https
nodePort: 32372
port: 443
protocol: TCP
targetPort: 8443
- name: tls
nodePort: 30133
port: 15443
protocol: TCP
targetPort: 15443
selector:
app: istio-ingressgateway
istio: ingressgateway
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer: {}
Anything else you would like to add: After the installation Injection details are as follows. Inference service is deployed in default namespace.
kubectl get namespace -L istio-injection
NAME STATUS AGE ISTIO-INJECTION
cert-manager Active 15h
default Active 16h enabled
istio-system Active 15h disabled
kfserving-system Active 15h disabled
knative-serving Active 15h
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
kubernetes-dashboard Active 15h
Environment:
- Istio Version: 1.6.7
- Knative Version: v0.16.0
- KFServing Version: v0.4.0
- Kubeflow version: No kubeflow. Standalone installation of kfserving
- Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Minikube version: v1.12.2
- Kubernetes version: (use kubectl version): v1.17.9
- OS (e.g. from /etc/os-release): OS X
Issue Analytics
- State:
- Created 3 years ago
- Comments:6 (2 by maintainers)
Top Results From Across the Web
The external IP of istio ingress gateway stay pending
1. This could be caused by your Ingress being unable to connect to the LoadBalancer which depends on where your K8s cluster is...
Read more >Istio / Ingress Gateways
If the EXTERNAL-IP value is <none> (or perpetually <pending> ), your environment does not provide an external load balancer for the ingress gateway....
Read more >3.2 Setting up an Ingress Gateway
A ingress gateway allows you to manage access to services from outside the cluster. You can monitor and set route rules for the...
Read more >Why are the ibm-cloud-provider-ip pods for the Istio ingress ...
When you run kubectl get pod -n ibm-system , the ibm-cloud-provider-ip pod that provides the external IP address for your Istio ingress gateway...
Read more >Ingress and Istio Gateway Resource | HackerNoon
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) ....istio-ingressgateway LoadBalancer 10.107.249.46 <pending> ... The above output shows the Istio ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@ShilpaGopal you can check the istio ingress gateway doc https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control. Load balancer is usually provided by cloud and for minikube the best is to use nodePort.
@yuzisun I tried with node port, but it’s resulting in a connection refused.
I am not sure what I am missing here. Accessing via gateway results in a connection refused. But I tried port forwarding from the service. At least with that, I am able to access the service endpoint.
Kubectl port-forward service/flowers-sample-predictor-default-5b5nm-private 8000:80