Configuring the Virtual Machine for the Operations Management Node

This configuration is part of the configuration of the virtual machines in your Azure cloud infrastructure, which you will use for subsequent CloudBlue Commerce cloud deployment.

Note: This step is made after you deploy the AKS cluster and configure VNet peering between the IAAS and AKS VNets. If you use the ready-made ARM template to deploy your Azure cloud infrastructure, you can proceed with this step because at this point both the AKS cluster is already deployed and VNet peering is already configured.

To ensure the Operations management node's capability to reach services and pods from the Kubernetes cluster, configure a VPN tunnel service on your Operations management node:

  1. On the Operations management node:
    • Install Helm 3.5.4 (or later).

      Note: In the CloudBlue Commerce documentation, command options are provided for Helm 3. Helm 2 can also be used, but there may be differences in command options. If you already have Helm 2 installed, you can either migrate from it to Helm 3 or take into account differences in command options. For example, if a Helm 3 command cannot be performed due to such differences, you can find suitable Helm 2 command options.

    • Install kubectl.
    • Configure AKS credentials for kubectl.
  2. Check to make sure that you can manage the Kubernetes cluster using kubectl by executing this command:

    # kubectl get service kubernetes

    Example of a successful cmd return:

    ➜ ~ kubectl get service kubernetes
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 1d
  3. Connect AKS to CloudBlue Commerce.
  4. Deploy and configure OpenVPN.

To ensure the Operations management node's capability to resolve short domain names of services in the AKS cluster, configure a DHCP client on your Operations management node:

  1. Create /etc/dhcp/dhclient.conf:

    # vim /etc/dhcp/dhclient.conf
  2. Add these two lines to dhclient.conf:

    Important: Be careful with spaces in the domain-name clause below. Make sure you add the lines exactly as below.

    append domain-name " default.svc.cluster.local";
     
    prepend domain-name-servers <cluster_ip_of_kubernetes_dns_service>;

    where <cluster_ip_of_kubernetes_dns_service> is the ClusterIP of the kube-dns service from your AKS cluster.

  3. Save the file. Restart the Operations management node.
  4. To check how the name resolution works, run this command:

    # nslookup kubernetes