1
+ #! /bin/bash
2
+ yum install -y yum-utils device-mapper-persistent-data lvm2
3
+ yum-config-manager --add-repo \
4
+ https://download.docker.com/linux/centos/docker-ce.repo
5
+ yum update -y && yum install -y \
6
+ containerd.io-1.2.13 \
7
+ docker-ce-19.03.11 \
8
+ docker-ce-cli-19.03.11
9
+ mkdir /etc/docker
10
+ # Set up the Docker daemon
11
+ cat << EOF | tee /etc/docker/daemon.json
12
+ {
13
+ "exec-opts": ["native.cgroupdriver=systemd"],
14
+ "log-driver": "json-file",
15
+ "log-opts": {
16
+ "max-size": "100m"
17
+ },
18
+ "storage-driver": "overlay2",
19
+ "storage-opts": [
20
+ "overlay2.override_kernel_check=true"
21
+ ]
22
+ }
23
+ EOF
24
+ mkdir -p /etc/systemd/system/docker.service.d
25
+
26
+ # 安装指定版本的 kubelet/kubectl/kubeadm
27
+ cat << EOF > /etc/yum.repos.d/kubernetes.repo
28
+ [kubernetes]
29
+ name=Kubernetes
30
+ baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
31
+ enabled=1
32
+ gpgcheck=1
33
+ repo_gpgcheck=1
34
+ gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
35
+ EOF
36
+ # yum autoremove -y kubelet kubeadm kubectl --disableexcludes=kubernetes
37
+ # yum install -y kubelet-1.18.10-0 kubeadm-1.18.10-0 kubectl-1.18.10-0 --disableexcludes=kubernetes
38
+ yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
39
+ # 设置开机启动
40
+ systemctl daemon-reload && systemctl enable docker && systemctl restart docker
41
+ systemctl enable --now kubelet
42
+
43
+ # echo "1" > /proc/sys/net/bridge/bridge-nf-call-iptables
44
+ cat << EOF > /etc/sysctl.d/k8s.conf
45
+ net.bridge.bridge-nf-call-ip6tables = 1
46
+ net.bridge.bridge-nf-call-iptables = 1
47
+ EOF
48
+ sysctl --system
49
+
50
+ sed -i ' /swap/d' /etc/fstab
51
+ swapoff -a
52
+
53
+ # 配置系统环境
54
+ echo " export LC_ALL=en_US.UTF-8" >> /etc/profile
55
+ source /etc/profile
56
+
57
+ # 将 SELinux 禁用
58
+ setenforce 0
59
+ sed -i ' s/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
0 commit comments