Configuring the vCenter Environment

To configure the vCenter environment, use the following configuration:

  1. Configure the vCenter environment with the required configuration parameters through the SMI Cluster Manager CLI. A sample configuration is shown below:

    environments laas 
       vcenter server vcenter_server_ipv4_address  
       vcenter port vcenter_port  
       vcenter allow-self-signed-cert true (to allow self signed certs) 
       vcenter user vcenter_username 
       vcenter password vcenter_password 
       vcenter datastore vcenter_host_datastore (the corresponding vcenter host datastore) 
       vcenter cluster vcenter_cluster (the vcenter cluster containing the above host) 
       vcenter datacenter-path datacenter_path 
       vcenter datacenter vcenter_datacenter 
       vcenter host vcenter_host_ipv4_address 
       vcenter nics network_ID 
       exit 
    exit 
    
    Important
    You can add each vCenter environment to one or more K8s Cluster configuration. For VMs managed in the OpenStack environment, you can use the following configuration:
    environments openstack 
       manual 
    exit 
    
  2. Configure the cluster essentials like node defaults which includes, initial boot, K8s, operating system NTP, and node configurations. In a multi-mode environment, a minimum of 3 control planes, 3 etcd, and 3 OAM (worker or product) nodes are required. The number of worker nodes and its type depends on the product that is being installed. For more information about the worker nodes and labels, see the relevant product documentation. The following example shows the cluster configuration which is not specific to any products.

    Note

    Based on the customer requirements, you can choose to either include or exclude the following cluster configurations:

    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 
    
Important
For clusters managed within the OpenStack environment, you can exclude the initial-boot section of node-defaults configuration parameters. Also, replace the K8s vSphere-volume-provider configuration with K8s openstack-volume-provider configuration.