Skip to content

Instantly share code, notes, and snippets.

@stephaneerard
Last active February 2, 2021 14:51
Show Gist options
  • Select an option

  • Save stephaneerard/c900d693ccc1e5a0668a3fa46b1ca979 to your computer and use it in GitHub Desktop.

Select an option

Save stephaneerard/c900d693ccc1e5a0668a3fa46b1ca979 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
k_apiserver_advertise_address=${k_apiserver_advertise_address:=$(ip addr show $k_iface | grep -Po 'inet \K[\d.]+')}
k_pod_network_cidr=${k_pod_network_cidr:="172.18.0.0/16"}
sudo swapoff -a
if [[ $MASTER == $(hostname) ]]; then
(rm /vagrant/instance/$MASTER/k8s.join.command.create.sh) || true
sudo kubeadm init --apiserver-advertise-address=${k_apiserver_advertise_address} --pod-network-cidr=${k_pod_network_cidr}
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf /vagrant/instance/k8s.conf
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
(mkdir -p /vagrant/instance/$(hostname)) || true
kubeadm token create --print-join-command > /vagrant/instance/$MASTER/k8s.join.command.create.sh
chmod +x /vagrant/instance/$MASTER/k8s.join.command.create.sh
elif [[ $IS_MASTER == 1 ]];
then
mkdir -p $HOME/.kube
sudo cp -i /vagrant/instance/k8s.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo bash /vagrant/instance/$MASTER/k8s.join.command.create.sh
kubectl label nodes $(hostname) kubernetes.io/role=master
else
mkdir -p $HOME/.kube
sudo cp -i /vagrant/instance/k8s.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo bash /vagrant/instance/$MASTER/k8s.join.command.create.sh
kubectl label nodes $(hostname) kubernetes.io/role=worker
fi
kubectl cluster-info
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment