title: Installing Kubernetes with Digital Rebar Provision (DRP) via KRIB krib-version: 2.4 author: Rob Hirschfeld (zehicle)
title: 通过 KRIB 安装带有 Digital Rebar Provision(DRP)的 Kubernetes krib-version: 2.4
本指南帮助使用 Digital Rebar Provision 安装在裸机上托管的 Kubernetes 集群,且仅使用其内容包和 kubeadm 。
Digital Rebar Provision(DRP)是一个集成的 Golang DHCP、裸机配置(PXE/iPXE)和工作流自动化平台。 虽然 DRP 可用于调用 kubespray,但它还提供了一个独立的 Kubernetes 安装,称为 KRIB(Kubernetes Rebar Integrated Bootstrap)。
Note:KRIB 不是一个 独立的 安装程序:Digital Rebar 模板驱动一个标准的 kubeadm 配置,使用 Digital Rebar 集群模式 管理 Kubernetes 安装,在没有外部监督的情况下 选举领导者。
KRIB特点:
有关安装该平台的详细信息,请查看 Digital Rebar 文档。
Digital Rebar Provision Golang 二进制文件应该安装在类似 Linux 的系统上,内存为 16 GB 或更大(Packet.net Tiny 和 Rasberry Pi 也可以接受)。
按 Digital Rebar 安装 文档所给的步骤执行安装,允许一个或多个服务器通过 Sledgehammer 发现过程引导以向 API 注册。 这将自动安装 Digital Rebar runner 并允许后续步骤。
上传与您的 DRP 平台匹配的 KRIB 软件包(或从源代码构建)和 Cert 插件(例如:amd64 Linux v2.4.0)。两者都可以通过 RackN UX 免费获得。
Note: KRIB 文档是从源代码动态生成的,并且将比本指南更新。
遵循 KRIB 文档,为您的集群创建配置文件,并将目标服务器分配到集群配置文件中。 配置文件必须将 krib\cluster-name
和 etcd\cluster-name
参数(Params)设置为配置文件的名称。 可以通过向配置文件添加其他参数来进行集群配置选择; 不过所有参数都有安全的默认值。
将所有目标服务器分配给集群配置文件后,通过将所包含的工作流程之一分配给所有集群服务器来启动 KRIB 安装工作流程。 例如,选择 krib-live-cluster
将在 Sledgehammer 所发现的操作系统中执行不可变的部署。您可以使用其中一个预先创建的只读工作流,也可以选择构建自己的自定义变体。
对于一般安装,无需进一步操作。高级用户可以选择在相关参数中设定控制器、etcd 服务器或其他配置值。
Digital Rebar Provision 在安装过程中提供详细的日志记录和实时更新。通过 websocket 连接或监视作业列表可以获得工作流事件。
在安装过程中,KRIB 将集群配置数据写回集群配置文件。
一旦设置了 krib/cluster-admin-conf
参数,就可以通过 kubectl 访问集群。 该参数包含访问集群所需的 kubeconfig
信息。
例如,如果您将集群配置文件命名为 krib
,则以下命令将允许您从本地终端连接到已安装的集群。
::
drpcli profiles get krib params krib/cluster-admin-conf > admin.conf
export KUBECONFIG=admin.conf
kubectl get nodes
在 krib/cluster-admin-conf
设置为安装 Kubernetes UI 和 Helm 后,安装继续。只要 admin.conf
文件可用,您就可以与集群进行交互。
KRIB 提供额外的工作流来管理您的集群。有关高级集群操作的更新列表,请参阅 KRIB 文档。
您可以通过将集群配置文件添加到服务器并运行相应的工作流来将服务器添加到集群中。
您可以使用集群中任何服务器上的 krib-reset-cluster
工作流重置您的集群并清除所有配置和 TLS 证书。
Caution: 运行重置工作流程时,请小心不要指向生产集群!
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.