#!/bin/bash # kubeadm installation instructions as on # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ if [ $(id -u) != 0 ]; then echo "Please run as root or use sudo." exit 1 fi cat < /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 # Set SELinux in permissive mode (effectively disabling it) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config # disable swap (assuming that the name is /dev/centos*/swap) for device in $(sed -e 's/#.*//' /etc/fstab | awk '$2 == "swap" { print $1 }' | grep ^/dev/); do swapoff $device sed -i -e "s,$device,#$device," /etc/fstab done yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes systemctl enable --now kubelet # Set iptables bridging cat < /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system