本文使用kubeadm进行分布式模式的k8s搭建。部署模式为1个master和2个worker节点。
在作者搭建时候kubeadm使用的当前最新的v1.25.0版本,在详解搭建过程中我会尽量在安装过程中采用指定版本的模式讲解。
部署准备
部署简易的分布式k8s集群至少需要3台机器,1台部署master服务(kube-proxy,etcd,apiserver,kube-controller-manager)2台机器作为worker用于部署服务。
机器初始化
在部署k8s之前因为网络以及内存的一些要求需要对机器进行相应的初始化操作。必不可少的步骤如下:
1. os层面相关设置
1.1 关闭防火墙
systemctl stop firewalld systemctl disable firewalld
通过 systemctl status firewalld查看状态,输出如下:
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
1.2 设置SELinux
vi /etc/selinux/config
添加如下SELINUX=disabled
注释掉SELINUX=enforcing,SELINUXTYPE=targeted
1.3 关闭swap内存
1)系统级零时关闭
swapoff -a ,重启后失效
2)系统级全部关闭
vi /etc/fstab,注释掉swap那一行
需要重启。重启后不失效
1.4 设置iptables
1)系统级零时关闭
swapoff -a ,重启后失效
2)系统级全部关闭
vi /etc/fstab,注释掉swap那一行
需要重启。重启后不失效
2. 安装符合要求docker
本文的容器使用的是docker,在k8s1.25.0中队docker的版本有一定的要求,本文使用20.10.17版本。
如果docker没有安装,在centos下建议使用阿里源安装do