- Functioning VMWare vSphere environment capable of running virtual machines (VMs) with the capacity described in "Minimum Recommended Resources" below.
- VMWare vSphere with capacity to support the minimum requirements for AppCenter.
- Linux or OSX(Darwin) client machine from which you can perform installation. Machine much have at least 100 GB disk space in /var.
- Fully qualified domain name (FQDN). For example: appcenter.example.com
This domain name is used to access AppCenter from the browser and is required to create certificates for TLS communication with the cluster. Make sure the domain name is resolvable by the infrastructure DNS service.
- Signed certificate for the FQDN. AppCenter requires signed certificates that need to be ordered ahead of time. If self-signed certificates are used, each user will be required to accept a warning from the browser at first login.This is a security requirement. Coordinate with your network security team for certificate configuration and standards for your environment.
For more information, see Generating a Signed Certificate.
- Network Attached Storage (NAS)
Linux-based NAS is required by Multi-Node cluster and is used for high availability and persistence. The minimum required size for NAS is 1500 GB.
The folder permissions on the server need to be: <LOCATION-OF-FOLDER-ON-NFS-SERVER> *(rw,sync,no_root_squash,no_all_squash)
- vSphere server name and admin credentials.
- [Optional] An adequate number of IP addresses, allocated in advance if you plan to use static IP addresses.
Minimum Required Resources
Nodes | vCPUs | RAM (GB) | Disk (GB) |
---|---|---|---|
Master-1 | 15 | 30 | 500 |
Master-2 | 15 | 30 | 500 |
Master-3 | 15 | 30 | 500 |
Worker-1 | 15 | 30 | 500 |
Worker-2 | 15 | 30 | 500 |
Worker-3 | 15 | 30 | 500 |
Total | 90 | 180 |
AppCenter requires 65 CPU and approximately 100 GB RAM maximum to operate in high-availability mode. The remaining resources are used for apps/scripts. If you run all your apps/scripts with 0.1 CPU and 500 MB memory, you can run approximately 160 apps/scripts. If you want to run more than 160 apps/scripts, you can provision the cluster with higher resources.
Cluster Configuration Variables
Variable | Variable Description and Command Example | Considerations |
---|---|---|
config: host_timezone controlplane_timezone |
Time zone used when AppCenter runs scheduled jobs. Example: host_timezone: "Asia/Tokyo" controlplane_timezone: "Asia/Tokyo" |
If you do not provide a time zone, AppCenter defaults to UTC. |
config: master_schedulable_enabled |
Enable master scheduling. Example: master_schedulable_enabled :true |
Required for AppCenter installation. Schedules pods on the master node. |
config: rook_enabled |
Example: rook_enabled: "false" | Set the variable to false to disable Rook. You must set the variable to false for vSphere installations. |
cpus |
Number of CPUs to be allocated to each node. | For more information, see Software Requirements. |
datacenter |
Name of the VMware data center in which the cluster will be created. Example: vagrant |
Virtual data center is a container for all inventory objects required for operating virtual machines (VMs). |
datastore |
Name of the datastore associated with the datacenter. Example: vgrnt_dsc/vgrnt03 |
Reserve 3 TB of space in a single datastore that is connected to all VMware hosts to ensure 500 GB can be dedicated to each AppCenter VM. |
default_node_pool: linked_clone: |
Used to specify if the nodes are to be linked clones. | For production, set linked_clone to false. For example:default_node_pool: linked_clone: false |
dns_servers |
Local DNS server to resolve domain queries on local network or customer network. | |
folder |
Name of the folder in which the VMs need to be deployed. Example: Discovered virtual machine/folder_name |
If not provided, the VMs will be created in the root location. |
memory |
Amount of memory to be allocated to each node. | For more information, see Software Requirements. |
node_pools: master: count: worker: count: |
Number of master and worker nodes you want to deploy in this environment. | Minimum recommended configuration is 3 masters and 3 workers. |
private_key_file |
Location of a private key. | Private key will be used to set up the SSH access for the cluster. If you do not have a private key, generate one using ssh-keygen. |
public_key_file |
Location of a public key. | The public key will be needed for AppCenter installation. If you don’t have a public key, generate one using ssh-keygen. |
resource_pool |
Name of the resource pool present in the datacenter. Example: vgrnt_01/Resources/vagrant01 If you do not have a resource pool, use <datacenter_name>/Resources as the value. |
You can use resource pools to hierarchically partition available CPU and memory resources of a standalone host or a cluster. |
root_vol_size |
Size of root volume for each node. | Minimum recommended configuration is 500 GB. |
template |
KubeOS template name. Example: <use the latest> |
If the template_name is under a particular folder, specify the full path. For example: <folder_name>/KubeOS template name |
time_servers |
Local network time server to synchronizing time over NTP. | |
vsphere_net |
Network with which the VMs need to be associated. Example: dvpg_vm_550 |
Networks provide a method of communication among virtual machines. Machines will be connected logically using this network so data can be sent and received among them. |