Skip to main content

Create a Kubernetes Cluster

Limitations

info

Only users that have access to the corresponding project can perform operations with Kubernetes clusters. However, only the users who created the Kubernetes clusters with the assigned SSH ket can be added.

Prerequisites

info
  • The Kubernetes-as-a-service component is installed by a system administrator. It can be deployed along with the compute cluster or later.
  • You have a network that will interconnect the Kubernetes master and worker nodes. It can be either a shared physical network or a virtual network linked to a physical one via a virtual router. The virtual network needs to have a gateway and a DNS server specified.
  • An SSH key is added. It will be installed on both the master and worker nodes.
  • You have enough resources for all of the Kubernetes nodes, taking their flavors into account.

Create a Kubernetes Cluster

  1. Go to the "Kubernetes" page, and then click "Add New" button. A window will open where you can set your cluster parameters.
  2. In the "Cluster" section, select a Kubernetes version, enter a cluster name, and select an SSH key.
note

Do not remove SSH key assigned to the Kubernetes cluster. Otherwise, you will not be able to manage your cluster.

  1. In the "Network" section, select a network that will interconnect the Kubernetes nodes in the cluster. If you select a virtual network, decide whether you need access to your Kubernetes cluster via a elastic IP address:
  • If you select None, you will not have access to the Kubernetes API.
  • If you select for Kubernetes API, a elastic IP address will be assigned to the master node or the load balancer if the master node is highly available.
  1. In the "Master Node" section, if you enable high availability, three master node instances will be created. They will work in the Active/Active mode.

  2. In the "Virtual Machine Type", select a virtual machine settings.

note

Optionally, enable Integrated monitoring to automatically deploy the cluster-wide monitoring solution.

  1. In the "Container Volume" section, select a storage policy, and then enter a size for volumes on both master and worker nodes.
info
  • A "Kubernetes Container Volume" is a storage area attached to a container's file system, facilitating data sharing between one or more containers. It allows for data transfer, sharing, and meeting persistent data storage requirements between containers.
  1. In the "Worker Group" section, select a virtual machine type for each worker, and then decide whether you want to allow automatic scaling of the worker group:.

    • With Autoscaling enabled, the number of workers will be automatically increased if there are pods stuck in the pending state due to insufficient resources, and reduced if there are workers with no pods running on them. For scaling of the worker group, set its minimum and maximum size.

    • With Autoscaling disabled, the number of worker nodes that you set will be permanent.

note

With labels, you can specify supplementary parameters specific to certain Kubernetes clusters or associated with certain options. Labels are key/value pairs that are interpreted and validated by the drivers that use them.

  1. Click "Create a Kubernetes Cluster"

Update Kubernetes Clusters

When a new Kubernetes version becomes available, you can update your Kubernetes cluster to it. An update is non-disruptive for Kubernetes worker nodes, which means that these nodes are updated one by one, with the data availability unaffected. The Kubernetes API will be unavailable during an update unless high availability is enabled for the master node.

info
  • Remember that upgrading a Kubernetes cluster is a complex operation, and careful planning and testing are essential to mitigate risks and ensure a successful upgrade.

    • Ensure that your applications and dependencies are compatible with new Kubernetes version. There might be changes in default configurations, APIs, or behavior that could affect your workloads.
    • The upgrade process itself can disrupt the cluster's stability. Ensure you have a plan to minimize downtime or impact on running applications.
    • Upgrading the control plane (the master nodes) may temporarily affect cluster management operations.
    • Verify that your node pool configurations are compatible with new Kubernetes version. There might be changes in node requirements or configurations.
    • If you have custom add-ons or components running in your cluster, make sure they are compatible with the new version.
    • Check for compatibility with any third-party tools or services that you have integrated with your Kubernetes cluster.
    • Implement a backup and rollback strategy in case the upgrade encounters unexpected issues. This ensures you can revert to the previous state if necessary.
    • Ensure that your Kubernetes cluster has sufficient resources (CPU, memory, and storage) to handle the new version without performance degradation.
  1. Click a Kubernetes cluster that is marked with the Update Available tag.
  2. On the Kubernetes cluster window, click Update in the Kubernetes version field.
  3. In the Update window, select a Kubernetes version to update to and follow the provided link to read about API resources that are deprecated or obsoleted in the selected version. Then, click "Update".
  4. In the confirmation window, click "Confirm". The update process will start.
note

Do not manage Kubernetes Virtual Machines during the update as it may lead to disruption of the update process and cluster inoperability.

Kubernetes Access

  1. Download the "kubeconfig" file to your machine from the properties tab of your Kubernetes cluster. Specify the path to this file in the "KUBECONFIG" environment variable.

export KUBECONFIG=config

  1. Launch a proxy to your Kubernetes cluster.

kubectl proxy

  1. To get access to the Kubernetes Dashboard, visit this page select the "Kubeconfig" authentication method, and select the downloaded "kubeconfig" file.