Step‑by‑Step Guide to Building a Kubernetes Cluster on RedHat 7 with etcd, Master, Minions, Quagga Networking, and kube‑ui
This tutorial walks through building a complete Kubernetes cluster on RedHat 7 using yum‑based packages, covering etcd installation, master and minion setup, container‑to‑container networking with quagga, and optional kube‑ui deployment, while highlighting common pitfalls and providing reference resources.
Introduction
Red Hat released yum repositories for Kubernetes and etcd for RHEL 7 in September. The guide demonstrates how to build a Kubernetes cluster on RHEL 7 using yum, covering etcd, master, minion nodes, container networking with quagga, and optional kube‑ui installation.
Cluster Architecture
The overall architecture is illustrated below.
Deployment Steps
1. Install and Configure etcd
Install etcd via yum and replace the default configuration with a script that filters the 192.* network. Then start the etcd service.
Configuration file after replacement:
2. Install and Configure kube‑master
Install the Kubernetes master packages, edit the default configuration files (shown in the screenshots), and start the master component.
Additional configuration files:
Start the master service:
3. Install and Configure kube‑minions
On each minion node, install Docker and the Kubernetes packages, copy the same configuration files used for the master, and start the services.
Configuration files for the minions:
Start Docker and the kubelet on each minion:
Verify the cluster nodes from the master:
4. Enable Container‑to‑Container Networking with quagga
Install the bridge‑utils (brctl) tool, delete the default docker0 bridge, and create a new bridge kbr0. Assign a unique IP to each node (e.g., 172.11.11.1 for minion1, 172.12.12.1 for minion2) and adjust the Docker daemon to use kbr0. Restart the network service and Docker.
If a pre‑built quagga Docker image is available, load it with docker load and run the container. After a few seconds, verify that the routing table has been updated.
5. Install kube‑ui (Optional)
Kube‑ui provides a simple web UI to view node resource usage, replication controllers, services, and pods. Because the official image on gcr.io is blocked in China, the image is downloaded from a Baidu Cloud link and loaded locally with docker load.
Three YAML manifests are required: kube-system.yaml, kube-ui-rc.yaml, and kube-ui-svc.yaml. They are applied in that order.
kubectl create -f kube-system.yaml
kubectl create -f kube-ui-rc.yaml
kubectl create -f kube-ui-svc.yamlAfter deployment, the UI can be accessed at http://<kube‑master>:8080/ui:
Summary of Common Pitfalls
The guide avoids typical problems such as incomplete network configuration, missing bridge setup, and forgetting to import the kube‑ui image on all nodes.
References
High‑availability Docker infrastructure
CentOS 7 practical Kubernetes deployment
Kubernetes official documentation
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
