linux(centos8):kubernetes安装的准备工作
一,安装docker-ce19.03.11
1,卸载podman
[root@kubemaster ~]# dnf remove podman
podman是红帽系os自带的容器,卸载是为了避免冲突
2,下载containerd.io
[root@kubemaster docker]# pwd /usr/local/source/docker [root@kubemaster docker]# wget https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.13-3.2.fc30.x86_64.rpm
安装containerd.io
[root@kubemaster docker]# rpm -ivh containerd.io-1.2.13-3.2.fc30.x86_64.rpm
说明:如果遇到提示:
[root@kubemaster docker]# rpm -ivh containerd.io-1.2.13-3.2.fc30.x86_64.rpm 警告:containerd.io-1.2.13-3.2.fc30.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 621e9f35: NOKEY 错误:依赖检测失败: container-selinux >= 2:2.74 被 containerd.io-1.2.13-3.2.fc30.x86_64 需要
则执行:
[root@kubemaster docker]# dnf install container-selinux
3,下载/安装docker-ce
下载docker-ce的repo
[root@kubemaster ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
安装docker-ce:
[root@kubemaster docker]# dnf install docker-ce
4,查看docker版本
[root@kubemaster docker]# docker --version Docker version 19.03.11, build 42e35e61f3
5,设置docker服务自动启动
查看docker这个服务是否已设置为自启动?
[root@kubemaster docker]# systemctl is-enabled docker
disabled
如果是disabled,则设置为自启动
[root@kubemaster docker]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
再次查看:
[root@kubemaster docker]# systemctl is-enabled docker
enabled
6,启动docker
[root@kubemaster docker]# systemctl start docker
说明:刘宏缔的架构森林是一个专注架构的博客,
网站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/05/22/centos8linuxkubernetes-an-zhuang-de-zhun-bei-gong-zuo/
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,配置docker的cgroup驱动为systemd
1,查看当前的cgroup驱动
[root@kubemaster docker]# docker info | grep Cgroup Cgroup Driver: cgroupfs
2,修改docker的cgroup驱动为systemd
[root@kubemaster docker]# vi /etc/docker/daemon.json
增加一条:
"exec-opts": ["native.cgroupdriver=systemd"]
内容形如:
{ "exec-opts": ["native.cgroupdriver=systemd"] }
3,重启docker服务
[root@kubemaster docker]# systemctl restart docker
4,查看效果:
[root@kubemaster docker]# docker info | grep Cgroup Cgroup Driver: systemd
已生效
三,关闭selinux
1,临时关闭
[root@kubemaster liuhongdi]# setenforce 0
2,重启后也生效,直接禁用
[root@kubemaster liuhongdi]# vi /etc/selinux/config
设置配置项为:
SELINUX=disabled
重启服务器
[root@kubemaster liuhongdi]# reboot
再次查看效果:
[root@kubemaster ~]# getenforce
Disabled
四,关闭swap
1,临时关闭swap
[root@kubemaster ~]# swapoff -a
查看效果:
[root@kubemaster ~]# free -m total used free shared buff/cache available Mem: 3752 338 2611 9 802 3173 Swap: 0 0 0
可以看到swap的total值为0
2,使重启也可以生效:
[root@kubemaster ~]# vi /etc/fstab
把有swap分区的一行记录注释掉
修改后形如:
[root@kubemaster ~]# more /etc/fstab ... /dev/mapper/cl-root / xfs defaults 0 0 UUID=01d7e24f-b591-41f5-904c-78534f8e257e /boot ext4 defaults 1 2 /dev/mapper/cl-home /home xfs defaults 0 0 #/dev/mapper/cl-swap swap swap defaults 0 0
五,配置hostname
1,用ip a查询本地的ip:
[root@kubemaster ~]# ip a
2,把主机名添加到/etc/hosts
[root@kubemaster ~]# vi /etc/hosts
增加一行:
192.168.219.136 kubemaster
3,如需修改本地hostname,用hostnamectl命令:
例:
[root@centos8 ~]# hostnamectl set-hostname kubemaster
然后退出重新登录
六,配置防火墙:firewalld
看到有一些教程在教给大家关闭防火墙,这个做法在内网测试还可以,
生产环境肯定不能这样做,
大家可以把node节点的ip加入到master的防火墙中,
例如: node节点的地址为192.168.3.59
[root@kubemaster ~]# firewall-cmd --permanent --zone=trusted --add-source=192.168.3.59 success
重新加载防火墙规则
[root@kubemaster ~]# firewall-cmd --reload
success
查看添加的效果:
[root@kubemaster ~]# firewall-cmd --list-all --zone=trusted
七,查看linux的版本:
[root@kubemaster ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [root@kubemaster ~]# uname -r 4.18.0-193.6.3.el8_2.x86_64