mirror of https://github.com/k3s-io/k3s
f117b26c07
Based on the official debian image, with the following changes: * Switched extlinux -> grub, because we need to change kernel options to enable the memory cgroup controller, and extlinux is harder and has reboot problems * Added packages that would otherwise be installed as part of the boot (just an optimization) * Also add the cloud-initramfs-growroot package; with it the root volume will resize. * We add panic=10 & oops=panic to kernel options * We install the packages as per the base image, except we install awscli from pip, because the repo version is really old. |
||
---|---|---|
.. | ||
README.md | ||
k8s-ebs-jessie-amd64-hvm.yml |
README.md
Kubernetes-optimized images
This directory contains manifests for building Kubernetes-optimized images for
various clouds (currently just AWS). It is currently highly experimental, and
these images are not used by default (though you can pass AWS_IMAGE
to the
AWS kube-up script if you're feeling brave).
Advantages of an optimized image:
- We can preinstall packages that would otherwise require a download. Great for speed, and also for reliability (in case the source repository is down)
- We can make kernel configuration changes that might otherwise require a reboot, or even apply kernel patches if we really want to. For example, Debian requires a kernel boot parameter to enable the cgroup memory controller, which we require.
- The more configuration we can do in advance, the easier it is for people that don't want to use kube-up to get a cluster up and running.
Advantages of a harmonized image:
- All the platforms can test with the same versions of software, rather than relying on whatever image happens to be optimal on that cloud.
bootstrap-vz
Currently images are built using (bootstrap-vz)[https://github.com/andsens/bootstrap-vz], because this is default builder for the official Debian images, and because it supports multiple clouds including AWS, Azure & GCE. It also supports KVM, which should support OpenStack.
Building an image
A go program/script to build images in (in progress)[https://github.com/kubernetes/contrib/pull/486], in the contrib project.