Kubernetes Gardener 快速开始
Gardener 引导
若要搭建自己的 Gardener 满足您所在组织的 Kubernetes 服务需求,可以查看 文档。 有关测试用途,也可以通过调用源代码仓库并执行 make kind-up gardener-up
(这是开发时调用 Gardener 最简单的方式) 在您的笔记本上搭建 Gardener。
另外,23 Technologies GmbH 提供了完全托管的 Gardener 服务, 能够很方便地处理所有支持的云提供商,附带免费试用机会:Okeanos。 类似的,STACKIT、B’Nerd、MetalStack 和许多其他云提供商可以将 Gardener 用作他们的 Kubernetes 引擎。
要了解有关开源项目的更多信息,请阅读 kubernetes.io 上的 Gardener 项目更新和 Gardener - Kubernetes 植物学家。
快速使用 Istio、自定义域和证书培育自己的 Gardener 是针对 Gardener 最终用户的详细教程。
安装并且配置 kubectl
如果您已经有
kubectl
CLI,请运行kubectl version --short
来检查版本。 您需要一个至少与要订购的 Kubernetes 集群版本匹配的当前版本。 如果您的kubectl
版本较旧,请按照下一步安装新版本。
访问 Gardener
在 Gardener 仪表板中创建一个项目。这实际上将创建一个名为
garden-<my-project>
的 Kubernetes 命名空间。配置 Gardener 项目的访问权限使用 kubeconfig。
如果您打算使用 Gardener 仪表板和嵌入式网络终端创建集群并与之交互,则可以跳过这一步;只有编程访问才需要这一步。
如果您还不是 Gardener 管理员,则可以在 Gardener 仪表板中创建一个技术用户: 转到 “Members” 部分并添加服务帐户。然后,您可以为您的项目下载 kubeconfig。 确保在您的 Shell 中设置
export KUBECONFIG=garden-my-project.yaml
。
创建 Kubernetes 集群
您可以通过提供集群规范 yaml 文件,使用 kubectl
CLI 创建集群。 您可以在这里找到关于 GCP 的示例。 确保命名空间与您的项目命名空间匹配。然后只需将准备好的 “shoot” 集群清单与 kubectl
配合使用:
$ kubectl apply --filename my-cluster.yaml
更简单的替代方法是按照 Gardener 仪表板中的集群创建向导来创建集群:
为集群配置 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 仪表板删除集群,或者使用指向您的 garden-my-project.yaml
kubeconfig 的 kubectl
执行以下操作:
$ 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