Creating or Connecting Clusters
Kommander allows you to monitor and manage very large numbers of clusters and so we make it easy to either connect existing clusters or create new clusters whose lifecycle is managed by Konvoy.
Before you begin:
You need to have run
konvoy up with the Kommander addon deployed. You should be looking at the Kommander UI.
If you are creating a cluster with a cloud partner (Azure, AWS), you need to configure your infrastructure provider.
If you are planning on attaching more than one cluster, ensure you enter your valid license.
From the dashboard page or the clusters page, click Add Cluster and Create Konvoy Cluster.
Creating a Konvoy Cluster
- Creating Konvoy Clusters on AWS
- Creating Konvoy Clusters on Azure
- Creating Konvoy Clusters on your own infrastructure
Connecting an Existing Cluster
Using the Add Cluster option, you can attach an already existing cluster, even an existing Konvoy cluster, directly to Kommander. Enjoy all the multi-cluster management and monitoring benefits that Kommander provides while keeping your existing cluster on its current provider & infrastructure.
See Attach Cluster
Creating a Konvoy Cluster via YAML
Selecting the Upload YAML option allows you to use a config generated by the Konvoy CLI tool. An example config can be created in the file
cluster.yaml by running
konvoy init, or one is generated after running
konvoy up. Ensure the correct Cloud Provider credentials are selected and add any cluster labels that apply.
Adding Infrastructure Provider Tags
A tag is similar to a label and helps manage and track this cluster at the infrastructure provider level along with other provider resources. As providers support different amounts of tags, up to 10 tags may be added here as a baseline. You can add more directly through your infrastructure provider.
Adding/Removing Cluster Labels
Cluster labels are matched to the selectors created for projects. If a cluster is removed from a project, any resources deployed to the cluster from that Project are removed. If a cluster is added to a project any existing project resources are deployed to the cluster.
- Valid labels must have a key and a value, separated by a colon and a space. For example, “env: dev”. If you are creating the label through the UI, the space is automatically added when entering your values in the fields.
- Valid label keys and values must be alphanumeric and can contain “-”, “_”, or “.”
- Valid label keys and values must not start or end with “-”, “_”, or “.”
There are several types of clusters to be aware of in the Clusters tab.
- Attached: A cluster that was not created with Kommander. Attached clusters’ lifecycle cannot be managed.
- Managed: A Konvoy cluster that was created with Kommander. Managed clusters’ lifecycle can be managed.
- Management: The Konvoy cluster that hosts Kommander.
Upgrading Kubernetes version
You can upgrade Kubernetes version on a running cluster from the Cluster Detail page (Figure 2.) Select an available desired version from the Version dropdown and confirm your action in the confirmation dialog.
Figure 1: Figure 2:
Editing an Attached cluster
For an Attached cluster you can only edit labels that are assigned to it.
Editing a Managed cluster
For a Managed cluster you can edit its name, Kubernetes version, labels, cloud provider tags, and its node pools.
Editing a node pool
When editing a node pool, you can only increase the number of nodes in the pool. This is to prevent losing any workloads that are currently running on the cluster.
You can also add labels and taints to a node pool.
Editing labels and cloud provider tags
When editing labels, you can not delete the region or provider labels.
Disconnect vs Delete
When you attach a cluster to Kommander that was not created with Kommander, you may later disconnect it. This does not alter the running state of the cluster, but simply removes it from the Kommander UI.
For managed clusters created with Kommander, disconnecting the cluster is not an option, but it can be deleted. This completely removes the cluster and all of its cloud assets.
|Pending||This is the initial state when a cluster is created or connected.|
|Loading Data||The cluster has been added to Kommander and we are fetching details about the cluster. This is the status before
|Active||The cluster is connected to API server|
|Provisioning*||The cluster is being created on your cloud provider. This process can take a long time. To follow the progress of creation, click “View Logs” in the dropdown menu.|
|Joining||Cluster is being joined to the management cluster for federation.|
|Joined||The join process is done, we wait for the first bit of data from the cluster to arrive|
|Deleting||Cluster is being deleted. This process may a long time.|
|Error||There has been an error connecting to the cluster or retrieving data from the cluster.|
|Failed*||The cluster has failed to be provisioned. For more info on the failure, click “View Logs” in the dropdown menu.|
|Join Failed||This can happen when kubefed does not have permission to create entities in the target cluster.|
|Unjoining||Kubefed cleans up after itself, removing all installed resources on the target cluster.|
|Unjoined||The cluster has been disconnected from the management cluster.|
|Unjoin Failed||Unjoining from kubefed failed or some other error with deleting or disconnecting.|
|Deleting||The cluster and its resources are being removed from your cloud provider. Click “View Logs” in the dropdown menu to follow progress. This process may a long time.|
|Deleted||The cluster and its resources have been removed from your cloud provider.|
|Provisioned*||The cluster has been created on your cloud provider.|
* These statuses only happen on Managed clusters
Figure 1. A cluster card with resources
|CPU Requests||The portion of the allocatable CPU resource that the cluster is requesting to be allocated. Measured in number of cores (e.g.: .5 cores)|
|CPU Limits||The portion of the allocatable CPU resource that the cluster is limited to allocating. Measured in number of cores (e.g.: .5 cores)|
|CPU Usage||How much of the allocatable CPU resource that is being consumed. Cannot be higher than the configured CPU limit. Measured in number of cores (e.g.: .5 cores)|
|Memory Requests||The portion of the allocatable memory resource that the cluster is requesting to be allocated. Measured in bytes (e.g.: 64 GiB)|
|Memory Limits||The portion of the allocatable memory resource that the cluster is limited to allocating. Measured in bytes (e.g.: 64 GiB)|
|Memory Usage||How much of the allocatable memory resource that is being consumed. Cannot be higher than the configured memory limit. Measured in bytes (e.g.: 64 GiB)|
|Disk Requests||The portion of the allocatable ephemeral storage resource that the cluster is requesting to be allocated. Measured in bytes (e.g.: 64 GiB)|
|Disk Limits||The portion of the allocatable ephemeral storage resource that the cluster is limited to allocating. Measured in bytes (e.g.: 64 GiB)|
For more detailed information, see the Kubernetes documentation about resources.
Services that have been installed on your management cluster. You can visit a cluster’s detail page to see which platform services have been enabled under the “Addons” section.
Figure 2. Cluster detail page
A guide for attaching an existing Kubernetes cluster using kubeconfig…Read More
Creating Konvoy Clusters on AWS
A guide for creating Konvoy clusters on AWS…Read More
Creating Konvoy Clusters on Azure
A guide for creating Konvoy clusters on Azure…Read More
Creating Konvoy Clusters on Premises
A guide for creating Konvoy clusters on your own premises' infrastructure…Read More