How to Set Up k3s on CentOS 7: A Complete Guide for Beginners

Picture this: you’re tasked with deploying Kubernetes on CentOS 7 in record time. Maybe it’s for a pet project, a lab environment, or even production. You’ve heard of k3s, the lightweight Kubernetes distribution, but you’re unsure where to start. Don’t worry—I’ve been there, and I’m here to help. In this guide, I’ll walk you through setting up k3s on CentOS 7 step by step. We’ll cover prerequisites, installation, troubleshooting, and even a few pro tips to make your life easier. By the end, you’ll have a robust Kubernetes setup ready to handle your workloads.

Why Choose k3s for CentOS 7?

Kubernetes is a fantastic tool, but its complexity can be daunting, especially for smaller setups. k3s simplifies Kubernetes without sacrificing core functionality. Here’s why k3s is a great choice for CentOS 7:

  • Lightweight: k3s has a smaller footprint compared to full Kubernetes distributions. It removes unnecessary components, making it faster and more efficient.
  • Easy to Install: A single command gets you up and running, eliminating the headache of lengthy installation processes.
  • Built for Edge and IoT: It’s perfect for resource-constrained environments like edge devices, Raspberry Pi setups, or virtual machines with limited resources.
  • Fully CNCF Certified: Despite its simplicity, k3s adheres to Kubernetes standards, ensuring compatibility with Kubernetes-native tools and configurations.
  • Automatic Upgrades: k3s includes a built-in upgrade mechanism, making it easier to keep your cluster updated without manual intervention.

Whether you’re setting up a development environment or a lightweight production cluster, k3s is the ideal solution for CentOS 7 due to its ease of use and reliability. Now, let’s dive into the setup process.

Step 1: Preparing Your CentOS 7 System

Before installing k3s, your CentOS 7 server needs to meet a few prerequisites. Skipping these steps can lead to frustrating errors down the line. Proper preparation ensures a smooth installation and optimizes your cluster’s performance.

Update Your System

First, ensure your system is up to date. This keeps packages current and eliminates potential issues caused by outdated dependencies. Run the following commands:

sudo yum update -y
sudo yum upgrade -y

After completing the updates, reboot your server to apply any pending changes to the kernel or system libraries:

sudo reboot

Set a Static IP Address

For a stable cluster, assign a static IP to your server. This ensures consistent communication between nodes. Edit the network configuration file:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Add or modify the following lines:

BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

Save the file and restart the network to apply the changes:

sudo systemctl restart network

Verify the static IP configuration using:

ip addr

Disable SELinux

SELinux can interfere with Kubernetes operations by blocking certain actions. Disable it temporarily with:

sudo setenforce 0

To disable SELinux permanently, edit the configuration file:

sudo vi /etc/selinux/config

Change the line SELINUX=enforcing to SELINUX=disabled, then reboot your server for the changes to take effect.

Optional: Disable the Firewall

If you’re in a trusted environment, disabling the firewall can simplify setup. Run:

sudo systemctl disable firewalld --now
Warning: Disabling the firewall is not recommended for production environments. If you keep the firewall enabled, open ports 6443 (Kubernetes API), 10250, and 8472 (Flannel VXLAN) to ensure proper communication.

Install Required Dependencies

k3s doesn’t require many dependencies, but ensuring your system has tools like curl and wget installed can avoid potential errors during installation. Use:

📚 Continue Reading

Sign in with your Google or Facebook account to read the full article.
It takes just 2 seconds!

Already have an account? Log in here