Connecting the CloudBlue Commerce Management Node to the Component Cluster

To establish communication between the CloudBlue Commerce Management Node and the Component Cluster:

  1. Setup the kubectl command line tool on your CloudBlue Commerce Management Node:

    Note: For Microsoft Azure Kubernetes Service cluster (AKS cluster), setup kubectl as described in the "Connect to the cluster" section of Microsoft AKS cluster deployment documentation.

    1. Install kubectl as described in the "Install kubectl binary using native package management" section of Install and Set Up kubectl.
    2. Configure kubectl. During the configuration process, copy $HOME/.kube/config from the Master node of the Component Cluster to a location with the same path on your CloudBlue Commerce Management Node.

    3. Verify connection to the Component Cluster using the following command, which will return a list of the cluster nodes:

      kubectl get nodes
  2. Set up Helm, a package manager for Kubernetes:
    1. Install Helm 3.5.4 (or later) on your CloudBlue Commerce Management Node.

      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.

    2. Make sure that Helm is configured with role-based access control (RBAC).
  3. Set up a connection between the CloudBlue Commerce Management Node and the Component Cluster service network:

    • For Microsoft Azure Kubernetes Service cluster (AKS cluster), set up OpenVPN between the CloudBlue Commerce Management Node and the AKS Cluster service network.
    • For an on-premise Kubernetes deployment, add a persistent route from your CloudBlue Commerce Management Node to the Kubernetes network:
      1. Locate the /etc/sysconfig/network-scripts/route-<nic> file on the management node,

        where:

        • <nic> is the name of the BackNet interface of your CloudBlue Commerce Management Node.
      2. Add the following line to the file:

        10.96.0.0/12 via <LINK8SMSTR_BackNet_IP> dev <MN_BackNet_NIC>

        where:

        • <LINK8SMSTR_BackNet_IP> is the BackNet IP address of the Kubernetes server;
        • <MN_BackNet_NIC> is the name of the BackNet NIC of the CloudBlue Commerce Management Node.

        For example:

        10.96.0.0/12 via 192.168.115.199 dev eth0

  4. Setup DNS:
    1. Add the Kubernetes DNS as the first nameserver of the CloudBlue Commerce Management Node:

      DNS=`kubectl get service kube-dns -n kube-system -o jsonpath='{.spec.clusterIP}'`
      sed -i "1s/^/nameserver $DNS\n/" /etc/resolv.conf
      
    2. Adjust the /etc/resolv.conf file:
      1. Make sure that there are no 'rotate' options defined in the /etc/resolv.conf file, because they can break communication between the management node and the Kubernetes nodes.
      2. Make sure that the Kubernetes internal domain default.svc.cluster.local is present in the search instructions in the /etc/resolv.conf file. For example:

        search default.svc.cluster.local
    3. If there are internal DNS servers in your CloudBlue Commerce infrastructure, register all the internal DNS servers as upstream NS in the Kubernetes DNS as described in Configure stub-domain and upstream DNS servers.

Related Topics