Sample Cluster Manager HA Configuration - VMware

The following is a sample HA configuration, which defines two HA nodes (Active and Standby) for VMware environments:

clusters <cluster_name> 
 
         # associating an existing vcenter environment 
         environment <vcenter_environment> #Example:laas 
 
         # General cluster configuration 
         configuration master-virtual-ip <keepalived_ipv4_address>  
         configuration master-virtual-ip-cidr <netmask_of_additional_master_virtual_ip> #Default is 32   
         configuration master-virtual-ip-interface <interface_name>  
         configuration additional-master-virtual-ip <ipv4_address>  
         configuration additional-master-virtual-ip-cidr <netmask_of_additional_master_virtual_ip> #Default is 32  
         configuration additional-master-virtual-ip-interface <interface_name> 
         configuration virtual-ip-vrrp-router-id <virtual_router_id> #To support multiple instances of VRRP in the same subnet 
         configuration pod-subnet <pod_subnet> #To avoid conflict with already existing subnets  
         configuration size <functional_test_ha/functional_test_aio/production>  
         configuration allow-insecure-registry <true> #To allow insecure registries 
 
        # istio and nginx ingress addons 
         addons ingress bind-ip-address <keepalived_ipv4_address>  
         addons istio enabled 
 
         # vsphere volume provider configuration 
         addons vsphere-volume-provider server <vcenter_server_ipv4_address>  
         addons vsphere-volume-provider server-port <vcenter_port> 
         addons vsphere-volume-provider allow-insecure <true> #To allow self signed certs  
         addons vsphere-volume-provider user <vcenter_username> 
         addons vsphere-volume-provider password <vcenter_password> 
         addons vsphere-volume-provider datacenter <vcenter_datacenter> 
         addons vsphere-volume-provider datastore <vcenter_nfs_storage> #Corresponding vcenter nfs storage 
         addons vsphere-volume-provider network <network_id> 
         addons vsphere-volume-provider folder <cluster_folder_containing_the_VMs> 
 
         # Openstack volume provider configuration 
         addons openstack-volume-provider username <username>  
         addons openstack-volume-provider password <password>  
         addons openstack-volume-provider auth-url <auth_url>  
         addons openstack-volume-provider tenant-id <tenant_id>  
         addons openstack-volume-provider domain-id <domain_id> 
 
         # initial-boot section of node-defaults for vmware 
         node-defaults initial-boot default-user <default_username>  
         node-defaults initial-boot default-user-ssh-public-key <public_ssh_key> 
         node-defaults initial-boot netplan template 

 
         # initial-boot section of node-defaults for VMs managed in Openstack 
         node-defaults initial-boot default-user <default_user> 
         node-defaults netplan template 
           #jinja2:variable_start_string:'__DO_NOT_ESCAPE__' , variable_end_string:'__DO_NOT_ESCAPE__' 
           # 
 
         #k8s related config of node-defaults 
         node-defaults k8s ssh-username <default_k8s_ssh_username>  
         node-defaults k8s ssh-connection-private-key 
                 -----BEGIN RSA PRIVATE KEY----- 
                 <SSH_Private_Key> 
                 -----END RSA PRIVATE KEY----- 
 
           # os related config of node-defaults 
           node-defaults os proxy https-proxy <https_proxy>  
           node-defaults os proxy no-proxy <no_proxy_info>  
           node-defaults os ntp servers <local_ntp_server> 
           exit 
 
           # node configuration of multinode cluster. vmware related info overrides the defaults provided in the environment 'laas' associated with the cluster 
 
      nodes node_name #For example, etcd1 
         k8s node-type etcd 
         k8s ssh-ip ipv4address 
         k8s node-ip ipv4address 
         vmware datastore datastore_name 
         vmware host host_name 
         vmware performance latency-sensitivity normal 
         vmware performance memory-reservation false 
         vmware performance cpu-reservation false 
         vmware sizing ram-mb ram_size_in_mb 
         vmware sizing cpus cpu_size 
         vmware sizing disk-root-gb disk_root_size_in_gb 
         vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, etcd2 
       k8s node-type etcd 
       k8s ssh-ip ipv4address 
       k8s node-ip ipv4address 
       vmware datastore datastore_name 
       vmware host host_name 
       vmware performance latency-sensitivity normal 
       vmware performance memory-reservation false 
       vmware performance cpu-reservation false 
       vmware sizing ram-mb ram_size_in_mb 
       vmware sizing cpus cpu_size 
       vmware sizing disk-root-gb disk_root_size_in_gb 
       vmware nics network_ID 
     exit 
   exit 
   nodes node_name #For example, etcd3 
       k8s node-type etcd 
       k8s ssh-ip ipv4address 
       k8s node-ip ipv4address 
       vmware datastore datastore_name 
       vmware host host_name 
       vmware performance latency-sensitivity normal 
       vmware performance memory-reservation false 
       vmware performance cpu-reservation false 
       vmware sizing ram-mb ram_size_in_mb 
       vmware sizing cpus cpu_size 
       vmware sizing disk-root-gb disk_root_size_in_gb 
       vmware nics network_ID 
     exit 
   exit 
   nodes node_name #For example, controlplane1 
       k8s node-type control-plane 
       k8s ssh-ip ipv4address 
       k8s node-ip ipv4address 
       vmware datastore datastore_name 
       vmware host host_name 
       vmware performance latency-sensitivity normal 
       vmware performance memory-reservation false 
       vmware performance cpu-reservation false 
       vmware sizing ram-mb ram_size_in_mb 
       vmware sizing cpus cpu_size 
       vmware sizing disk-root-gb disk_root_size_in_gb 
       vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, controlplane2 
      k8s node-type control-plane 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
    exit 
   nodes node_name #For example, controlplane3 
      k8s node-type control-plane 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, oam1 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, oam2 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, oam3 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, session-data1 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels #For example, smi.cisco.com/cdl-ep true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-1 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-2 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-1 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-2 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-3 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-4 true 
      exit 
      k8s node-labelsnode_labels/node_type #For example, smi.cisco.com/node-type db 
      exit 
      k8s node-labelsnode_labels/vm_type #For example, smi.cisco.com/vm-type session 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
    exit 
    nodes node_name #For example, session-data2 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels #For example, smi.cisco.com/cdl-ep true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-1 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-2 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-1 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-2 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-3 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-4 true 
      exit 
      k8s node-labelsnode_labels/node_type #For example, smi.cisco.com/node-type db 
      exit 
      k8s node-labelsnode_labels/vm_type #For example, smi.cisco.com/vm-type session 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
   nodes node_name #For example, session-data3 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels #For example, smi.cisco.com/cdl-ep true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-3 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-4 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-5 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-6 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-7 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-8 true 
      exit 
      k8s node-labelsnode_labels/node_type #For example, smi.cisco.com/node-type db 
      exit 
      k8s node-labelsnode_labels/vm_type #For example, smi.cisco.com/vm-type session 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
    exit 
    nodes node_name #For example, session-data4 
      k8s node-type worker 
      k8s ssh-ip ipv4address 
      k8s node-ip ipv4address 
      k8s node-labels node_labels #For example, smi.cisco.com/cdl-ep true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-3 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-index-4 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-5 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-6 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-7 true 
      exit 
      k8s node-labelsnode_labels #For example, smi.cisco.com/cdl-slot-8 true 
      exit 
      k8s node-labelsnode_labels/node_type #For example, smi.cisco.com/node-type db 
      exit 
      k8s node-labelsnode_labels/vm_type #For example, smi.cisco.com/vm-type session 
      exit 
      vmware datastore datastore_name 
      vmware host host_name 
      vmware performance latency-sensitivity normal 
      vmware performance memory-reservation false 
      vmware performance cpu-reservation false 
      vmware sizing ram-mb ram_size_in_mb 
      vmware sizing cpus cpu_size 
      vmware sizing disk-root-gb disk_root_size_in_gb 
      vmware nics network_ID 
      exit 
   exit 
