简体   繁体   中英

Azure ACS - How to create ingress controller with internal load balancer

I want to create ingress controller in my ACS cluster to access services.

Using helm I can achieve this (with below command), but the ingress controller is exposed to internet through External Load Balancer.

helm install stable/nginx-ingress 

All services in the cluster are internal and dont need to be exposed to internet. They will be accessed from applications running in same vnet.

How do I create a ingress controller that is not public but instead can be accessed through a Internal Load Balancer?

helm fetch stable/nginx-ingress to download the ingress helm chart. Unzip and go to the templates Directory. Edit the controller-service.yaml remove the condition and add the line service.beta.kubernetes.io/azure-load-balancer-internal: "true" it should now look like;

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
labels:

apply the local helm chart and you will get a ingress controller with a internal IP address. perform a kubectl get svc -n xxxxx (namespace you install the nginx-ingress controller into). It should eventually look something like this.

factual-bat-nginx-ingress-controller LoadBalancer 10.0.65.21 10.136.0.7

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM