Kubernetes Gardener

引导 Gardener

要为您的组织的 Kubernetes-as-a-Service 需求设置自己的 Gardener,请遵循 文档。为了测试目的,您可以通过查看源代码仓库并在本地设置 Gardener,只需运行 make kind-up gardener-up(最简单的开发者方式来查看 Gardener!)。

或者,23 Technologies GmbH 提供一个完全托管的 Gardener 服务,它与所有支持的云提供商兼容,并提供免费试用:Okeanos。类似地,云提供商,例如 STACKITB'NerdMetalStack 等等,运行 Gardener 作为他们的 Kubernetes 引擎。

要了解有关此开源项目的起源的更多信息,请在 kubernetes.io 上阅读 Gardener 项目更新Gardener - Kubernetes 植物学家

自己使用 Istio、自定义域和证书为 Gardener 创建一个 Shoot 是一个针对 Gardener 的最终用户的详细教程。

安装和配置 kubectl

  1. 如果您已经拥有 kubectl CLI,请运行 kubectl version --short 来检查版本。您需要一个至少与您要订购的 Kubernetes 集群版本匹配的当前版本。如果您的 kubectl 版本较旧,请按照下一步安装更新的版本。

  2. 安装 kubectl CLI.

访问 Gardener

  1. 在 Gardener 仪表盘中创建一个项目。这将创建一个名为 garden-<my-project> 的 Kubernetes 命名空间。

  2. 使用 kubeconfig 配置对您的 Gardener 项目的访问

    如果您还不是 Gardener 管理员,您可以在 Gardener 仪表盘中创建一个技术用户:转到“成员”部分并添加一个服务帐户。然后,您可以下载项目的 kubeconfig。确保在 shell 中 export KUBECONFIG=garden-my-project.yaml下载 Gardener 的 kubeconfig

创建 Kubernetes 集群

您可以使用 kubectl cli 通过提供一个集群规范 YAML 文件来创建您的集群。您可以找到一个适用于 GCP 的示例 这里。确保命名空间与您的项目的命名空间匹配。然后使用 kubectl 应用准备好的所谓的“shoot”集群清单

$ kubectl apply --filename my-cluster.yaml

一个更简单的替代方法是按照 Gardener 仪表盘中的集群创建向导创建集群: shoot 创建

为您的集群配置 kubectl

您现在可以在 Gardener 仪表盘中或通过 cli 下载您新创建的集群的 kubeconfig,如下所示

$ kubectl --namespace shoot--my-project--my-cluster get secret kubecfg --output jsonpath={.data.kubeconfig} | base64 --decode > my-cluster.yaml

此 kubeconfig 文件对您的集群拥有完全管理员访问权限。对于任何涉及负载集群的活动,请确保您已设置 export KUBECONFIG=my-cluster.yaml

清理

使用 Gardener 仪表盘删除您的集群,或者执行以下操作,并使用 kubectl 指向您的 garden-my-project.yaml kubeconfig

$ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project annotate shoot my-cluster confirmation.garden.sapcloud.io/deletion=true $ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project delete shoot my-cluster
这些信息是否有用?
您有任何改进建议吗?

感谢您的反馈!