Alvin
Alvin

Reputation: 8509

aks ingress address is empty

I created a service call portal, then I create ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: portal-ingress
spec:
  backend:
    serviceName: portal
    servicePort: 8080

but the address is empty:

NAME                     HOSTS     ADDRESS   PORTS     AGE
portal-ingress           *                   80        33m

Upvotes: 14

Views: 4321

Answers (2)

Giulio
Giulio

Reputation: 220

Ok, 3 years after and k8s apis changed, but, for the records, in my (today's) case this was due to not having installed the ingress controller as described the doc: https://learn.microsoft.com/en-us/azure/aks/ingress-basic?tabs=azure-cli

NAMESPACE=ingress-basic

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

helm install ingress-nginx ingress-nginx/ingress-nginx \
  --create-namespace \
  --namespace $NAMESPACE \
  --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz

Upvotes: 2

SijuMathew
SijuMathew

Reputation: 372

The address will remain empty in AKS ingress and that is not a problem. You can still use the external IP address of the ingress controller service as the IP.

    kubectl get svc -n <namespaceinwhichnginxcontrollerisdeployed> 
    For example:kubectl get svc -n nginx
NAME                                  TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                      AGE
nginx-nginx-ingress-controller        LoadBalancer   10.23.145.21   13.15.230.190   80:31108/TCP,443:31753/TCP  

You can access the ingress as http(s)://13.15.230.190/

I think there are probably ways to make the address be populated, but I did not have a need to make it populated. I hope that is not what you want but to use the exposed service.

Upvotes: 0

Related Questions