使用 Kubespray 安装 Kubernetes
Kubespray 是由若干 Ansible Playbook、 、 制备工具和通用 OS/Kubernetes 集群配置管理任务的领域知识组成的。
Kubespray 提供:
- 高可用性集群
- 可组合属性(例如可选择网络插件)
- 支持大多数流行的 Linux 发行版
- Flatcar Container Linux
- Debian Bullseye、Buster、Jessie、Stretch
- CentOS/RHEL 7、8、9
- Fedora 35、36
- Fedora CoreOS
- openSUSE Leap 15.x/Tumbleweed
- Oracle Linux 7、8、9
- Alma Linux 8、9
- Rocky Linux 8、9
- Kylin Linux Advanced Server V10
- Amazon Linux 2
- 持续集成测试
要选择最适合你的用例的工具,请阅读 kubeadm 和 之间的这份比较。
按以下来配置服务器:
- Kubernetes 的最低版本要求为 V1.22
- 在将运行 Ansible 命令的计算机上安装 Ansible v2.11(或更高版本)、Jinja 2.11(或更高版本)和 python-netaddr
- 目标服务器必须能够访问 Internet 才能拉取 Docker 镜像。否则, 需要其他配置(请参见离线环境)
- 目标服务器配置为允许 IPv4 转发
- 如果针对 Pod 和 Service 使用 IPv6,则目标服务器配置为允许 IPv6 转发
- 防火墙不是由 kubespray 管理的。你需要根据需求设置适当的规则策略。为了避免部署过程中出现问题,可以禁用防火墙。
- 如果从非 root 用户帐户运行 kubespray,则应在目标服务器中配置正确的特权升级方法并指定 标志或命令参数 或
Kubespray 提供以下实用程序来帮助你设置环境:
(2/5)编写清单文件
Kubespray 能够自定义部署的许多方面:
- 选择部署模式: kubeadm 或非 kubeadm
- CNI(网络)插件
- DNS 配置
- 控制平面的选择:本机/可执行文件或容器化
- 组件版本
- Calico 路由反射器
- 组件运行时选项
- 证书生成方式
可以修改变量文件以进行 Kubespray 定制。 如果你刚刚开始使用 Kubespray,请考虑使用 Kubespray 默认设置来部署你的集群并探索 Kubernetes。
(4/5)部署集群
接下来,部署你的集群:
使用 ansible-playbook 进行集群部署。
大型部署(超过 100 个节点) 可能需要, 以获得最佳效果。
Kubespray 提供了其他 Playbook 来管理集群: scale 和 upgrade。
扩展集群
你可以通过运行 scale playbook 向集群中添加工作节点。有关更多信息, 请参见 “”。 你可以通过运行 remove-node playbook 来从集群中删除工作节点。有关更多信息, 请参见 “删除节点”。
你可以通过运行 upgrade-cluster Playbook 来升级集群。有关更多信息,请参见 “升级”。
你可以通过 reset playbook 重置节点并清除所有与 Kubespray 一起安装的组件。
注意:
- Slack 频道:#kubespray (你可以在获得邀请)。
- GitHub 问题。
- 查看有关 Kubespray 的 路线图的计划工作。