Kubernetes with Weave CNI networking

For the time being I've decided to exploit shared mounts to make
`/opt/cni` and `/etc/cni` work as expected. We need these directories
to appear writable on the host, and allow Weave Net pod to bind-mount
out them in order to install plugin binaries, and allow for vanilla
CNI plugins to be also accessible to kubelet.

Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
This commit is contained in:
Ilya Dmitrichenko
2017-04-11 17:37:56 +01:00
parent f603d37638
commit 340e97ae53
14 changed files with 208 additions and 137 deletions

View File

@@ -4,9 +4,11 @@ This project aims to demonstrate how one can create minimal and immutable Kubern
Make sure to `cd projects/kubernetes` first.
Build container & OS images:
Edit `kube-master.yml` and add your public SSH key to `files` section.
Build OS images:
```
make
make build-vm-images
```
Boot Kubernetes master OS image using `hyperkit` on macOS:
@@ -14,9 +16,19 @@ 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`:
```
runc exec kubelet kubeadm-init.sh
kubeadm-init.sh
```
Once `kubeadm` exits, make sure to copy the `kubeadm join` arguments,