This repository contains shell scripts to set up a Kubernetes cluster using CRI-O as the container runtime on Ubuntu 22.04. The scripts are designed for both master and node setup.
This script sets up a Kubernetes master node.
- Configures required kernel modules
- Installs CRI-O container runtime
- Installs Kubernetes components (
kubelet
,kubectl
,kubeadm
) - Initializes the Kubernetes cluster
- Sets up Calico as the network plugin
chmod +x master.sh
./master.sh
This script sets up a Kubernetes worker node.
- Configures required kernel modules
- Installs CRI-O container runtime
- Installs Kubernetes components (
kubelet
,kubectl
,kubeadm
)
chmod +x node.sh
./node.sh
This script modifies the CRI-O configuration.
- Updates the
conmon
path in the CRI-O configuration file - Adds Docker, Quay, and Fedora registries to the CRI-O configuration
chmod +x crio.sh
./crio.sh
- Ubuntu 22.04
- Root or sudo access
- Clone this repository.
- Master Node Setup: Run
master.sh
on the intended master node. - Worker Node Setup: Run
node.sh
on each intended worker node. - CRI-O Configuration: Run
crio.sh
on each node to configure CRI-O.
Special thanks to the following projects and communities that have contributed to this project:
- Kubernetes - Providing a robust container orchestration platform.
- CRI-O - Offering a lightweight container runtime tailored for Kubernetes.
- Calico - Delivering scalable networking solutions for Kubernetes environments.
This project is licensed under the MIT License - see the LICENSE file for details.