github.com/qsunny/k8s@v0.0.0-20220101153623-e6dca256d5bf/k8s_install/install_kubelet.sh (about) 1 #!/bin/bash 2 3 # 在 master 节点和 worker 节点都要执行 4 5 # 安装 containerd 6 # 参考文档如下 7 # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd 8 9 cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf 10 overlay 11 br_netfilter 12 EOF 13 14 sudo modprobe overlay 15 sudo modprobe br_netfilter 16 17 # Setup required sysctl params, these persist across reboots. 18 cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf 19 net.bridge.bridge-nf-call-iptables = 1 20 net.ipv4.ip_forward = 1 21 net.bridge.bridge-nf-call-ip6tables = 1 22 EOF 23 24 # Apply sysctl params without reboot 25 sysctl --system 26 27 # 卸载旧版本 28 yum remove -y containerd.io 29 30 # 设置 yum repository 31 yum install -y yum-utils device-mapper-persistent-data lvm2 32 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 33 34 # 安装 containerd 35 yum install -y containerd.io-1.4.3 36 37 mkdir -p /etc/containerd 38 containerd config default > /etc/containerd/config.toml 39 40 sed -i "s#k8s.gcr.io#registry.aliyuncs.com/k8sxio#g" /etc/containerd/config.toml 41 sed -i '/containerd.runtimes.runc.options/a\ \ \ \ \ \ \ \ \ \ \ \ SystemdCgroup = true' /etc/containerd/config.toml 42 sed -i "s#https://registry-1.docker.io#${REGISTRY_MIRROR}#g" /etc/containerd/config.toml 43 44 45 systemctl daemon-reload 46 systemctl enable containerd 47 systemctl restart containerd 48 49 50 # 安装 nfs-utils 51 # 必须先安装 nfs-utils 才能挂载 nfs 网络存储 52 yum install -y nfs-utils 53 yum install -y wget 54 55 # 关闭 防火墙 56 systemctl stop firewalld 57 systemctl disable firewalld 58 59 # 关闭 SeLinux 60 setenforce 0 61 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 62 63 # 关闭 swap 64 swapoff -a 65 yes | cp /etc/fstab /etc/fstab_bak 66 cat /etc/fstab_bak |grep -v swap > /etc/fstab 67 68 # 配置K8S的yum源 69 cat <<EOF > /etc/yum.repos.d/kubernetes.repo 70 [kubernetes] 71 name=Kubernetes 72 baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 73 enabled=1 74 gpgcheck=0 75 repo_gpgcheck=0 76 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 77 http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 78 EOF 79 80 # 卸载旧版本 81 yum remove -y kubelet kubeadm kubectl 82 83 # 安装kubelet、kubeadm、kubectl 84 # 将 ${1} 替换为 kubernetes 版本号,例如 1.20.1 85 yum install -y kubelet-${1} kubeadm-${1} kubectl-${1} 86 87 crictl config runtime-endpoint /run/containerd/containerd.sock 88 89 # 重启 docker,并启动 kubelet 90 systemctl daemon-reload 91 systemctl enable kubelet && systemctl start kubelet 92 93 containerd --version 94 kubelet --version