Kubernetes Gardener 快速开始

Gardener 引导

若要搭建自己的 Gardener 满足您所在组织的 Kubernetes 服务需求, 可以查看文档。 有关测试用途,也可以通过调用源代码仓库并执行 make kind-up gardener-up(这是开发时调用 Gardener 最简单的方式) 在您的笔记本上搭建 Gardener

另外,23 Technologies GmbH 提供了完全托管的 Gardener 服务, 能够很方便地处理所有支持的云提供商,附带免费试用机会:Okeanos。 类似的,STACKITB’NerdMetalStack 和许多其他云提供商可以将 Gardener 用作他们的 Kubernetes 引擎。

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

快速使用 Istio、自定义域和证书培育自己的 Gardener 是针对 Gardener 最终用户的详细教程。

安装并且配置 kubectl

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

  2. 安装 kubectl CLI

访问 Gardener

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

  2. 配置 Gardener 项目的访问权限使用 kubeconfig。

    如果您打算使用 Gardener 仪表板和嵌入式网络终端创建集群并与之交互,则可以跳过这一步;只有编程访问才需要这一步。

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

    为 Gardener 下载 kubeconfig

创建 Kubernetes 集群

您可以通过提供集群规范 yaml 文件,使用 kubectl CLI 创建集群。 您可以在这里找到关于 GCP 的示例。 确保命名空间与您的项目命名空间匹配。然后只需将准备好的 “shoot” 集群清单与 kubectl 配合使用:

  1. $ kubectl apply --filename my-cluster.yaml

更简单的替代方法是按照 Gardener 仪表板中的集群创建向导来创建集群:

创建 shoot 集群

为集群配置 kubectl

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

  1. $ 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 仪表板删除集群,或者使用指向您的 garden-my-project.yaml kubeconfig 的 kubectl 执行以下操作:

  1. $ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project annotate shoot my-cluster confirmation.garden.sapcloud.io/deletion=true
  2. $ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project delete shoot my-cluster