在 CentOS 上部署 kubernetes 集群

发布于 2020-12-25  73 次阅读


提醒:本文最后更新于 2021-01-25,文中所述内容可能发生改变,请自行核实。

环境要求

系统

  • 纯净 CentOS 7.x 及以上
  • 机器配置 2 核 4G 以上 3台及以上
  • 服务器网络互通
  • 禁止 Swap 分区

软件

环境安装
yum install -y wget net-tools

关闭防火墙

systemctl stop firewalld & systemctl disable firewalld

关闭 SELinux

vi /etc/selinux/config 文件中设置 SELINUX=disabled ,重启服务器
setenforce 0 & sed -i 's/enforcing/disabled/' /etc/selinux/config

关闭 Swap

如果服务器配置低,可以不关闭 swap,后续忽略相应报错即可

swapoff -a & sed -i 's/.swap./#&/' /etc/fstab</code>
#### 修改 Hosts
<code>cat > /etc/hosts << EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.103   master
192.168.1.104   node1
192.168.1.105   node2
EOF

时间同步

yum install -y ntpdate & ntpdate ntp.aliyun.com
echo '/5    * /usr/sbin/ntpdate -u ntp.aliyun.com' >>/var/spool/cron/root
systemctl restart crond
crontab -l

搭建

安装 Docker

1)配置 Docker 的 yum 仓库(阿里云仓库)

yum -y install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

2)查找并安装指定版本 Docker(确定 K8S 支持的 Docker 版本)

yum list docker-ce.x86_64 --showduplicates | sort -r
yum -y install docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io-1.2.13
systemctl enable docker & systemctl start docker

3)修改 Docker 的 Cgroup Driver 为 systemd(确保服务器节点在资源紧张的情况更加稳定)

mkdir /etc/docker
touch /etc/docker/daemon.json
cat > /etc/docker/daemon.json << EOF
{
    "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload & systemctl restart docker
docker info | grep Cgroup

安装 kubeadm

1)配置 kubenetes 的 yum 仓库

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2)安装 kubelat、kubectl、kubeadm

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

初始化 Master

1)配置忽略 Swap 报错
vi /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

2)初始化 Master

仅在 Master 节点执行


二十多岁的年纪,希冀着时光别走…