Skip to content

v0.8.0

Latest
Compare
Choose a tag to compare
@luxas luxas released this 04 Sep 13:57
· 8 commits to master since this release

Major refactoring release with Kubernetes v1.3.6

This release is a complete reboot compared to earlier releases. Now, docker-multinode is used as the base, along with the official flannel, hyperkube, dashboard and kube-dns docker images. I've added arm, arm64 and ppc64le variants for the most important Kubernetes images, so now Kubernetes releases all binaries and images automatically in their release process.

Everything is written in line with my multi-platform proposal: https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/multi-platform.md

It's also possible to setup Kubernetes on ARM on Pine64 easily with the deb package!

Supported boards/OSes:

  • HypriotOS v1.0.1
    • Raspberry Pi 1, 2, 3
    • Note: no reboot required! (DNS resolving on host won't work without a reboot though)
  • Raspbian Jessie
    • Raspberry Pi 1, 2, 3
  • Arch Linux ARM
    • The boards Arch Linux ARM supports should work, but haven't been tested
    • But here the docker pull bug is really messing things up. I haven't found a solution to that problem, see the bug referenced below.
  • Debian Jessie
    • Pine64
    • Here again, the docker pull bug is really messing things up. I haven't found a solution to that problem, see the bug referenced below.
  • Debian Jessie/Ubuntu Trusty on Scaleway
    • Works when the docker pull bug is fixed.

Changes

  • Upgraded to Kubernetes v1.3.6 and flannel v0.6.1
  • Using official Kubernetes binaries and docker images
  • Most of the code is "official" from kube-deploy/docker-multinode
  • All binaries and images are now cross-compiled from amd64, no more releasing from Raspberry Pis!
  • Using HypriotOS v1.0.1!
  • It's fully possible to add amd64 nodes seamlessly with docker-multinode
  • Made the dns and the dashboard addons mandatory, they can't and shouldn't be disabled as they're required components of the core.
  • The earlier skydns component has been replaced with the new kubedns component that is more integrated with Kubernetes and more efficent.
  • Raspbian is supported out-of-the-box, just download the deb package and install on your Pi!
  • Pine64 is now supported as a platform.
  • Upgraded the addons:
    • dashboard to v1.1.1
    • kubedns to 1.5 (manifest version v17.1)
    • registry to v2.5.0
    • heapster to v1.2.0-beta.2
    • influxdb to v0.13.0
    • grafana to v3.1.1
  • Total refactor of kube-config and of the whole project; as much as possible official Kubernetes code is used, which means the configuration for v0.8.0 is more generic than v0.7.0 which was more specialized.
  • Added the helm package manager at version v2.0.0-alpha.3
  • kube-registry-proxy is now added to the registry addon which makes every node expose the registry at localhost:5000
  • Possible to use --containerized by adding export USE_CONTAINERIZED=true to /etc/kubernetes/k8s.conf
  • Renamed kube-systemd to docker-multinode and the generic systemd OS to the generic debian OS
  • Caveats:
    • Reboots aren't working nor supported. (Added to roadmap)
    • Arch Linux ARM, the Pine64 and Scaleway suffers from the docker pull mtu bug docker/docker#22635

Downloads

Kubernetes binaries:

# Generic
wget https://storage.googleapis.com/kubernetes-release/release/${VERSION}/bin/linux/${GOARCH}/${BINARY}

# Examples
wget https://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/arm/kubectl
wget https://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/arm/hyperkube
wget https://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/arm/kubelet
wget https://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/arm64/hyperkube

Install the latest .deb package:

wget https://github.com/luxas/kubernetes-on-arm/releases/download/v0.8.0/docker-multinode.deb
dpkg -i docker-multinode.deb

Roadmap for the future

I'm gonna continue to work hard on making this project unnecessary!

Roadmap