使用 golang 代码部署一个 kubernetes Pod

Gof*_*med 2 go kubernetes kubectl

是否有可能使用golang代码而不是带有kubectl的命令行 Linux部署kubernetes Pod

Emr*_*ain 9

是的。绝对可以。Kubernetes 是用 golang 编写的。它有官方客户端。您可以使用此 go 客户端创建、删除、修补、列出和控制几乎所有 Kubernetes 资源。

这是官方客户端存储库:kubernetes/client-go

我在这里创建了一个示例存储库来展示如何使用client-go.

您必须执行以下操作才能使用此客户端创建 pod。我们将创建一个简单的busybox pod。

  1. configuration使用您的 kube-config 文件创建。一般配置文件是$HOME/.kube/configfile。请参阅此处的示例。
  2. 创建一个clientset使用这个configuration。请参阅此处的示例。
  3. 现在,生成我们要部署的 pod 定义。请参阅此处的示例。
  4. 最后,使用clientset. 请参阅此处的示例。