加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

教你一次性成功安装K8S集群(基于一主两从模式)

发布时间:2020-12-06 13:10:16 所属栏目:建站 来源:网络整理
导读:作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地

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脚本。脚本的内容如下所示。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读