Erik Wilson
45aa518ba8
|
5 years ago | |
---|---|---|
.github/ISSUE_TEMPLATE | 5 years ago | |
cmd | 5 years ago | |
contrib | 5 years ago | |
e2e | 6 years ago | |
manifests | 5 years ago | |
package | 5 years ago | |
pkg | 5 years ago | |
scripts | 5 years ago | |
tests/perf | 5 years ago | |
vendor | 5 years ago | |
.dockerignore | 5 years ago | |
.drone.yml | 5 years ago | |
.gitignore | 5 years ago | |
.golangci.json | 6 years ago | |
BUILDING.md | 5 years ago | |
Dockerfile.dapper | 5 years ago | |
Dockerfile.sonobuoy.dapper | 5 years ago | |
LICENSE | 6 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
Vagrantfile | 5 years ago | |
docker-compose.yml | 5 years ago | |
go.mod | 5 years ago | |
go.sum | 5 years ago | |
install.sh | 5 years ago | |
k3s.service | 5 years ago | |
main.go | 5 years ago | |
vendor.go | 5 years ago |
README.md
k3s - 5 less than k8s
Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 40mb.
Great for:
- Edge
- IoT
- CI
- ARM
- Situations where a PhD in k8s clusterology is infeasible
What is this?
k3s is intended to be a fully compliant Kubernetes distribution with the following changes:
- Legacy, alpha, non-default features are removed. Hopefully, you shouldn't notice the stuff that has been removed.
- Removed most in-tree plugins (cloud providers and storage plugins) which can be replaced with out of tree addons.
- Add sqlite3 as the default storage mechanism. etcd3 is still available, but not the default.
- Wrapped in simple launcher that handles a lot of the complexity of TLS and options.
- Minimal to no OS dependencies (just a sane kernel and cgroup mounts needed). k3s packages required
dependencies
- containerd
- Flannel
- CoreDNS
- CNI
- Host utilities (iptables, socat, etc)
Documentation
Please see the official docs site for complete documentation on k3s.
Quick-Start - Install Script
The k3s install.sh
script provides a convenient way for installing to systemd or openrc,
to install k3s as a service just run:
curl -sfL https://get.k3s.io | sh -
A kubeconfig file is written to /etc/rancher/k3s/k3s.yaml
and the service is automatically started or restarted.
The install script will install k3s and additional utilities, such as kubectl
, crictl
, k3s-killall.sh
, and k3s-uninstall.sh
, for example:
sudo kubectl get nodes
K3S_TOKEN
is created at /var/lib/rancher/k3s/server/node-token
on your server.
To install on worker nodes we should pass K3S_URL
along with
K3S_TOKEN
or K3S_CLUSTER_SECRET
environment variables, for example:
curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -
Manual Download
- Download
k3s
from latest release, x86_64, armhf, and arm64 are supported. - Run server.
sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get nodes
# On a different node run the below. NODE_TOKEN comes from
# /var/lib/rancher/k3s/server/node-token on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}