Resources

Self-managed Kubernetes is easier than you think

Blog
Jun 25, 2024 - 4 min read

Managing Kubernetes often seems daunting, but it doesn’t have to be. Many organizations are turning to self-managed solutions for greater control and cost efficiency. Rumble Cloud, a public cloud solution built on OpenStack, offers a robust and straightforward approach to Kubernetes management. By leveraging OpenStack services such as Magnum, and using tools like Ansible and Terraform, Rumble Cloud makes self-managing Kubernetes clusters more accessible than ever.

Simplifying Kubernetes management with Rumble Cloud

Kubernetes is the standard for deploying, scaling, and managing containerized applications. The setup and management of Kubernetes can appear complex, but Rumble Cloud simplifies these processes through Rumble Kubernetes service (built on OpenStack Magnum), which manages container orchestration.

How Rumble Kubernetes service eases Kubernetes deployment

Rumble Cloud Kubernetes service integrates with other Rumble Cloud services, such as Compute, Networking, and Storage to streamline Kubernetes deployment. Key features include:

  • Cluster templates, used to define configurations for Kubernetes clusters and that specify details such as node count and instance types.
  • Automated deployment of fully functional Kubernetes clusters with a single API call or command-line instruction.
  • Integrated management for your infrastructure and Kubernetes clusters through the Rumble Cloud console and OpenStack CLI and APIs.

Steps to get started with self-managed Kubernetes on Rumble Cloud

Step 1: Sign up for Rumble Cloud

Rumble Cloud offers powerful, dedicated AMD EPYC™ processors, premium block storage, network services, object storage, and Linux-based operating systems within each pricing tier.

  1. Sign up for Rumble Cloud.

Sign up for Rumble Cloud

  1. Once onboarded, get started with Kubernetes service using the Rumble Cloud console user interface. You’ll be able to work with cluster templates and manage deployments using the console, or use the OpenStack command line tool.

Step 2: Deploy Kubernetes with Rumble Cloud Kubernetes service

Create a cluster template and use it to launch the Kubernetes cluster.

  1. Create a cluster template. For example
openstack coe cluster template create k8s-template \
  --coe kubernetes \
  --image-id <image-id> \
  --keypair <keypair-name> \
  --external-network <external-network-id> \
  --flavor <flavor-id> \
  --master-flavor <master-flavor-id> \
  --docker-volume-size 10
  1. Deploy the cluster. For example
openstack coe cluster create k8s-cluster \
  --cluster-template k8s-template \
  --master-count 1 \
  --node-count 3

Rumble Cloud Kubernetes service orchestrates the setup, configuring the Kubernetes control plane and joining worker nodes.

Automating management with Ansible and Terraform

Ansible and Terraform are powerful tools that facilitate the automation of infrastructure management. They both integrate seamlessly with OpenStack, making it easy to deploy and manage Kubernetes clusters on Rumble Cloud.

Using Ansible

Ansible automates the configuration and management of Kubernetes clusters. Installing Ansible is straightforward: you can install it using package managers such as apt for Debian-based systems. Once installed, you can create playbooks to automate repetitive tasks. Ansible’s agentless architecture simplifies deployment since it connects to nodes over SSH, using a simple YAML syntax to define configurations and manage applications.

Ansible automates the configuration and management of Kubernetes clusters. Benefits include:

  • Automating cluster deployments
  • Managing Kubernetes configurations and applications
  • Integrating with CI/CD pipelines

Example playbook for deploying applications:

---
- name: Deploy application to Kubernetes
  hosts: localhost
  tasks:
    - name: Apply Kubernetes manifests
      kubernetes.core.k8s:
        kubeconfig: /path/to/kubeconfig
        definition: /path/to/manifest.yaml

Using Terraform

Terraform enables you to define and provision Kubernetes infrastructure declaratively. To get started, download and install Terraform from its official website. Terraform scripts, written in HashiCorp Configuration Language (HCL), allow you to define the desired state of your infrastructure. Once your configuration files are ready, you can use simple commands to create and manage your resources. Terraform’s state management tracks your infrastructure, ensuring that changes are applied consistently and predictably.

Example Terraform configuration:

provider "openstack" {
  auth_url    = "<auth-url>"
  tenant_name = "<project-name>"
  username    = "<username>"
  password    = "<password>"
  region      = "<region>"
}

resource "openstack_containerinfra_cluster_v1" "k8s_cluster" {
  name             = "k8s-cluster"
  cluster_template_id = "<template-id>"
  node_count       = 3
  keypair          = "<keypair-name>"
  master_count     = 1
}

Why Choose Rumble Cloud for Kubernetes?

Why Choose Rumble Cloud for Kubernetes

Cost efficiency

Self-managed Kubernetes on Rumble Cloud eliminates high costs associated with managed services. Rumble Cloud tiers are a fixed monthly price, without long-term commitments, and don’t bill you based on usage. You won’t encounter sudden billing spikes or find hidden usage fees as your cloud scales.

Control and flexibility

Self-managed Kubernetes on Rumble Cloud eliminates high costs associated with managed services. Rumble Cloud tiers are a fixed monthly price, without long-term commitments, and don’t bill you based on usage. You won’t encounter sudden billing spikes or find hidden usage fees as your cloud scales.

Open Source foundation

Built on OpenStack, Rumble Cloud leverages a robust, open-source foundation that ensures compatibility and no vendor lock-in. Open-source computing aligns with the principles of transparency and innovation central to many technology-driven organizations, and especially aligns with Rumble’s vision to protect the free and open internet.

The bottom line

Deploying and managing Kubernetes on Rumble Cloud is more straightforward than you might think. By leveraging OpenStack Magnum and using automation tools such as Ansible and Terraform, you can achieve a high degree of control, flexibility, and cost efficiency. Explore Rumble Cloud today and transform the way you manage your Kubernetes deployments.

The Rumble Cloud platform makes it easy to procure, deploy and manage your cloud services from a single control panel.

Get Started