使用 Kubespray 安装 Kubernetes

    Kubespray 是一个由 playbooks、清单(inventory)、供应工具和通用 OS/Kubernetes 集群配置管理任务的领域知识组成的。 Kubespray 提供:

    • 高可用性集群
    • 可组合属性
    • 支持大多数流行的 Linux 发行版
      • CentOS / RHEL / Oracle Linux 7、8
      • Debian Buster,Jessie,Stretch,Wheezy
      • Fedora 31、32
      • Fedora CoreOS
      • openSUSE Leap 15
      • Kinvolk 的 Flatcar Container Linux
    • 持续集成测试

    要选择最适合你的用例的工具,请阅读以 kubeadm 和 。

    按以下要求来配置服务器:

    • 在将运行 Ansible 命令的计算机上安装 Ansible v2.9 和 python-netaddr
    • 运行 Ansible Playbook 需要 Jinja 2.11(或更高版本)
    • 目标服务器必须有权访问 Internet 才能拉取 Docker 镜像。否则,需要其他配置()
    • 目标服务器配置为允许 IPv4 转发
    • 你的 SSH 密钥必须复制到清单中的所有服务器部分
    • 防火墙不受管理,你将需要按照以前的方式实施自己的规则。为了避免在部署过程中出现任何问题,你应该禁用防火墙
    • 如果从非 root 用户帐户运行 kubespray,则应在目标服务器中配置正确的特权升级方法。然后应指定“ansible_become” 标志或命令参数 “—become” 或 “-b”

    Kubespray 提供以下实用程序来帮助你设置环境:

    (2/5)编写清单文件

    设置服务器后,请创建一个 。你可以手动执行此操作,也可以通过动态清单脚本执行此操作。有关更多信息,请参阅“建立你自己的清单”。

    • 选择部署模式: kubeadm 或非 kubeadm
    • CNI(网络)插件
    • DNS 配置
    • 控制平面的选择:本机/可执行文件或容器化
    • 组件版本
    • Calico 路由反射器
    • 组件运行时选项
    • 证书生成方式

    可以修改变量文件以进行 Kubespray 定制。 如果你刚刚开始使用 Kubespray,请考虑使用 Kubespray 默认设置来部署你的集群并探索 Kubernetes 。

    (4/5)部署集群

    接下来,部署你的集群:

    使用 进行j集群部署。

    大型部署(超过 100 个节点)可能需要特定的调整,以获得最佳效果。

    Kubespray 提供了一种使用 验证 Pod 间连接和 DNS 解析的方法。 Netchecker 确保 netchecker-agents pod 可以解析。 DNS 请求并在默认名称空间内对每个请求执行 ping 操作。 这些 Pods 模仿其余工作负载的类似行为,并用作集群运行状况指示器。

    扩展集群

    你可以通过运行 scale playbook 向集群中添加工作节点。有关更多信息, 请参见 “添加节点”。 你可以通过运行 remove-node playbook 来从集群中删除工作节点。有关更多信息, 请参见 “”。

    你可以通过运行 upgrade-cluster Playbook 来升级集群。有关更多信息,请参见 “升级”。

    你可以通过 Playbook 重置节点并清除所有与 Kubespray 一起安装的组件。

    查看有关 Kubespray 的的计划工作。