Deploying Ingress Controllers

Deploy two instances of the NGINX ingress controller:

  • The external instance:

    • Must use an external load balancer.

    • Will be used as an incoming APS proxy to provide external access to the APS REST API.

  • The internal instance:

    • Must use an internal load balancer.

    • Will be used to provide internal access to the CloudBlue Commerce control panels and the UIs of the monitoring and alerting solution.

      Note: You will need to set up a VPN connection between your company's network and the network of your CloudBlue Commerce installation in Azure.

To deploy those ingress controller instances, complete the following steps:

  1. Add the repository of the ingress controller:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. Install the external ingress controller instance:

    1. Prepare the external-ingress.values.yaml file:

      controller:
        replicaCount: 2
        config:
          enable-underscores-in-headers: "true"
        service:
          externalTrafficPolicy: Local
      rbac:
        create: true
    2. Start the installation:

      helm install ingress ingress-nginx/ingress-nginx -f external-ingress.values.yaml -n NAMESPACE_FOR_INFRASTRUCTURE_COMPONENTS

      In this command, NAMESPACE_FOR_INFRASTRUCTURE_COMPONENTS is the namespace where your infrastructure components are installed.

  3. Install the internal ingress controller instance:

    1. Prepare the internal-ingress.values.yaml file:

      controller:
        config:
          enable-underscores-in-headers: "true"
        ingressClassResource:
          controllerValue: k8s.io/ingress-nginx-internal
          name: nginx-internal
        service:
          externalTrafficPolicy: Local
          annotations:
            service.beta.kubernetes.io/azure-load-balancer-internal: "true"
      defaultBackend:
        enabled: true
      rbac:
        create: true
    2. Start the installation:

      helm install ingress-internal ingress-nginx/ingress-nginx -f internal-ingress.values.yaml -n NAMESPACE_FOR_INFRASTRUCTURE_COMPONENTS

      In this command, NAMESPACE_FOR_INFRASTRUCTURE_COMPONENTS is the namespace where your infrastructure components are installed.

Notes:

- To learn more about deploying ingress controllers, please refer to the Azure documentation.

- Deploying the internal instance of an ingress controller is optional but recommended.

CloudBlue, an Ingram Micro business, uses cookies to improve the usability of our site. By continuing to use this site and/or logging in you are accepting the use of these cookies. For more information, visit our Privacy Policy.