--- title: Kubernetes Gardener 快速开始 description: 使用 Gardener 快速搭建 Istio 服务。 weight: 19 aliases: - /zh/docs/setup/kubernetes/platform-setup/gardener/ skip_seealso: true keywords: [platform-setup,kubernetes,gardener,sap] --- ## Gardener 引导 {#bootstrapping-gardener} 使用 [Gardener](https://gardener.cloud) 建立自己的集群, 可以查看 [文档](https://github.com/gardener/gardener/blob/master/docs/README.md), 也可以查看 [landscape-setup-template](https://github.com/gardener/landscape-setup-template) 项目。 要了解有关此开源项目的更多信息,请阅读 [`kubernetes.io` 博客](https://kubernetes.io/blog/2018/05/17/gardener/). ### 安装并且配置 `kubectl`{#install-and-configure-Kubernetes} 1. 如果您已经有 `kubectl` CLI,请运行 `kubectl version --short` 来检查版本。您需要 `v1.10` 或更高版本。 如果您的 `kubectl` 较旧,请按照下一步安装新版本。 1. [安装 `kubectl` CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/). ### 访问 Gardener{#access-gardener} 1. 在 Gardener 仪表板中创建一个项目。这实际上将创建一个名为 `garden-` 的 Kubernetes 命名空间。 1. [配置对您的 Gardener 项目的访问权限](https://kubernetes.io/docs/tasks/tools/install-kubectl/#verifying-kubectl-configuration) 使用 kubeconfig,如果您还不是 Gardener 管理员,则可以在 Gardener 仪表板中创建一个用户:转到 "Members" 部分并添加服务帐户。 然后,您可以为您的项目下载 kubeconfig。如果使用用户界面创建集群,则可以跳过此步骤。 只有通过程序访问才需要它,请确保在您的 shell 中设置`export KUBECONFIG=garden-my-project.yaml`。 ![Download kubeconfig for Gardener](images/gardener_service_account.png "downloading the kubeconfig using a service account") ### 创建 Kubernetes 集群{#creating-a-Kubernetes-cluster} 您可以通过提供集群规范 yaml 文件,使用 `kubectl` cli 创建集群。您可以在[这博客里](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml)找到关于 GCP 的示例。 确保名称空间与您的项目名称空间匹配。然后只需将准备好的 "shoot" 群集 CRD 与 `kubectl` 配合使用: {{< text bash >}} $ kubectl apply --filename my-cluster.yaml {{< /text >}} 更简单的替代方法是按照 Gardener 仪表板中的集群创建向导来创建集群: ![shoot creation](images/gardener_shoot_creation.png "shoot creation via the dashboard") ### 为集群配置 `kubectl`{#configure-Kubernetes-for-your-cluster} 现在,您可以在 Gardener 仪表板中或通过 cli 为新创建的集群下载 kubeconfig,如下所示: {{< text bash >}} $ kubectl --namespace shoot--my-project--my-cluster get secret kubecfg --output jsonpath={.data.kubeconfig} | base64 --decode > my-cluster.yaml {{< /text >}} 此 kubeconfig 文件具有管理员对您群集的完全访问权限。对于本指南的其余部分,请确保已设置 `export KUBECONFIG=my-cluster.yaml`。 ## 删除{#cleaning-up} 使用 Gardener 仪表板删除集群,或者使用指向您的 `garden-my-project.yaml` kubeconfig 的 `kubectl` 执行以下操作: {{< text bash >}} $ 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 {{< /text >}}