Create Cluster on Azure
Before you can create a Kubernetes cluster on Azure resources, you must have created an Azure cloud provider.
Create Kubernetes Cluster
You must be an Platform9 administrator user to perform this operation.
Follow the steps given below to create a Kubernetes cluster on Azure using a cloud provider with valid credentials.
- Click Kubernetes > Infrastructure > Clusters > Add Cluster.
- Select the Cloud Provider.
- Enter the name for the cluster in Name.
- Select the Region for the cluster. A region is equivalent to a zone in Azure.
- Optionally, deselect Use All Availability Zones to select specific zones. Some Azure regions require this option to be selected in order to find compatible SKUs.
- Click Next.
- Select Master Node Instance Sku.
- Select Worker Node Instance Sku.
- Select Number of Master Nodes. Specify 3 or 5 as the number of Master Nodes for a multi-master cluster.
Note: Platform9 recommends that you deploy your production setup on a Multi Master cluster.
- Enter Number of Worker Nodes.
- Disable Workloads on Master Nodes check box is selected because Platform9 creates clusters wherein the master nodes are tainted to prevent workloads being scheduled on Master Nodes, by default. This is a recommended step to maintain the stability of the cluster.
- Click Next.
- Create New Network if you don't have any existing Virtual Network. At least 1 Subnet must be available to use exclusively for this cluster in the selected region (location). Select the subnet from the dropdown. If you want IPs of the Master and Worker Nodes to be public-facing, select the Assign Public IPs check box.
- 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 the cluster being inaccessible.
Field Description Public SSH Key Paste the public SSH key you wish to use should you need to access the VMs created in Azure. This is useful for debugging purposes. You must create a bastion host in order to reach the private IPs of the VMs, if you have not chosen to assign public IPs in the previous step. Privileged Select the check box to enable the cluster to run privileged containers. 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.
You can deploy your applications on the newly created Kubernetes cluster.