Deploying UI Cluster in the Cloud Using Kubernetes
To deploy the UI Cluster in the cloud using Kubernetes:
- To execute the deployment procedure, prepare a node which satisfies the following requirements:
- Helm is installed.
- kubectl and Helm have access to the AKS node.
-
Register a new UI Cluster in Kubernetes.
Configuration with a Single Management Node
To do this, create a service in K8s by running the following commands on your node with Helm installed:
helm install helm/branding-ui-cluster --version 8.0.116 --name=<name> --set "ui.ossHost=<mn_ip_address>" --set "ui.ossAgentPswd=`echo -n '<scs_password>'|base64`" --set "ui.dbrHost=<db_replica_ip_address>" --set "ui.dbrPswd=`echo -n '<db_replica_password>'|base64`" --set "ui.dbrUser=oss" --set "hcl.user=hcl" --set "hcl.password=`echo -n '<random_password>'|base64`" --set "imageRegistryHost=odindevops-a8n-docker.jfrog.io" --set "ui.persistence.storageClass=azurefile" --set "hcl.persistence.storageClass=managed-premium" --set "ui.persistence.volumeSize=10Gi" --set "hcl.persistence.volumeSize=1Gi"
where:
nameis the Helm chart release name. For the production environment, the release name must bebranding-ui-clusterbecause the branding UI cluster is defined by this name in the Odin Automation distribution definition file and this name is expected by the upgrade script for automatic system updates.mn_ip_addressis the IP address of the OSS management node.scs_passwordis the password of thesystem_for_scsuser in Odin Automation for access to CORBA MN and EJB remote interfaces.db_replica_ip_addressis the IP address of the OSS DB replica (for the APS Booster to send read-only requests).db_replica_passwordis the password to the OSS DB replica.random_passwordis the password used for authentication on the HCL broadcasting node, which serves as a gateway for HCL commands directed to the K8s UI cluster.
Configuration with an Additional Management Node
To register a new UI Cluster for configuration with an additional MN, create a service in K8s by running the following commands on your node with Helm installed:
helm install helm/branding-ui-cluster --version 8.0.116 --name=<name> --set "ui.ossHost=<mn_ip_address>" --set "ui.ossAgentPswd=`echo -n '<scs_password>'|base64`" --set "ui.dbrHost=<db_replica_ip_address>" --set "ui.dbrPswd=`echo -n '<db_replica_password>'|base64`" --set "ui.dbrUser=oss" --set "hcl.user=hcl" --set "hcl.password=`echo -n '<random_password>'|base64`" --set "imageRegistryHost=odindevops-a8n-docker.jfrog.io" --set "ui.persistence.storageClass=azurefile" --set "hcl.persistence.storageClass=managed-premium" --set "ui.persistence.volumeSize=10Gi" --set "hcl.persistence.volumeSize=1Gi"
where:
nameis the Helm chart release name. For the production environment, the release name must bebranding-ui-clusterbecause the branding UI cluster is defined by this name in the Odin Automation distribution definition file and this name is expected by the upgrade script for automatic system updates.mn_ip_addressis the IP address of the OSS management node.mn-replica-ip_addressis the IP address of the additional OSS management node.scs_passwordis the password of thesystem_for_scsuser in Odin Automation for access to CORBA MN and EJB remote interfaces.db_replica_ip_addressis the IP address of the OSS DB replica (for the APS Booster to send read-only requests).db_replica_passwordis the password to the OSS DB replica.random_passwordis the password used for authentication on the HCL broadcasting node, which serves as a gateway for HCL commands directed to the K8s UI cluster.
-
Allow the connection from the UI node by adding the following line in the
/var/lib/pgsql/9.6/data/pg_hba.conffile on the OSS DB replica nodes:host all all <IP_address_of_UI_node>/32 md5
-
Register a virtual node in Odin Automation by calling the following OpenAPI method:
from poaupdater import openapi api = openapi.OpenAPI() host_id = api.pem.addK8sUICluster(hclHostname = "branding-ui-cluster-hcl", hclUser = "hcl", hclPassword = "<random-password-to-be-used-to-send-hcl>")
Important: The
branding-ui-clusterHelm chart cannot be reinstalled after adding thebranding-ui-cluster-hclhost. This would change the loadbalancer's IP address and make the brands on thebranding-ui-cluster-hclhost no longer accessible. -
If you use exclusive IP addresses for brands on your current installation and you want to preserve this configuration, perform these migration steps:
Extending a Single MN Configuration with an Additional MN
To extend a configuration with a single management node with an additional management node, perform the following actions.
Run the following command to upgrade the existing release:
helm upgrade <name> helm/branding-ui-cluster --version <version> --wait --set ui.ossReplicaHost=<mn-replica-ip_address>
where:
nameis the Helm chart release name. For the production environment, the release name must be branding-ui-cluster because the branding UI cluster is defined by this name in the distribution definition file and this name is expected by the upgrade script for automatic system updates.-
versionis a version of a chart that supports the configuration with an additional management node. This must be equal to or later than version 8.3.741.To output available chart versions, run this command:
helm search helm/branding-ui-cluster -l
mn-replica-ip_addressis the IP address of the additional OSS management node.
If a configuration with a single management node was deployed using a chart that supports the configuration with an additional management node, you can upgrade the current chart by specifying the same chart version with the extra option --recreate-pods.
Related topics: