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.

We use 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.