教你一次性成功安装K8S集群(基于一主两从模式)(3)
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker 为aliyun_docker_images.sh脚本文件赋予可执行权限,如下所示。 chmod a+x ./aliyun_docker_images.sh 执行aliyun_docker_images.sh脚本文件配置阿里云镜像加速器。 ./aliyun_docker_images.sh 系统设置 分别在三台服务器上进行系统设置。 1.安装nfs-utils yum install -y nfs-utils yum install -y wget 2.关闭防火墙 systemctl stop firewalld systemctl disable firewalld 3.关闭 SeLinux setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 4.关闭 swap swapoff -a yes | cp /etc/fstab /etc/fstab_bak cat /etc/fstab_bak |grep -v swap > /etc/fstab 5.修改 /etc/sysctl.conf 新建sys_config.sh脚本文件。 vim sys_config.sh sys_config.sh脚本文件的内容如下所示, # 如果有配置,则修改 sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g" /etc/sysctl.conf sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g" /etc/sysctl.conf sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g" /etc/sysctl.conf sed -i "s#^net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6=1#g" /etc/sysctl.conf sed -i "s#^net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6=1#g" /etc/sysctl.conf sed -i "s#^net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6=1#g" /etc/sysctl.conf sed -i "s#^net.ipv6.conf.all.forwarding.*#net.ipv6.conf.all.forwarding=1#g" /etc/sysctl.conf # 可能没有,追加 echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf # 执行命令以应用 sysctl -p 执行如下命令赋予sys_config.sh文件可执行权限。 chmod a+x ./sys_config.sh 执行sys_config.sh脚本文件。 ./sys_config.sh 安装K8S 分别在三台服务器上安装K8S。 1.配置K8S yum源 新建k8s_yum.sh脚本文件。 vim k8s_yum.sh 文件的内容如下所示。 cat < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF 赋予k8s_yum.sh脚本文件的可执行权限。 chmod a+x ./k8s_yum.sh 执行k8s_yum.sh文件。 ./k8s_yum.sh 2.卸载旧版本的K8S yum remove -y kubelet kubeadm kubectl 3.安装kubelet、kubeadm、kubectl yum install -y kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2 4.修改docker Cgroup Driver为systemd sed -i "s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g" /usr/lib/systemd/system/docker.service 5.重启 docker,并启动 kubelet systemctl daemon-reload systemctl restart docker systemctl enable kubelet && systemctl start kubelet 综合安装脚本 综上,上述安装Docker、进行系统设置,安装K8S的操作可以统一成auto_install_docker_k8s.sh脚本。脚本的内容如下所示。 (编辑:ASP站长网) |