Update the deployment parameters in vars.yml file inside the Deployment Container by editing $HOME/k8s-installer/scripts/ansible/vars.yml file by referring the vars.yaml configuration in the initial configuration that is available in the base deployment.

Note:
  • The following are only examples. So you must set these values according to your environment.
  • You must save and secure the vars.yml file. We strongly recommend using a version control system such as git to keep track of your changes and for backup.
  1. Configure the general parameters.
    Note: Set the values according to your environment.
    cluster_name: <your-cluster-name> # Unique name for your cluster
    ansible_user: <your-SSH-username> # SSH username for the VMs
    ansible_become_password: <your-password> # SSH password for the VMs
    
    Update the parameter admin_public_keys_path with the path of public key generated during SSH key generation.
    admin_public_keys_path: /root/.ssh/id_rsa.pub # Path to the SSH public key. This will be a .pub file under $HOME/.ssh/
    Update the control_plane_ips and worker_node_ips as specified in the following format.
    Note: You must maintain the same order for control_plane_ips and worker_node_ips from the previous Kubernetes Cluster (CaaS) deployment.
    control_plane_ips: # The list of control plane IP addresses of your VMs.This should be 
    a YAML list.
      - <IP1>
      - <IP2>
    worker_node_ips: # The list of worker nodes IP addresses of your VMs.This should be a YAML list.
      - <IP3>
      - <IP4>
    
  2. Update the Deployment Host IP and the YUM server details.
    ## Deployment host IP address
    ## Make sure firewall is disabled in deployment host
    # The IP address of your deployment host
    deployment_host_ip:<your-deployment-host-ip> 
    ## default value is http. Use https for secure communication.
    yum_protocol: http
    # The IP address/hostname of your yum/package repository
    yum_server: <your-yum-server-ip>
    
  3. Keepalived vip is used for internal container registry HA. You must set it to an available virtual IP if default Keepalived vip is not available.
    keepalived_vip: "192.168.1.101"
    Note: If the default IP given in the vars.yaml file is not available, you must use the available IP in 192.168.*.* subnet range.
  4. For Harbor Container Registry, uncomment and update the harbor_registry_ip parameter with the selected static IP address.
    ### Harbor parameters ###
    ## The static IP address to be used for Harbor Container Registry
    ## This IP address must be in the same subnet as the VM IPs.
    harbor_registry_ip: <static-IPAddress>
    
    Note: It is recommended to use a static IP. If the static IP is not available, leave the harbor_registry_ip parameter commented as it will pick up the first control plane IP as harbor_registry_ip with the port 30001.
  5. Set the following parameter storage_dir to a location that has been previously set as part of previous Kubernetes Cluster (CaaS) deployment.
    1. When using a local storage (Direct Attached Storage), set this to a location that has sufficient storage space for storing all application data.
      #In case of upgrade, retain the same storage directory as used in previous Caas deployment.
      storage_dir: /mnt
    Note: Ensure that in the below example, the /mnt file system must have 250 GB for VMware vSAN or Block Storage based Deployment and 744 permission must be provided.

    For example: storage_dir: /mnt

  6. Depending on the upgrade path you choose to upgrade VMware Telco Cloud Service Assurance, you must follow any one of the following two steps.
    Note: Do not modify the path of kubelet_storage_dir.
    • Uncomment the following kubelet_storage_dir directory only during Kubernetes Cluster (CaaS) upgrade coming from 2.3.0 as shown in the following example path.
      For Example 1 : TCSA 2.3.0->TCSA 2.3.1 -> TCSA 2.4 -> future releases.
      kubelet_storage_dir: /var/lib/kubelet
    • The following kubelet_storage_dir should remain commented during Kubernetes Cluster (CaaS) upgrade coming directly from 2.3.1 to 2.4 or future releases
      For Example 2 : TCSA 2.3.1 -> TCSA 2.4 -> future releases
      #kubelet_storage_dir: /var/lib/kubelet
  7. For storage related parameters, uncomment and set the following parameters to true.
    ### Storage related parameters ###
    use_external_storage: true
    install_vsphere_csi: true
    
  8. If using VMware vSAN or Block Storage, uncomment and update the following VMware vCenter parameters.
    1. Ensure that the VMware vSAN or Block Storage has minimum of 1.5 TB of storage space.
    2. vcenter_ip: IP address or the FQDN of the vCenter.
    3. vcenter_name: Name of the vCenter as shown in the vSphere Console (after logging in to the vCenter using vSphere Console)
    4. List of data centers that are part of your vSAN cluster.
      vcenter_data_centers:
         - <DataCenter>
    5. Set vcenter_insecure: to True if Self Signed Certificate is used.
      vcenter_insecure: true # True, if using self signed certificates
    6. To locate the datastore URL, go to your vCenter > datastores > your vSAN datastore or Block Storage > Summary > URL. datastore_url: <your-datastore-url>.
    Note: If you do not want to provide the VMware vCenter password in the plain text format, you can comment the #vcenter_password:. During the Kubernetes cluster creation, VMware vCenter password will be prompted.
    ### vCenter parameters for using vSAN storage or Block Storage ### 
    vcenter_ip: <your-vCenter-IP>
    vcenter_name: <your-vCenter-name>
    vcenter_username: <your-vCenter-username>
    
    ## for a complex password i.e. passwords that allow special characters like '{' or '%', please define the password as "vcenter_password: !unsafe '<password>'" to avoid any templating error during execution
    ## for further details, please refer: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_advanced_syntax.html
    
    # vcenter_password:
    
    ## List of data centers that are part of your vSAN cluster 
    vcenter_data_centers:
      - <DataCenter>
    vcenter_insecure: true # True, if using self signed certificates 
    ## The datastore URL. To locate, go to your vCenter -> datastores -> your vSAN datastore or Block Storage -> Summary -> URL 
    datastore_url: <your-datastore-url>
    
    This is a sample snippet of the vars.yaml file:
    ### General parameters ###
    cluster_name: vmbased-upgrade-prod-vsan
    ansible_user: root
    ansible_become_password: dangerous
    admin_public_keys_path: /root/.ssh/id_rsa.pub
    control_plane_ips:
      - 10.220.143.240
      - 10.220.143.248
      - 10.220.143.221
    worker_node_ips:
      - 10.220.143.163
      - 10.220.143.245
      - 10.220.143.182
      - 10.220.143.113
      - 10.220.143.37
      - 10.220.143.203
      - 10.220.143.108
      - 10.220.143.132
      - 10.220.143.56
    ## Deployment host IP address
    ## Make sure firewall is disabled in deployment host
    deployment_host_ip: 10.1.1.1
    
    ## default value is http. Use https for secure communication.
    yum_protocol: http
    ## IP address/hostname of yum/package repo
    yum_server: 10.198.x.x
    
    #Keepalived vip used for internal container registry HA, set it to an available virtual IP if default vip is not available.
    keepalived_vip: "192.168.1.101"
    
    ### Harbor parameters ###
    ## (Optional) The IP address to be used for the Harbor container registry, if static IPs are available.
    ## This IP address must be in the same subnet as the VM IPs.
    harbor_registry_ip: 10.220.143.x
    
    ## When using local storage (Direct Attached Storage), set this to a location that has sufficient storage space for storing all application data
    #In case of upgrade, retain the same storage directory as used in previous Kubernetes Cluster (CaaS) deployment.
    storage_dir: /mnt
    
    #UnComment the below storage directory during upgrade only if you are coming from 2.3.0 to later versions.Please refer documentation for details and examples.
    #kubelet_storage_dir: /var/lib/kubelet
    
    ### Storage related parameters ###
    use_external_storage: true
    install_vsphere_csi: true
    
    ### vCenter parameters for using external storage (VMFS or vSAN datastores or Block Storage) ###
    vcenter_ip: 10.x.x.x
    vcenter_name: vcenter01.vmware.com
    vcenter_username: [email protected]
    
    ## for a complex password i.e. passwords that allow special characters like '{' or '%', please define the password as "vcenter_password: !unsafe '<password>'" to avoid any templating error during execution
    ## for further details, please refer: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_advanced_syntax.html
    
    vcenter_password: xxxxxxxxx
    ## List of data centers that are part of your cluster
    vcenter_data_centers:
      - wdc-12-25f28a-vc01
    vcenter_insecure: true
    ## The datastore URL. To locate, go to your vCenter -> datastores -> your datastore -> Summary -> URL
    ## Note: All VMs must be on the same datastore!
    datastore_url: ds:///vmfs/volumes/vsan:527e4e6193eacd65-602e106ffe383d68/