硬件 | 要求 |
---|---|
CPU | 2C |
内存 | 3GB |
磁盘 | 40GB |
用于测试配置,master使用一台,节点服务器使用1台,一般生产环境节点都比较多,但节点需要使用单数。
节点类型 | IP |
---|---|
master | 192.168.137.3 |
node1 | 192.168.137.4 |
linux服务器及k8s版本的要求
类型 | 版本 |
---|---|
操作系统 | CentOS Linux release 7.9.2009 (Core) |
Kubernetes | 1.23 |
因原有服务器版本可能比较低,不能满足K8S安装要求,因此需要进行升级。
查看操作系统版本
cat /etc/redhat-release
联网下载安装包时,默认会访问到国外的yum源,下载速度慢。
需要将其修改为国内yum源,下载速度更快更稳定。
#下载wget
yum install -y wget
#备份原yum源
mv /etc/yum.repos.d /etc/yum.repos.d.backup
#创建新yum目录
mkdir -p /etc/yum.repos.d
#下载国内yum配置到目录下,如阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#更新epel源为阿里云epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#重建缓存
yum clean all
yum makecache
更新yum源完成后,可以查看当前yum源仓库下的安装包情况。
#查看yum仓库包情况
yum repolist
将本地linux中服务器自带的安装包,更新为yum源中的新版本。
#更新yum软件包
yum update
升级linux服务器的内核
#升级linux内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
#检查启动项
grep initrd16 /boot/grub2/grub.cfg
#设置开机画面
grub2-set-default 0
reboot
如果在执行 grep initrd16 /boot/grub2/grub.cfg
这一步骤时,可能会失败,不用在意,并不影响之后的使用。
查看当前linux内核版本
uname -r
由之前的3.10升级到了5.4。
配置网络,需要先立场SELinux,便于后边使用时出现其他未知问题。
#永久关闭
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
#临时关闭
setenforce 0
添加网桥过滤和地址转发
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
net.ipv4.ip_forward=1
net.ipv4.ip_forward_use_pmtu = 0
#生效命令
sysctl --system
#查看效果
sysctl -a|grep "ip_forward"
整个集群中的所有服务器,都需要保持统一时钟,方便进行通信和管理,因此配置时钟同步,也是很有必要的。
#安装软件
yum -y install ntpdate
#向阿里云服务器同步时间
ntpdate time1.aliyun.com
#删除本地时间并设置时区为上海
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#查看时间
date -R || date
在所有master及节点服务器的hosts文件中,设置k8s集群的master和node节点。
配置集群中,各服务器IP地址及对应的主机名。
vi /etc/hosts
192.168.137.3 node0
192.168.137.4 node1
如果不关闭swap分区,可能会导致后边安装的 kubelet 无法启动。
#临时关闭
swapoff -a
#修改配置文件,永久关闭
vi /etc/fstab
#将以下内容注释
/dev/mapper/centos-swap swap
通过指令查看是否生效
free -m
可以看到,swap那一行全部显示为0
yum install -y yum-utils
设置镜像仓库
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注意:docker-ce 社区版,docker-ee是企业版。
如果之前安装过旧版docker,这里需要先进行卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#安装docker
yum install docker-ce docker-ce-li containerd.io
添加docker启动配置
在 /etc/docker 下创建文件 daemon.json文件,并添加如下内容
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://registry.docker-cn.com"]
}
文件创建完成后,生效配置
systemctl daemon-reload
启动docker服务
#启动docker
systemctl restart docker
#查看docker版本
docker -v
#设置docker为开机自启动
systemctl enable docker && systemctl start docker
至此,K8S安装工作已经完成。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。