kubernetes cluster in VirtualBox(Ubuntu 16.04)
First Let’s start installing the Docker:
#Remove if you have older version sudo apt-get remove docker docker-engine docker.ioapt autoremove sudo apt-get update #Add Docker’s official GPG key: sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #Verify that you now have the key with the fingerprint sudo apt-key fingerprint 0EBFCD88 # Add x86_64 / amd64 stable repo sudo add-apt-repository "deb [arch=amd64] \ https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update #Install Docker-ce now. sudo apt-get install docker-ce -y
If you are manually adding a key from a PPA, use
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Add kubernetes deb repository for Ubuntu 16.04
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF
Update and install Docker, kubelet, kubeadm and kubectl
apt-get update apt-get install ebtables ethtool docker.io apt-transport-https curl apt-get install -y kubelet kubeadm kubectl
Starting with Kubernetes v1.8.0, the Kubelet will fail to start up if the nodes have swap memory enabled. Discussion around why swap is not supported can be found in this issue.
Before performing an installation, you must disable swap memory on your nodes. If you want to run with swap memory enabled, you can override the Kubelet configuration in the plan file.
If you are performing an upgrade and you have swap enabled, you will have to decide whether you want to disable swap on all your nodes. If not, you must override the kubelet configuration to allow swap.
Override Kubelet Configuration
If you want to run your cluster nodes with swap memory enabled, you can override the Kubelet configuration in the plan file:
cluster:
# ...
kubelet:
option_overrides:
fail-swap-on: false
Enable bridge-nf-call tables
vim /etc/ufw/sysctl.conf
net/bridge/bridge-nf-call-ip6tables = 1
net/bridge/bridge-nf-call-iptables = 1
net/bridge/bridge-nf-call-arptables = 1
Create the tocken from “kubeadm token create” TOKEN EXPIRE after sometime so ready to create one…
kubeadm join --token 7be225.9524040d34451e07 192.168.1.30:6443 --discovery-token-ca-cert-hash sha256:ade14df7b994c8eb0572677e094d3ba835bec37b33a5c2cadabf6e5e3417a522 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/kubelet.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Cluster ready for deployments now… You SSH to master and deploy micro-services…