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://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: 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 
原文地址:https://www.cnblogs.com/architectforest/p/13141743.html