Creating Multi-master Kubernetes Cluster in Bare Metal Environment with Platform9 Clarity UI
Platform9 Managed Kubernetes supports creation of highly available, multi-master Kubernetes clusters in a bare metal environment, through the Platform9 Clarity UI.
A multi-master cluster must be composed of at least three master nodes.
Before you can create a multi-master cluster, you must ensure that
- the infrastructure network has been setup correctly. Refer to the article, HA for Bare metal multi-master Kubernetes Clusters, for further details.
- the nodes that are to be a part of the cluster have been added and authorized.
Follow the steps given below to create a highly available Kubernetes cluster for a bare metal environment, with Platform9 Clarity UI.
- Click Infrastructure>Clusters>Add Cluster.
- Select the Deploy cluster via agent install check box.
- Enter the name for the multi-master cluster in Name.
- Select at least three nodes that would function as master nodes.
- Select the Disable Workloads on Master Nodes check box, if you wish to disable deployment of workloads on master nodes. This is an optional, but recommended step.
- Click Next.
- Select the nodes that would function as worker nodes.
- Click Next.
- Enter the advanced configuration details, based on the table given below.
Warning: You must have an in-depth knowledge of the Kubernetes API to be able to correctly use the Advanced API configuration option. If the advanced APIs are inappropriately configured, it could lead to the cluster working incorrectly or being inaccessible.
Field Description Virtual IP address for cluster The IP address with which the user accesses the cluster or the high availability floating IP address Physical Interface for Virtual IP Association The physical interface with which the virtual IP gets associated Enable MetalLB Select the check box to enable Kubernetes service type loadbalancer support on the cluster with MetalLB. If you enable MetalLB, you must provide the address pool for the MetalLB load balancer. Address Pool Start Starting IP address for MetalLB load balancer address pool Address Pool End Ending IP address for MetalLB load balancer address pool API FQDN The FQDN (DNS Name) that is to be used to access the Kubernetes cluster API server from outside of the cluster Containers CIDR The IP range that Kubernetes uses to configure the Pods (Docker containers) deployed by Kubernetes Services CIDR The IP range that Kubernetes uses to configure services deployed by Kubernetes Privileged Select the check box to enable the cluster to run privileged containers. Note that being able to run privileged containers within the cluster is a prerequisite if you wish to enable service type loadbalancer using MetalLB. Advanced API Configuration Select the check box to configure the APIs to be used by the cluster. If you do not have adequate knowledge of Kubernetes APIs, it is recommended to avoid selecting this check box. When this check box is not selected, the GA and beta APIs (that is the stable APIs) for the currently installed Kubernetes version are enabled. Default API groups and versions This option is visible only if you select the Advanced API Configuration check box. Select the Default API groups and versions option to enable on the cluster, the default APIs based on the Kubernetes installation in your environment All API groups and versions This option is visible only if you select the Advanced API Configuration check box. Select All API groups and versions option to enable on the cluster, all alpha, beta, and GA versions of Kubernetes APIs that have been published till date. Custom API groups and versions This option is visible only if you select the Advanced API Configuration check box. Select Custom API groups and versions option to specify one or more API versions that you wish to enable and/or disable. Enter the API versions in the text area following the Custom API groups and versions option. For example, to enable Kubernetes v1 APIs, enter the expression,
api/v1=true. Similarly, to disable Kubernetes v2 APIs, enter the expression,
api/v2=false. If you want to enable and/or disable multiple versions, you could enter comma-separated expressions, such as,
- Select the Enable Application Catalog check box, if you want to deploy applications using the Kubernetes package manager, Helm, on the cluster. This is an optional step.
- Click Next.
- Review the cluster configuration, and then click Create Cluster.
The multi-master cluster is created in the bare metal environment.
You can deploy your applications on the highly available multi-master Kubernetes cluster.