k8e icon indicating copy to clipboard operation
k8e copied to clipboard

K8E - Kubernetes Easy Engine

logo
K8e 🚀 (said 'kuber easy') - Simple Kubernetes Distribution

Kubernetes Easy (k8e) is a lightweight, Extensible, Enterprise Kubernetes distribution that allows users to uniformly manage, secure, and get out-of-the-box kubernetes cluster for enterprise environments.

The k8e 🚀 (said 'kuber easy') project builds on upstream project K3s as codebase, remove Edge/IoT features and extend enterprise features with best practices.

Go Report Card Hex.pm

✅ Features

  • [x] Support image airgap package, v1.21 airgap package support containerd integration
  • [x] 10 year certificate, support cluster backup, upgrade
  • [x] No dependency on ansible haproxy keepalived, a binary tool, 0 dependency
  • [x] natively support cilium network

Quick-Start - Building && Installing

  1. Building k8e

The clone will be much faster on this repo if you do

git clone --depth 1 https://github.com/xiaods/k8e.git

This repo includes all of Kubernetes history so --depth 1 will avoid most of that.

The k8e build process requires some autogenerated code and remote artifacts that are not checked in to version control. To prepare these resources for your build environment, run:.

mkdir -p build/data && make download && make generate

To build the full release binary, you may now run make, which will create ./dist/artifacts/k8e.

To build the binaries using without running linting (ie; if you have uncommitted changes):

SKIP_VALIDATE=true make
  1. Run server.
sudo ./k8e check-config
sudo ./k8e server &
# Kubeconfig is written to /etc/k8e/k8e.yaml
export KUBECONFIG=/etc/k8e/k8e.yaml
sudo ./k8e kubectl get nodes

# On a different node run the below. NODE_TOKEN comes from
# /var/lib/k8e/server/node-token on your server
sudo ./k8e agent --server https://myserver:6443 --token ${NODE_TOKEN}

Acknowledgments

  • Thanks k3s for the great open source project.