Repolode
kubernetes-sigs

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. 1

    确保已安装 Docker

  2. 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. 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 数据每日更新。

相关项目