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.
- 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>
- 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>
Keepalived vip
is used for internal container registry HA. You must set it to an available virtual IP if defaultKeepalived vip
is not available.keepalived_vip: "192.168.1.101"
Note: If the default IP given in thevars.yaml
file is not available, you must use the available IP in 192.168.*.* subnet range.- 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 theharbor_registry_ip
parameter commented as it will pick up the first control plane IP asharbor_registry_ip
with the port 30001. - Set the following parameter storage_dir to a location that has been previously set as part of previous Kubernetes Cluster (CaaS) deployment.
- 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
- When using a local storage (Direct Attached Storage), set this to a location that has sufficient storage space for storing all application data.
- 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 releasesFor Example 2 : TCSA 2.3.1 -> TCSA 2.4 -> future releases #kubelet_storage_dir: /var/lib/kubelet
- Uncomment the following
- For storage related parameters, uncomment and set the following parameters to true.
### Storage related parameters ### use_external_storage: true install_vsphere_csi: true
- If using VMware vSAN or Block Storage, uncomment and update the following VMware vCenter parameters.
- Ensure that the VMware vSAN or Block Storage has minimum of 1.5 TB of storage space.
vcenter_ip:
IP address or the FQDN of the vCenter.vcenter_name:
Name of the vCenter as shown in the vSphere Console (after logging in to the vCenter using vSphere Console)- List of data centers that are part of your vSAN cluster.
vcenter_data_centers: - <DataCenter>
- Set
vcenter_insecure:
toTrue
if Self Signed Certificate is used.vcenter_insecure: true # True, if using self signed certificates
- To locate the datastore URL, go to your .
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 thevars.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/