I have tried to install Kubernetes on 3 separate Ubuntu 16.04 machines, with poor results. On all three machines, the recommended installation, using snap and conjure-up did not work:
gknight@pz1:~$ sudo snap install conjure-up --classic
[sudo] password for gknight:
gknight@pz1:~$ sudo reboot
gknight@pz1:~$ conjure-up kubernetes
dropping privs did not work
This is the snap version:
gknight@pz1:~$ snap --version
snap 2.33.1ubuntu2
snapd 2.33.1ubuntu2
series 16
ubuntu 16.04
kernel 4.4.0-130-generic
On two, local, machines, the repository method worked:
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add
add the following to sources.list.d, as kubernetes.list:
deb http://apt.kubernetes.io/ kubernetes-xenial main
apt-get update
apt-get install -y kubelet kubeadm kubectl kubernetes-cni
But, on a remote 512mb KVM VPS (PnZ Hosting), although Docker installs and runs just fine, when I install kubelet, etc. and do nothing else, it soon runs the uptime load average up to 12 or so, and I can barely get through to it to reboot. There are no obvious error messages (and swap is turned off).
So, does the "conjure-up" method work on any Ubuntu 16.04 today?
What is Kubernetes doing that's taking over the KVM machine?
Finally, is there any other way to install Kubernetes?
remote 512mb KVM VPS
That's almost certainly the problem, as I don't know of very much software nowadays that will run in that little memory. It matches your experience that the machine will start swapping like mad, driving the I/O pressure through the roof
Agree with @Matthew & @Michael - 512mb is not enough to run Kubernetes. Increase your memory up to 1GB min and retry.
Apiserver and etcd together are fine on a machine with 1 core and 1GB RAM for clusters with 10s of nodes.
You can read more documentation here. Conjure method works fine for me using this instruction.
Ubuntu version:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Ways to install Kubernetes: