用通用编程语言定义并部署云资源的基础设施即代码(IaC)工具与引擎。
kubernetes-sigs/kubespray
基于 Ansible 的工具,可在公有云或裸机上部署高可用的生产级 Kubernetes 集群。
- Star
- 18,798
- Fork
- 6,938
- 未关闭 Issue
- 188
- 最近提交
- 前天
这是什么?
Kubespray 是一组 Ansible playbook 和 role,用于安装和配置 Kubernetes 集群。它面向需要在 AWS、GCE、Azure 等公有云,OpenStack、vSphere 等私有云,或直接在裸机服务器上部署集群的运维人员,并支持高可用的控制平面。
项目采用可组合的设计。用户可以在 Calico、Cilium、flannel、kube-ovn、kube-router、macvlan、Multus 等多种 CNI 网络插件中选择,也可以通过变量选择容器运行时和存储插件。支持的操作系统包括 Debian、Ubuntu、RHEL 系列、Fedora、openSUSE 和 Flatcar,并提供离线安装方式以适用于内网隔离环境。
运行方式灵活,可以使用 Docker 镜像、本地安装的 Ansible,或通过 Vagrant 进行测试部署。项目由 Kubernetes SIG Cluster Lifecycle 维护。
核心功能
- 01可在 AWS、GCE、Azure、OpenStack、vSphere 或裸机上部署高可用 Kubernetes 集群。
- 02可选择 Calico、Cilium、flannel 等多种网络插件。
- 03支持 Debian、Ubuntu、RHEL 系列、Fedora、openSUSE 等多种 Linux 发行版。
- 04提供离线安装方式,适用于内网隔离环境。
- 05包含持续集成测试。
适用场景
- 在裸机服务器上自建 Kubernetes 集群。
- 在 OpenStack 或 vSphere 私有云环境中部署集群。
- 在无外网的隔离环境中通过本地镜像部署 Kubernetes。
- 将集群部署纳入已有的 Ansible 自动化运维体系。
快速上手
- 1
确保已安装 Docker
- 2
挂载清单和 SSH 密钥,启动 Kubespray 容器
docker run --rm -it --mount type=bind,source="$(pwd)"/inventory/sample,dst=/inventory --mount type=bind,source="${HOME}"/.ssh/id_rsa,dst=/root/.ssh/id_rsa quay.io/kubespray/kubespray:v2.31.0 bash - 3
在容器内运行集群部署 playbook
ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml
使用前须知
- 除非配置离线环境,目标服务器需要能访问互联网以拉取容器镜像。
- README 建议部署期间关闭主机防火墙,因为 Kubespray 不管理防火墙规则。
- Oracle Cloud Infrastructure 的支持标记为实验性。
标签
常见问题
- kubespray 是什么?
- 基于 Ansible 的工具,可在公有云或裸机上部署高可用的生产级 Kubernetes 集群。 Kubespray 是一组 Ansible playbook 和 role,用于安装和配置 Kubernetes 集群。它面向需要在 AWS、GCE、Azure 等公有云,OpenStack、vSphere 等私有云,或直接在裸机服务器上部署集群的运维人员,并支持高可用的控制平面。
- kubespray 可以免费使用吗?用的什么许可证?
- kubespray 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- kubespray 还在维护吗?
- 活跃维护中。kubespray 最近一次提交是在 2026年10月21日。
- kubespray 适合用来做什么?
- 在裸机服务器上自建 Kubernetes 集群。 在 OpenStack 或 vSphere 私有云环境中部署集群。 在无外网的隔离环境中通过本地镜像部署 Kubernetes。 将集群部署纳入已有的 Ansible 自动化运维体系。
- kubespray 怎么安装和运行?
- 确保已安装 Docker 挂载清单和 SSH 密钥,启动 Kubespray 容器: docker run --rm -it --mount type=bind,source="$(pwd)"/inventory/sample,dst=/inventory --mount type=bind,source="${HOME}"/.ssh/id_rsa,dst=/root/.ssh/id_rsa quay.io/kubespray/kubespray:v2.31.0 bash 在容器内运行集群部署 playbook: ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml
- 在哪里获取 kubespray?
- 源代码和安装说明在 GitHub 上:https://github.com/kubernetes-sigs/kubespray
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源 PostgreSQL 发行版,可在裸 Linux 上部署高可用集群、时间点恢复、监控及 575 个扩展。
基于 iPXE 的网络启动菜单,无需预先下载 ISO 即可引导安装多种操作系统和急救工具。
让 Terraform 通过声明式配置创建、修改和销毁 AWS 资源的 Provider 插件。
一款终端界面工具,用于在终端中浏览、监控和管理 Kubernetes 集群中的应用。
开源框架,可用 TypeScript、Python、Java、.NET 或 Go 以代码定义 AWS 云基础设施,并通过 CloudFormation 部署。