Update the Deployment Parameters

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.
  • 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.
    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.
    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"
    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>
    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
  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.
    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
      .
    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/