深度解析 KubeKey 与 KubeSphere:快速构建现代化 Kubernetes 集群
一、技术栈概述
KubeKey(KK)是由 KubeSphere 团队开发的轻量级 Kubernetes 集群部署工具,其优势在于:
基于 Ansible 的安装程序具有大量软件依赖性,例如 Python。KubeKey 是使用 Go 语言开发的,可以消除在各种环境中出现的问题,从而提高安装成功率。
KubeKey 使用 Kubeadm 在节点上尽可能多地并行安装 K8s 集群,以降低安装复杂性并提高效率。与较早的安装程序相比,它将大大节省安装时间。
KubeKey 支持将集群从 all-in-one 扩展到多节点集群甚至 HA 集群。
KubeKey 旨在将集群当作一个对象操作,即 CaaO。
有三种情况可以使用 KubeKey
仅安装 Kubernetes
用一个命令中安装 Kubernetes 和 KubeSphere
首先安装 Kubernetes,然后使用 ks-installer 在其上部署 KubeSphere
二、环境支持
Linux 发行版
Ubuntu 16.04, 18.04, 20.04, 22.04
Debian Bullseye, Buster, Stretch
CentOS/RHEL 7
AlmaLinux 9.0
SUSE Linux Enterprise Server 15
建议使用 Linux Kernel 版本: 4.15 or later 可以通过命令 uname -srm 查看 Linux Kernel 版本。
Kubernetes 版本
v1.19: v1.19.15
v1.20: v1.20.10
v1.21: v1.21.14
v1.22: v1.22.15
v1.23: v1.23.10 (default)
v1.24: v1.24.7
v1.25: v1.25.3
要求和建议
最低资源要求(仅对于最小安装 KubeSphere):
2 核虚拟 CPU
4 GB 内存
20 GB 储存空间
/var/lib/docker 主要用于存储容器数据,在使用和操作过程中会逐渐增大。对于生产环境,建议 /var/lib/docker 单独挂盘。
操作系统要求:
SSH 可以访问所有节点。
所有节点的时间同步。
sudo/curl/openssl 应在所有节点使用。
docker 可以自己安装,也可以通过 KubeKey 安装。
Red Hat 在其 Linux 发行版本中包括了 SELinux,建议关闭SELinux或者将SELinux的模式切换为Permissive[宽容]工作模式
建议您的操作系统环境足够干净 (不安装任何其他软件),否则可能会发生冲突。
如果在从 dockerhub.io 下载镜像时遇到问题,建议准备一个容器镜像仓库 (加速器)。为 Docker 守护程序配置镜像加速。
默认情况下,KubeKey 将安装 OpenEBS 来为开发和测试环境配置 LocalPV,这对新用户来说非常方便。对于生产,请使用 NFS/Ceph/GlusterFS 或商业化存储作为持久化存储,并在所有节点中安装相关的客户端 。
如果遇到拷贝时报权限问题Permission denied,建议优先考虑查看SELinux的原因。
依赖要求:
KubeKey 可以同时安装 Kubernetes 和 KubeSphere。在版本1.18之后,安装kubernetes前需要安装一些依赖。你可以参考下面的列表,提前在你的节点上检查并安装相关依赖。

网络和 DNS 要求:
确保 /etc/resolv.conf 中的 DNS 地址可用。否则,可能会导致集群中出现某些 DNS 问题。
如果您的网络配置使用防火墙或安全组,则必须确保基础结构组件可以通过特定端口相互通信。建议您关闭防火墙或遵循链接配置:网络访问。
三、KubeKey 安装
安装必要工具
yum install -y curl wget openssl socat conntrack
离线安装包(推荐)
下载解压后可直接使用。
添加到环境变量下可任意位置调用(可选)
chmod +x kk
sudo mv kk /usr/local/bin/
使用脚本获取 KubeKey(可选)
如果无法访问 https://github.com, 请先执行 export KKZONE=cn.
curl -sfL https://ge

最低0.47元/天 解锁文章
1755

被折叠的 条评论
为什么被折叠?



