Skip to content

Instantly share code, notes, and snippets.

@tranphuquy19
Created April 14, 2021 02:19
Show Gist options
  • Save tranphuquy19/c6bd18a46ebf0beea5b05cdd5d2a6081 to your computer and use it in GitHub Desktop.
Save tranphuquy19/c6bd18a46ebf0beea5b05cdd5d2a6081 to your computer and use it in GitHub Desktop.
Install kubernetes with docker container runtime
#!/bin/bash
# Cập nhật 12/2019
# Cai dat Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum update -y && yum install docker-ce-18.06.2.ce -y
usermod -aG docker $(whoami)
## Create /etc/docker directory.
mkdir /etc/docker
# Setup daemon.
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
mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
systemctl enable docker.service
systemctl daemon-reload
systemctl restart docker
# Tat SELinux
setenforce 0
sed -i --follow-symlinks 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
# Tat Firewall
systemctl disable firewalld >/dev/null 2>&1
systemctl stop firewalld
# sysctl
cat >>/etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system >/dev/null 2>&1
# Tat swap
sed -i '/swap/d' /etc/fstab
swapoff -a
# Add yum repo file for Kubernetes
cat >>/etc/yum.repos.d/kubernetes.repo<<EOF
[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
yum install -y -q kubeadm kubelet kubectl
systemctl enable kubelet
systemctl start kubelet
# Configure NetworkManager before attempting to use Calico networking.
cat >>/etc/NetworkManager/conf.d/calico.conf<<EOF
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment