mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-08 18:43:27 +00:00
Note that this is not the latest (which was 95efd45db073 at time of writing) but the next commit 6428b4bad0c2 merges "Port ctr to use client package" breaks the use of `ctr run --runtime-config` (by removing that option). This contains https://github.com/containerd/containerd/pull/954 which was causing some services to fail to start. All previous uses of15541037b9
are updated to5749f2e9e6
. Signed-off-by: Ian Campbell <ian.campbell@docker.com>
Kubernetes and LinuxKit
This project aims to demonstrate how one can create minimal and immutable Kubernetes OS images with LinuxKit.
Make sure to cd projects/kubernetes
first.
Edit kube-master.yml
and add your public SSH key to files
section.
Build OS images:
make build-vm-images
Boot Kubernetes master OS image using hyperkit
on macOS:
./boot-master.sh
Get IP address of the master:
ip addr show dev eth0
Login to the kubelet container:
./ssh_into_kubelet.sh <master-ip>
Manually initialise master with kubeadm
:
kubeadm-init.sh
Once kubeadm
exits, make sure to copy the kubeadm join
arguments,
and try kubectl get nodes
from within the master.
To boot a node use:
./boot-node.sh <n> [<join_args> ...]
More specifically, to start 3 nodes use 3 separate shells and run this:
shell1> ./boot-node.sh 1 --token bb38c6.117e66eabbbce07d 192.168.65.22:6443
shell2> ./boot-node.sh 2 --token bb38c6.117e66eabbbce07d 192.168.65.22:6443
shell3> ./boot-node.sh 3 --token bb38c6.117e66eabbbce07d 192.168.65.22:6443