Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Managed Kubernetes has a group privilege called Create Kubernetes Clusters. The privilege must be enabled for a group so that the group members inherit this privilege through group privilege settings.
Once the privilege is granted, contract users can create, update, and delete Kubernetes clusters using Managed Kubernetes.
Prerequisite: Make sure you have one or more Groups in the User Manager. To create one, see Create a group.
To set user privileges to create Kubernetes clusters, follow these steps:
In the DCD, open Management > Users & Groups under Users.
Select the Groups tab in the User Manager window.
Select the target group name from the Groups list.
Select the Create Kubernetes Clusters checkbox in the Privileges tab.
Result: The Create Kubernetes Clusters privilege is granted to all the members in the selected group.
You can revoke a user's Create Kubernetes Clusters privilege by removing the user from all the groups that have this privilege enabled.
Warning: You can revoke a user from this privilege by disabling Create Kubernetes Clusters for every group the user belongs to. In this case, all the members in the respective groups would also be revoked from this privilege.
To revoke this privilege from a contract administrator, disable the administrator option on the user account. On performing this action, the contract administrator gets the role of a contract user and the privileges that were set up for the user before being an administrator will then be in effect.
Prerequisite: Only contract administrators, owners, and users with Create Kubernetes Clusters permission can create a cluster for Public and Private Node Pools. Other user types have read-only access.
You can create a cluster using the Kubernetes Manager in DCD for Public Node Pools.
Note:
A total of 500 node pools per cluster are supported.
It is not possible to switch the Node pool type from public to private and vice versa.
In the DCD, go to Containers > Managed Kubernetes.
Select + Create Cluster.
Enter a Name for the cluster.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select a Region from the drop-down list.
In the Node pool type field, choose Public from the drop-down list.
Click + Create Cluster.
Result: A cluster is successfully created and listed in the clusters list for Public Node Pools. The cluster can be modified and populated with node pools once its status is active.
You can create a cluster using the Kubernetes Manager in DCD for Private Node Pools. For this cluster, you have to provide a Gateway IP. It is the IP address assigned to the deployed Network Address Translation (NAT) Gateway. The IP address must be reserved in the Management > IP Management.
Note:
When defining a private node pool, you need to provide a data center in the same location as the cluster for which you create the node pool.
A total of 500 node pools per cluster are supported.
It is not possible to switch the Node pool type from private to public and vice versa.
To create a cluster for Private Node Pools in Kubernetes Manager, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select + Create Cluster.
Enter a Name for the cluster.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
In the Node pool type field, choose Private from the drop-down list.
Select a Region from the drop-down list.
Note: You can only create the cluster for Private Node Pools in the Virtual Data Centers (VDCs) in the same region as the cluster.
Select a reserved IP address from the drop-down list in Gateway IP. To do this, you need to reserve an IPv4 address assigned by IONOS Cloud. For more information, see Reserve an IPv4 Address.
(Optional) Define a Subnet for the private LAN. This has to be an address of a prefix length /16 in the Classless Inter-Domain Routing (CIDR) block.
Note:
The subnet value cannot intersect with the cluster's networks for pods and services. For clusters created with:
Kubernetes version 1.30 and above, the networks are 100.96.0.0/12
and 100.64.0.0/18
.
Older Kubernetes versions, the networks are 10.208.0.0/12
and 10.233.0.0/18
.
Once provisioned, the Region, Gateway IP, and Subnet values cannot be changed.
Click + Create Cluster.
Result: A cluster is successfully created and listed in the clusters list for Private Node Pools.
Note:
To access the Kubernetes API provided by the cluster, download the kubeconfig
file and use it with tools such as kubectl
.
The maintenance window starts at the time of your choosing and remains open for another four hours. All planned maintenance work will be performed within this window, however, not necessarily at the beginning.
You can update a cluster for Public and Private Node Pools with the Kubernetes Manager in .
To update a cluster, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster from the list and go to the Cluster Settings tab.
(Optional) Update the Cluster name, or you can continue with the existing cluster name.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Version number of Kubernetes you want to run on the cluster from the drop-down list.
Select a preferred Maintenance day for maintenance from the drop-down list.
Select a preferred Maintenance time (UTC) for your maintenance window from the menu. Necessary maintenance for Managed Kubernetes will be performed accordingly.
Click Update Cluster to save your changes.
Result: The cluster for your Public Node Pools is successfully updated.
To update a cluster, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster from the list and go to the Cluster Settings tab.
(Optional) Update the Cluster name, or you can continue with the existing cluster name.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select the Version number of Kubernetes you want to run on the cluster from the drop-down list.
Select a preferred Maintenance day for maintenance from the drop-down list.
Select a preferred Maintenance time (UTC) for your maintenance window from the menu. Necessary maintenance for Managed Kubernetes will be performed accordingly.
(Optional) Add a S3 Bucket to the Logging to S3 drop-down list to Enable logging to bucket. You can also disable logging to S3 for your Kubernetes cluster.
(Optional) Add the individual IP address or CIDRs that need access to the control plane in the Restrict Access by IP field using the + Add IP drop-down menu. Select Allow IP to control the access to the KubeAPI server of your cluster. Only requests from the defined IPs or networks are allowed.
Click Update Cluster to save your changes.
Note: Once provisioned, you cannot update the Subnet and Gateway IP values.
Result: The cluster for your Private Node Pools is successfully updated.
You can update Public and Private Node Pools with the Kubernetes Manager in .
To update a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select the number of nodes in the Node Count.
Select the checkbox to enable Autoscale and provide a minimum and maximum number of the total nodes.
Select + next to the Labels field. Provide a Name and Value for your label.
Select + next to the Annotations field. Provide a Name and Value for your annotation.
Select + next to the Reserved IPs field and choose an IP address from the drop-down list.
Select + next to the Attached private LANs field and choose a private LAN from the drop-down list.
Select the Maintenance day and Maintenance time (UTC) for your maintenance window. The necessary maintenance for Managed Kubernetes will be performed accordingly.
Select Update node pool.
Managed Kubernetes will start to align the resources in the target data center. In case you have selected a new version for Kubernetes, the operation may take a while, and the node pool will be available for further changes once it reaches the Active state.
Result: A node pool is successfully updated.
To update a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the Kubernetes Version you want to run in the cluster from the drop-down list.
Select the number of nodes in the Node Count.
Select the checkbox to enable Autoscale and provide a minimum and maximum number of the total nodes.
Select + next to the Labels field. Provide a Name and Value for your label.
Select + next to the Annotations field. Provide a Name and Value for your annotation.
Select + next to the Reserved IPs field and choose an IP address from the drop-down list.
Select + next to the Attached private LANs field and choose a private LAN from the drop-down list.
Select the Maintenance day and Maintenance time (UTC) for your maintenance window. The necessary maintenance for Managed Kubernetes will be performed accordingly.
Select Update node pool.
Managed Kubernetes will start to align the resources in the target data center. In case you have selected a new version for Kubernetes, the operation may take a while, and the node pool will be available for further changes once it reaches the Active state.
Result: A node pool is successfully updated.
Note:
Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
The maintenance window starts at the time of your choice and remains open for the next four hours. All planned maintenance work will be performed within this window, but not necessarily at the beginning.
You can delete a cluster for Public and Private Node Pools with the Kubernetes Manager in .
Prerequisites:
Make sure you have the appropriate permissions and access to the chosen cluster.
The chosen cluster should be active.
Delete all the existing node pools associated with the chosen cluster.
To delete a cluster for Public Node Pools, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster you want to delete from the clusters list.
Click Delete.
Confirm your action by clicking OK.
Result: The cluster is successfully deleted from your clusters list for Public Node Pools.
To delete a cluster for Private Node Pools, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
Select a cluster you want to delete from the clusters list.
Click Delete.
Confirm your action by clicking OK.
Result: The cluster is successfully deleted from your clusters list for Private Node Pools.
A kubeconfig
file is used to configure access to Kubernetes.
You can download the kubeconfig
file:
You can download the kubeconfig
file using configuration management tools such as , , and . Following are a few options to retrieve the kubeconfig
files.
Tool | Parameter Reference | Description |
---|
Note: If you do not want to use any tools like IonosCTL CLI, Ansible, or Terraform, you can retrieve the kubeconfig
file directly from the API using tools like cURL
or Wget
.
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster from the cluster list.
In the Cluster Settings tab, select either kubeconfig.yaml or kubeconfig.json from the drop-down list to download the kubeconfig
file.
Result: The kubeconfig
file is successfully downloaded.
You can download the kubeconfig
file:
To download the kubeconfig
file using Kubernetes Manager, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster from the cluster list.
In the Cluster Settings tab, select either kubeconfig.yaml or kubeconfig.json from the drop-down list to download the kubeconfig
file.
Result: The kubeconfig
file is successfully downloaded.
Note: Only administrators can retrieve the kubeconfig
file without a node pool. All other users need to create a node pool first.
Prerequisite: Only contract owners, administrators, and users having Create Kubernetes Clusters permission can create node pools. Other user types have read-only access.
You can create a cluster using the Kubernetes Manager in for Public Node Pools.
In the DCD, go to Containers > Managed Kubernetes.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select + Create node pool.
In Create Kubernetes node pool, configure your node pools.
In Pool Settings, provide the following information:
Pool Name: Enter a name that aligns with the Kubernetes naming convention.
Data Center: Select an option from the drop-down list. Your node pool will be included in the selected data center. If you do not have a data center, you must first create one.
Node pool version: Select an appropriate version from the drop-down list.
Node count: Select the number of nodes in the node count.
Autoscale: Select the checkbox to enable autoscale and provide a minimum and maximum number of the total nodes.
Attached private LANs: Select + and choose a private LAN from the drop-down list.
Reserved IPs: Select + and choose a reserved IP address from the drop-down list.
In the Node Pool Template, provide the following information:
CPU: Select an option from the drop-down list.
Cores: Select the number of cores.
RAM: Select the size of your RAM.
Availability Zone: Select a zone from the drop-down list.
Storage Type: Select a type of storage from the drop-down list.
Storage Size: Select the storage size for your storage.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select Create node pool.
Result: A node pool is successfully created and can be used once it reaches the active state.
When a node fails or becomes unresponsive you can rebuild that node. This will create a new node with an identical configuration that will replace the failed node.
Prerequisite: Make sure your node is active.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the node pool that contains the failed node.
Select Rebuild.
Confirm your selection by selecting OK.
Result:
Managed Kubernetes starts a process that is based on the Node Template. The template creates and configures a new node. Once the status is updated to ACTIVE, then it migrates all the pods from the faulty node to the new node.
The faulty node is deleted once it is empty.
While this operation occurs, the node pool will have an extra billable active node.
The node pool is successfully rebuilt.
In the DCD, go to Containers > Managed Kubernetes.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select + Create node pool.
In Create Kubernetes node pool, configure your node pools.
In Pool Settings, provide the following information:
Pool Name: Enter a name that aligns with the Kubernetes naming convention.
Data Center: Select an option from the drop-down list. Your node pool will be included in the selected data center. If you do not have a data center, you must first create one.
Node pool version: Select an appropriate version from the drop-down list.
Node count: Select the number of nodes in the node count.
Autoscale: Select the checkbox to enable autoscale and provide a minimum and maximum number of the total nodes.
Attached private LANs: Select + and choose a private LAN from the drop-down list.
Reserved IPs: Select + and choose a reserved IP address from the drop-down list.
In the Node Pool Template, provide the following information:
CPU: Select an option from the drop-down list.
Cores: Select the number of cores.
RAM: Select the size of your RAM.
Availability Zone: Select a zone from the drop-down list.
Storage Type: Select a type of storage from the drop-down list.
Storage Size: Select the storage size for your storage.
Note: Make sure to use the following naming convention for the Kubernetes cluster:
Can be a maximum of 63 characters in length.
Begins and ends with an alphanumeric character ([a-z0-9A-Z]).
Must not contain spaces or any other white-space characters.
Can contain dashes (-), underscores (_), and dots (.) in between.
Select Create node pool.
Result: A node pool is successfully created and can be used once it reaches the Active state.
When a node fails or becomes unresponsive, you can rebuild that node. This will create a new node with an identical configuration that will replace the failed node.
Prerequisite: Make sure your node is active.
Select a cluster from the list and go to the Node pools in Cluster tab.
Select the node pool that contains the failed node.
Select Rebuild.
Confirm your selection by selecting OK.
Result:
Managed Kubernetes starts a process that is based on the Node Template. The template creates and configures a new node. Once the status is updated to ACTIVE, then it migrates all the pods from the faulty node to the new node.
The faulty node is deleted once it is empty.
While this operation occurs, the node pool will have an extra billable active node.
The node pool is successfully rebuilt.
Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
Prerequisite: Only contract administrators, owners, and users with Create Kubernetes Clusters permission can create a cluster. Other user types have read-only access.
The following steps guide you through the process of connecting with Persistent Volume Claims (PVCs) in a Managed Kubernetes cluster.
Note: Network File Storage (NFS) Kubernetes integration is currently available on a request basis. To access this product, please contact your sales representative or .
Prerequisites:
Ensure that the NFS volume and the Managed Kubernetes node pool are connected to the same private LAN.
Node pools can only retrieve their IPs in the private LAN via Dynamic Host Configuration Protocol (DHCP). Each private LAN has its own subnet distributed by the DHCP server.
The subnet of a private LAN becomes visible via the API when attaching a server to the LAN with a NIC, or by opening a node shell on the Kubernetes Cluster and inspecting the network interfaces.
To connect NFS with PVCs in a Managed Kubernetes cluster via the DCD (Data Center Designer), follow these steps:
Drag a vCPU Server
into the workspace to add a new server in the DCD.
Click Add NIC. This action creates a new Network Inteface Controller (NIC) with a new private LAN. Note the LAN number.
Click PROVISION CHANGES.
Once the changes are provisioned, inspect the server’s NIC to see its primary IP in the private LAN. For example, 10.7.228.11
. This reveals the private LAN’s DHCP subnet. For example, 10.7.228.0/24
.
Provision a Kubernetes Cluster.
Provision a node pool for the Kubernetes Cluster and attach the previously created private LAN. Ensure that DHCP is enabled.
Provision an NFS Cluster with the same private LAN Attached.
Assign a static IP to the NFS cluster within the same subnet identified earlier. For example, 10.7.228.5/24
.
Provision an NFS Share. For more information, see .
Add the 10.7.228.0/24
subnet and a client group to establish the necessary permissions for Kubernetes and any other hosts within that subnet to access NFS.
Delete the vCPU Server
created in the first step.
Choose one of the following NFS provisioners:
Both provisioners create a custom StorageClass
configured with an NFS server. Use the static IP assigned earlier, for example, 10.7.228.5
, as the server and /SHARE_UUID/SHARE_NAME
as the share path.
Managed Kubernetes requires a specific setting for the StorageClass
because PersistentVolumes need a specific mount setting. Apply the following command:
When creating PVCs, specify the custom StorageClass
name. The PVCs should then get provisioned using the specified provisioner.
Install the helm chart for csi-driver-nfs
:
Create a StorageClass
with the necessary parameters:
Create a PVC:
Result: The Managed Kubernetes cluster can now mount NFS volumes as PVCs.
You can delete node pools with the Kubernetes Manager in .
To delete a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select a node pool from the list you want to delete.
Select Delete.
Result: Managed Kubernetes will remove the resources from the target data center and the node pool is successfully deleted.
To delete a node pool, follow these steps:
Select a cluster from the list and go to the Node pools in Cluster tab.
Select a node pool from the list you want to delete.
Select Delete.
Result: Managed Kubernetes will remove the resources from the target data center and the node pool is successfully deleted.
Note: Avoid accessing the target data center while Managed Kubernetes is provisioning nodes, as concurrent manual interaction can cause undesirable results.
Alternatively, you can also select the Kubernetes element in the Workspace and download the kubeconfig
file in the .
You can download the kubeconfig
file using configuration management tools such as , , and . Following are a few options to retrieve the kubeconfig
files.
Tool | Parameter Reference | Description |
---|
Note: If you do not want to use any tools like IonosCTL CLI, Ansible, or Terraform, you can retrieve the kubeconfig
file directly from the API using tools like cURL
or Wget
.
Alternatively, you can also select the Kubernetes element in the Workspace and download the kubeconfig
file in the .
You can create a cluster using the Kubernetes Manager in for Private Node Pools.
Refer to the for detailed instructions.
|
|
|
|
|
|
Learn how to set user privileges using the DCD. |
Learn how to set up and create a cluster. |
Learn how to generate and download the yaml file. |
Learn how to update a cluster for node pools using the DCD. |
Learn how to delete a cluster from the node pools using the DCD. |
Learn how to create a node pool using the DCD. |
Learn how to update a node pool using the DCD. |
Learn how to delete a node pool using the DCD. |
Learn how to manage user groups for node pools. |
Learn how to mount a Network File Storage (NFS) volume in your cluster. |
You can add user groups and assign permissions for Public and Private Node Pools with the Kubernetes Manager in DCD.
In the clusters for Public Node Pools, nodes only have external IP addresses, which means that the nodes and pods are exposed to the internet.
To set up the security settings, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster.
Go to the Security tab and click Visible to Groups.
To enable access, select the Edit or Share checkbox for a group.
Note: To disable access, select the group for which you want to disable access. Clear either the Edit or Share checkboxes. You can also directly click Remove Group.
Result: The cluster for Public Node Pools now has the newly assigned permissions.
In the clusters for Private Node Pools, nodes only have internal IP addresses, which means that the nodes and pods are isolated from the internet. Internal IP addresses for nodes come from the primary IP address range of the subnet you choose for the cluster.
To set up the security settings, follow these steps:
In the DCD, go to Menu > Containers > Managed Kubernetes.
In Kubernetes Manager, select a cluster.
Go to the Security tab and click Visible to Groups.
To enable access, select the Edit or Share checkbox for a group.
Note: To disable access, select the group you want to disable the access for. Clear either the Edit or Share checkboxes. You can also directly click Remove Group.
Result: The cluster for Private Node Pools now has the newly assigned permissions.
You can retrieve the kubeconfig
file and save it using a single command from IonosCTL CLI. For more information, see .
ionosctl k8s kubeconfig get --cluster-id CLUSTER_ID
You can retrieve the kubeconfig
by specifying the kubeconfig
parameter in the Ansible YAML file.
For more information, see .
You can interact with the kubeconfig
resources by providing proper configurations.
For more information, see .
You can retrieve the kubeconfig
file and save it using a single command from IonosCTL CLI. For more information, see .
ionosctl k8s kubeconfig get --cluster-id CLUSTER_ID
You can retrieve the kubeconfig
by specifying the kubeconfig
parameter in the Ansible YAML file.
For more information, see .
You can interact with the kubeconfig
resources by providing proper configurations.
For more information, see .