这个项目能做什么
Kubespray 是 Kubernetes SIGs 项目,提供 Ansible playbooks 和 roles,用于部署生产就绪的 Kubernetes 集群。它面向裸机和云环境,包括 AWS、GCE、Azure、OpenStack、vSphere、Equinix Metal 和 Oracle Cloud Infrastructure(实验性)。
README 中描述的主要特性:
- 高可用集群部署
- 可组合的设置,包括网络插件选择
- 支持许多流行的 Linux 发行版,如 Flatcar Container Linux、Debian、Ubuntu、CentOS Stream/RHEL、Fedora、Fedora CoreOS、openSUSE、Oracle Linux、Alma Linux、Rocky Linux 以及若干实验性发行版
- 持续集成测试
使用方式包括通过 Docker 镜像运行项目、直接使用 Ansible 或通过 Vagrant。Docker 快速入门会挂载一个 inventory 目录和一个 SSH 密钥,然后在容器内运行集群 playbook。Ansible 用法记录在入门指南中,该仓库也可以作为 Ansible collection 使用。
注意事项中提到的要求包括:控制机上需要 Ansible v2.14+、Jinja 2.11+、python-netaddr;目标服务器需要互联网访问以拉取镜像(或离线配置);IPv4 转发;以及非 root 运行时的权限提升。项目不管理防火墙。最低硬件建议是控制平面节点 2 GB 内存,工作节点 1 GB 内存。
README 列出了带有固定版本的支持组件,涵盖 Kubernetes、etcd、容器运行时(Docker、containerd、CRI-O)、CNI 插件、网络插件(Calico、Cilium、Flannel、Kube-OVN、Kube-Router、Multus、kube-vip 等)、应用程序如 cert-manager、CoreDNS、Argo CD、Helm、MetalLB 和 registry,以及存储插件,包括 AWS EBS CSI、Azure CSI、Cinder CSI、GCP PD CSI、local path 和 local volume provisioners,以及 node feature discovery。
文档链接涵盖比较、入门、inventory 和 tags、与现有 Ansible 仓库的集成、部署变量、DNS 栈、HA 模式、网络插件、Vagrant、Flatcar 和 Fedora CoreOS 引导、openSUSE 设置、下载的 artifacts、云提供商、大规模部署、添加或替换节点、升级、离线安装、NTP、加固、镜像以及路线图。还引用了社区资源和基于 Kubespray 构建的项目。
评论
0 评分人数达到10人后显示
登录后参与讨论。