-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Hardware requirement: 2 CPU and 2 GB RAM
-
Set hostname and update /etc/host file for local name resolution. hostnamectl set-hostname kube-master
-
Disable swap. vi /etc/fstab swapoff -a
-
Add firewall rules for kubernetes service endpoint & kubelet. firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=10250/tcp
-
Letting iptables see bridged traffic. cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
-
Add kubnenetes repository. cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch 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 exclude=kubelet kubeadm kubectl EOF
-
Set SElinux to enforcing mode. setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
-
Install yum utility. yum install -y yum-utils device-mapper-persistent-data lvm2
-
Add Docker repository and and install docker yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum update -y && yum install containerd.io docker-ce docker-ce-cli
-
Create a overlay2 docker configuration file. mkdir /etc/docker cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF
-
Add docker to systemd. mkdir -p /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart docker systemctl enable docker
-
Install kubeadm and other important packages.
kubeadm init --pod-network-cidr 10.244.0.0/16 --apiserver-advertise-address=192.168.99.112 kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
yum install bash-completion echo "source <(kubectl completion bash)" >> ~/.bashrc