基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群一 环境准备
2021-02-15 11:21
标签:工作 安装方法 probe ast erro lob centos strong containe 本k8s集群参考了 Michael 的 https://gitee.com/pa/kubernetes-ha-kubeadm-private 这个项目,再此表示感谢! 我们这里使用的是五台centos-7.6的虚拟机,具体信息如下表: 主机名必须每个节点都不一样,并且保证所有点之间可以通过hostname互相访问。 我这准备了一个项目,专门为大家按照自己的环境生成配置的。它只是帮助大家尽量的减少了机械化的重复工作。它并不会帮你设置系统环境,不会给你安装软件。总之就是会减少你的部署工作量,但不会耽误你对整个系统的认识和把控。 kubernetes的插件,比如calico和dashboard。 包含了部署集群过程中用到的各种配置文件。 包含部署集群过程中用到的脚本,如keepalive检查脚本。 全局配置,包含各种易变的配置内容。 初始化脚本,配置好global-config之后,会自动生成所有配置文件。 这里会根据大家各自的环境生成kubernetes部署过程需要的配置文件。 此脚本不支持MACOS系统,切记不要使用MACOS来运行 init.sh 执行init.sh常见问题: 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群一 环境准备 标签:工作 安装方法 probe ast erro lob centos strong containe 原文地址:https://www.cnblogs.com/itgiser/p/12984569.html
Michael的项目k8s版本为1.14.0,笔者基于他的项目进行改进,填了不少坑,搭建了 kubernetes 1.18.2高可用集群,特将搭建过程进行记录
详细信息请参考本人的git仓库 地址为 https://gitee.com/salmon_163/kubernetes-ha-kubeadm.git
kubernetes 组建的版本都全面升级了,dashboard版本升级到2.0.1,详细内容请参考文档1. 服务器说明
系统类型
IP地址
节点角色
CPU
Memory
Hostname
centos-7.8
172.16.249.130
master
>=2
>=2G
m1
centos-7.8
172.16.249.131
master
>=2
>=2G
m2
centos-7.8
172.16.249.132
master
>=2
>=2G
m3
centos-7.8
172.16.249.135
worker
>=2
>=2G
s1
centos-7.8
172.16.249.136
worker
>=2
>=2G
s2
2. 系统设置(所有节点)
2.1 主机名
# 查看主机名
$ hostname
# 修改主机名
$ hostnamectl set-hostname
2.2 安装依赖包
# 更新yum
$ yum update
# 安装依赖包
$ yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp
2.3 关闭防火墙、swap,重置iptables
# 关闭防火墙
$ systemctl stop firewalld && systemctl disable firewalld
# 重置iptables
$ iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT
# 关闭swap
$ swapoff -a
# 使用下面的命令对文件/etc/fstab操作,注释 /dev/mapper/centos_master-swap swap swap defaults 0 0 这行
$ sed -i ‘s/.*swap.*/#&/‘ /etc/fstab
# 关闭selinux
$ vim /etc/selinux/config
# 将SELINUX=enforcing改为SELINUX=disabled
$ setenforce 0
# 查看selinux状态
$ sestatus
# 关闭dnsmasq(否则可能导致docker容器无法解析域名)
$ service dnsmasq stop && systemctl disable dnsmasq
2.4 系统参数设置
# 制作配置文件
$ cat > /etc/sysctl.d/kubernetes.conf
3. 安装docker(所有节点)
# 1. 方法一: 通过yum源的方式安装
# 创建所需目录
$ mkdir -p /opt/kubernetes/docker && cd /opt/kubernetes/docker
# 清理原有版本, 如果系统没有安装过跳过
$ yum remove -y docker* container-selinux
# 安装依赖包
$ yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 可以查看所有仓库中所有docker版本,并选择特定版本安装:
$ yum list docker-ce --showduplicates | sort -r
# 安装指定版本docker, 如果不指定版本号,将安装最新版本的docker
$ sudo yum install -y docker-ce-
4. 安装必要工具(所有节点)
4.1 工具说明
4.2 安装方法
# 配置yum源(网络不受限制可以把"mirrors.aliyun.com"替换为"packages.cloud.google.com")
$ 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
# 安装工具
# 找到要安装的版本号
$ yum list kubeadm --showduplicates | sort -r
# 安装指定版本(这里用的是1.18.2)
$ yum install -y kubeadm-1.18.2-0 kubelet-1.18.2-0 kubectl-1.18.2-0 --disableexcludes=kubernetes
# 设置kubelet的cgroupdriver(kubelet的cgroupdriver默认为systemd,如果上面没有设置docker的exec-opts为systemd,这里就需要将kubelet的设置为cgroupfs)
$ sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# 启动kubelet 所有的节点
$ systemctl enable kubelet && systemctl start kubelet
5. 准备配置文件(任意节点)
5.1 下载配置文件
$ cd ~ && git clone https://gitee.com/salmon_163/kubernetes-ha-kubeadm.git
# 看看git内容
$ ls -l kubernetes-ha-kubeadm
addons/
configs/
scripts/
init.sh
global-configs.properties
5.2 文件说明
5.3 生成配置
# cd到之前下载的git代码目录
$ cd kubernetes-ha-kubeadm
# 编辑属性配置(根据文件注释中的说明填写好每个key-value)
$ vi global-config.properties
# 生成配置文件,确保执行过程没有异常信息
$ ./init.sh
# 查看生成的配置文件,确保脚本执行成功
$ find target/ -type f
再执行一次./init.sh即可,不需要手动删除target
上一篇:远程开启服务及Telnet
文章标题:基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群一 环境准备
文章链接:http://soscw.com/index.php/essay/55635.html