exit 
           # Virtual IPs 
          virtual-ips <name> #Example: rxdiam 

            vrrp-interface <interface_name> 
            vrrp-router-id <router_id> 

            ipv4-addresses <ipv4_address> 
              mask <netmassk> 
              broadcast <broadcast_ipv4_address> 
              device <interface_name> 
            exit 
            # nodes associated with the virtual-ip 
            hosts <node_name> #Example: smi-cluster-core-protocol1 
              priority <priority_value> 
            exit 
            hosts <node_name> #Example: smi-cluster-core-protocol2 
              priority <priority_value> 
            exit 
          exit 
           # Secrets for product registry 
          secrets docker-registry <secret_name> 
            docker-server <server_name or docker_registry> 
            docker-username <username> 
            docker-password <password> 
            docker-email <email> 
            namespace <k8s_namespace> #Example: cee-voice 
          exit 
          ops-centers <app_name> <instance_name> #Example: cee data 
            repository <artifactory_url>  




            username <username> 
            password <password> 

            initial-boot-parameters use-volume-claims <true/false> #True to use persistent volumes and vice versa 
            initial-boot-parameters first-boot-password <password> #First boot password for product opscenter 
            initial-boot-parameters auto-deploy <true/false> #Auto deploys all the services of the product else deploys the opscenter only 
            initial-boot-parameters single-node <true/false> #True for single node and false for multi node deployments 
            initial-boot-parameters image-pull-secrets <docker_registry_secrets_name> 
            exit 
          exit