在CentOS上部署Kubernetes(k8s)集群需要满足以下条件:
服务器硬件配置要求
- 操作系统:CentOS 7.x-86_64。
- 内存:至少2GB。
- CPU:至少2核。
- 硬盘:至少30GB可用空间。
- 网络:集群中的所有机器之间网络互通。
- 外网访问:能够访问外网,以便拉取必要的镜像。
- 禁止swap分区:建议永久关闭swap分区。
系统初始化配置
-
关闭防火墙:
- 临时关闭:
systemctl stop firewalld
- 永久关闭:
systemctl disable firewalld
- 临时关闭:
-
关闭SELinux:
- 永久关闭:
sed -i 's/enforcing/disabled/' /etc/selinux/config
- 重启后生效
- 永久关闭:
-
关闭swap分区:
- 永久关闭:
sed -ri 's/.*swap.*/#&/' /etc/fstab
- 重启后生效
- 永久关闭:
-
设置主机名:
- 使用
hostnamectl set-hostname
命令设置主机名
- 使用
-
配置hosts文件:
- 在每个节点上添加其他节点的IP和主机名的映射关系
-
配置网桥参数:
- 编辑
/etc/sysctl.d/k8s.conf
文件,添加以下内容:net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 vm.swappiness = 0
- 加载
br_netfilter
模块:modprobe br_netfilter
- 使配置生效:
sysctl --system
- 编辑
-
时间同步:
- 安装
ntpdate
并同步时间:yum install ntpdate ntpdate time.windows.com
- 安装
安装Docker
-
卸载旧版本Docker:
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
-
安装依赖:
yum install -y gcc gcc-c++
-
配置Docker仓库并安装Docker Engine:
- 添加Docker仓库:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装Docker Engine:
yum install docker-ce docker-ce-cli containerd.io
- 添加Docker仓库:
-
启动Docker并验证安装:
systemctl enable docker systemctl start docker docker version
安装Kubernetes组件
-
配置Kubernetes仓库:
- 编辑
/etc/yum.repos.d/kubernetes.repo
文件,添加以下内容:[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
- 编辑
-
安装Kubernetes组件:
yum install -y kubelet kubeadm kubectl
-
配置kubelet:
- 编辑
/etc/kubernetes/kubelet
文件,指定kubelet的工作地址、主机名、master节点的地址和端口。
- 编辑
-
启动kubelet服务:
systemctl enable kubelet systemctl start kubelet
以上步骤涵盖了在CentOS上部署Kubernetes集群的基本条件和配置流程。根据具体需求,可能还需要进行更多的配置和优化。