Provision
Follow the instructions below if you wish to provision a centrally managed upstream Kubernetes cluster on your laptop/desktop using the prepackaged OVA image in your VMWare Workstation Player environment.
Step 1: Create Cluster¶
In this step, you will use the controller's web console to create a cluster object. This step will provide you with unique cluster activation secrets that will be used for provisioning.
- Login into the Console and to the project where you wish to provision the cluster
- Under Infrastructure > Clusters, click on “New Cluster" and create a new cluster
- Click "Continue"
Step 2: Cluster Environment¶
- Select "Data center/Edge" for Environment.
- Select "OVA/OVF" option for Package type
- Select "Upstream Kubernetes" for Kubernetes Distribution
- Provide a name for your cluster
- Click "Continue"
Note
The use of underscore is not allowed for the name of the cluster
Step 3: Configure Cluster¶
The wizard provides a number of "defaults" enabling the user to get started quickly. Optionally, override the defaults if you would like to optimize your cluster.
In the "Advanced" settings,
- For Storage, ensure GlusterFS is disabled
- Enable the "Approve nodes automatically” option
- Click "Continue" to create the cluster
NOTE: Node auto approval is useful as a security measure for multi-node, production type cluster environments. GlusterFS for storage is only required for distributed storage on multi-node clusters.
Step 4: Download Secrets¶
- Download the OVA image file
The controller will now provide you with cluster activation secrets that are unique to this cluster (i.e. cannot be reused elsewhere). We will use these secrets to authenticate ourselves to the controller during the cluster provisioning process.
- Download the activation secrets (i.e. Passphrase and Credentials files)
Step 5: Launch VM¶
- Use VMWare Workstation Player to launch the VM based on the downloaded OVA file. Illustrative step-by-step screenshots are shown below
Open VM¶
VM Resources¶
- Change the VM Settings to the required CPU and Memory as indicated here
Network Settings¶
Ensure you enable NAT for network settings. This is required to ensure that Kubernetes cluster can survive reboots and network changes.
Step 6: Installation¶
This step installs and registers a management agent on the OS and registers it with the controller. This management agent will establish a control channel with the controller to provide administrators with the ability to remotely debug, diagnose and repair issues.
Once the VM has been launched successfully, copy the "passphrase" and "Credential" files downloaded from above to the VM.
- Run the installation pre-flight check script copied from the web console's node installation instructions. The preflight check will ensure that the environment has been set up correctly to ensure any downstream errors during installation.
- Run the installation script copied from the web console's node installation instructions. The node will automatically connect and register with the Controller. We will continue rest of the process on the Web Console.
- On the web console you should see the approved node like the example shown below
Step 7: Configure Cluster¶
In the Web Console, in a few seconds, you will see that the node has been discovered and approved. Click on “Configure” and follow the wizard
Master Role¶
Ensure the Master role is checked. This will configure the node to act as a single node, converged (master + worker) Kubernetes cluster.
Storage¶
Available storage volumes are auto-detected and displayed. Select the correct volume from the dropdown (in this example, “/dev/sdb” with a capacity of 50GB)
Network Interface¶
The Controller will automatically detect and displays the available network interfaces. Select the correct interface from the dropdown
Ingress IP¶
This is an optional step. You will be prompted to configure the IP of the cluster node where you expect to receive incoming traffic. Workloads deployed on the managed cluster can be accessed on this IP.
- Look up the IP addresses assigned to the VM and copy/paste this here. This information is also available directly in the interface dropdown.
Step 5: Provision Cluster¶
Once everything is configured, click on “Provision”. This process can take ~10-15 minutes to complete. Progress and status updates will be displayed to the user during this process as the software components are configured in the VM.
An illustrative screenshot shown below.
Step 6: Validate Provisioning¶
Once the cluster is provisioned, verify the following in the Controller's web console.
Control Plane¶
This should show as Green and report status as HEALTHY. This means that the k8s cluster operating in the VM is in a healthy state.
Reachability Check¶
This should report status as SUCCESS. In addition, the “Last Check in Time” should be within a minute. This means that a heartbeat has been established between the Kubernetes cluster on the remote VM and the Controller. An illustrative screenshot of a “successfully” provisioned cluster in the Web Console is shown below.