我这里使用的是7台CentOS-7.5的虚拟机,具体信息如下表:
系统版本 | IP地址 | 节点角色 | CPU | Memory | Hostname |
CentOS-7.5 | 192.168.3.100 | ansible | 2 | 2 | ansible |
CentOS-7.5 | 192.168.3.101 | master1 | 2 | 2 | master1 |
CentOS-7.5 | 192.168.3.102 | master2 | 2 | 2 | master2 |
CentOS-7.5 | 192.168.3.103 | master3 | 2 | 2 | master3 |
CentOS-7.5 | 192.168.3.105 | node1 | 2 | 2 | node1 |
CentOS-7.5 | 192.168.3.106 | node2 | 2 | 2 | node2 |
CentOS-7.5 | 192.168.3.107 | node3 | 2 | 2 | node3 |
软件版本说明:
以下是搭建k8s集群过程中ip、端口等网络相关配置的说明,后续将不再重复解释:
# 3个master节点的ip
192.168.3.101
192.168.3.102
192.168.3.103
# 3个worker节点的ip
192.168.3.105
192.168.3.106
192.168.3.107
# 3个master节点的hostname
master1、master2、master3
# api-server的高可用虚拟ip(keepalived会用到,可自定义)
192.168.3.200
# keepalived用到的网卡接口名,一般是eth0,可执行ip a命令查看
ens32
# kubernetes服务ip网段(可自定义)
10.255.0.0/16
# kubernetes的api-server服务的ip,一般是cidr的第一个(可自定义)
10.255.0.1
# dns服务的ip地址,一般是cidr的第二个(可自定义)
10.255.0.2
# pod网段(可自定义)
172.23.0.0/16
# NodePort的取值范围(可自定义)
8400-8900
1、主机名必须每个节点都不一样,并且保证所有点之间可以通过hostname互相访问。设置hostname:
# 查看主机名
$ hostname
# 修改主机名
$ hostnamectl set-hostname <your_hostname>
配置host,使所有节点之间可以通过hostname互相访问:
由于二进制的搭建方式需要各个节点具备k8s组件的二进制可执行文件,所以我们得将准备好的二进制文件copy到各个节点上。为了方便文件的copy,我们可以选择一个中转节点(随便一个节点),配置好跟其他所有节点的免密登录,这样在copy的时候就不需要反复输入密码了。
批量主机探测秘钥分发脚本
https://www.cnblogs.com/wwp01/p/13830437.html
ansible批量安装依赖包关闭防火墙、swap,重置iptables 系统参数设置:
我们首先下载k8s的二进制文件,k8s的官方下载地址如下:
我这里下载的是1.19.0
版本,注意下载链接是在CHANGELOG/CHANGELOG-1.19.md里面:
只需要在“Server Binaries”一栏选择对应的平台架构下载即可,因为Server的压缩包里已经包含了Node和Client的二进制文件:
复制下载链接,到系统上下载并解压:
原文:https://www.cnblogs.com/wwp01/p/13941458.html