Skip to content

Instantly share code, notes, and snippets.

@Ubeek
Created September 13, 2018 09:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ubeek/2660444708bbf9baeac06cdd12e6db59 to your computer and use it in GitHub Desktop.
Save Ubeek/2660444708bbf9baeac06cdd12e6db59 to your computer and use it in GitHub Desktop.

All nodes

  • Swap must be disabled
    • swapoff -a
    • Comment out reference to swap in /etc/fstab
  • yum -y install docker
  • systemctl enable docker && systemctl start docker
  • Add Kubernetes repo
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
  • Make SELinux chill out during K8s install
    • setenforce 0
    • Set 'enforcing' to 'permissive' in /etc/selinux/config
  • yum install -y kubelet kubeadm kubectl
  • systemctl enable kubelet && systemctl start kubelet
  • Manage networking stuff
    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
  • sysctl --system

Master

  • kubeadm init --pod-network-cidr=10.244.0.0/16
  • Save the kubeadm join command somewhere safe
  • Drop back to standard user and configure kubectl
    mkdir -p $HOME/.kube
    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/v0.9.1/Documentation/kube-flannel.yml

Workers

  • Execute the join command saved from the master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment