Kubernetes service¶
Service description¶
Kubernetes service provides you with tools to orchestrate and manage container clusters using popular container orchestration engines such as Kubernetes. It allows you to create and operate container clusters within a cloud project, leveraging the existing infrastructure and services provided by Rumble Cloud.
A cluster refers to a group of virtual machines (VMs) or nodes that work together as a single entity to host and manage containerized applications using a container orchestration engine such as Kubernetes. The cluster provides a platform for deploying, scaling, and managing containers, ensuring that applications can run reliably and efficiently in a cloud environment.
A cluster template is a blueprint that defines the configuration for creating container clusters. It specifies the details of the container orchestration engine, the characteristics of the nodes, network settings, and other parameters that determine how the cluster should be set up and operated.
Kubernetes service uses OpenStack Magnum in conjunction with other services.
Features¶
- Multiple container orchestration engines, to support various container orchestration engines, allowing you to choose the one that best fits their application requirements. Kubernetes is the most commonly used orchestration engine, but support for Docker Swarm and Apache Mesos is also available.
- Integration with services, ensures that container clusters can leverage the same infrastructure and security models as other resources in your cloud.
- Scalability, to allow for the creation of scalable container clusters that can grow or shrink based on application demands (you can easily add or remove nodes in a cluster to accommodate changing workloads)
- Cluster templates, so you can specify the configuration of the container cluster, including the orchestration engine, node sizes, and network settings (these templates can be reused to create multiple clusters with consistent configurations)
- API and CLI access, including a RESTful API and a command-line interface (CLI) for managing container clusters, enabling automation and integration with other tools and systems
- Security, so that clusters can be configured with features such as role-based access control (RBAC), network policies, and TLS encryption to secure communications between nodes and containers
- Master node(s), to run the control plane components of the container orchestration engine, managing the state and operations of the cluster (in a Kubernetes cluster, for example, the master node(s) would run components like the API server, scheduler, and controller manager)
- Worker nodes, to run the actual containerized applications and are managed by the control plane on the master node(s) (worker nodes host the container runtime (e.g., Docker) and other necessary components to run containers)
- Labels and metadata, to allow for the addition of custom labels and metadata to the cluster, which can be used for tagging, categorization, or passing additional configuration parameters to the orchestration engine.
- Auto scaling, which allows clusters to automatically adjust the number of nodes based on workload demands.
- API and CLI access, with a RESTful API and OpenStack Client commands for managing clusters, enabling automation and integration with other tools and systems
Key concepts¶
Note
In the context of cloud computing, containers may also refer to object storage containers.
How it works¶
- Cluster templates define the configuration of container clusters. A cluster template specifies the container orchestration engine (such as Kubernetes), the version of the engine, the size and flavor of the nodes, the network driver, and other configuration options.
- Create container clusters based on the cluster templates. Kubernetes service interacts with other services, such as Compute for virtual machine provisioning, Network for networking, and Volume for persistent storage, to provision the resources needed for the cluster.
- Kubernetes service deploys the specified container orchestration engine on the cluster nodes. If Kubernetes is selected, the service sets up a Kubernetes master node and worker nodes with the necessary components and configurations.
- You can manage their container clusters through Kubernetes service. This includes scaling the cluster by adding or removing nodes, updating the cluster to a new version of the orchestration engine, and deleting the cluster when it is no longer needed.
- Once the cluster is set up, you can deploy containerized applications on the cluster using the orchestration engine's tools and APIs. With a Kubernetes cluster, you can use
kubectl
to deploy and manage their applications. - Kubernetes service integrates with other services to provide additional features.
Required vCPUs and VMs
Make sure that your quota for vCPUs supports your cluster deployments. Kubernetes deployments require a minimum of two virtual machines to deploy a cluster. You'll typically need more robust deployments for real-world environments (for example, three master VMs with 8vCPU and 16GB RAM, and an additional two worker VMs).
Cluster templates¶
- See Cluster templates console for more information.