Kubernetes Gardener
Gardenerのブートストラップ
組織のKubernetes-as-a-Serviceのニーズに対応する独自のGardenerを設定するには、ドキュメントに従ってください。テスト目的では、ソースコードリポジトリをチェックアウトし、make kind-up gardener-upを実行するだけで、ラップトップにGardenerを設定できます(Gardenerをチェックアウトする最も簡単な開発者向けの方法です!)。
あるいは、23 Technologies GmbHは、サポートされているすべてのクラウドプロバイダーで動作し、無料トライアル付きのフルマネージドGardenerサービスを提供しています。Okeanos。同様に、STACKIT、B'Nerd、MetalStackなどのクラウドプロバイダーも、Kubernetes EngineとしてGardenerを実行しています。
このオープンソースプロジェクトの開始の詳細については、Gardener Project UpdateとGardener - The Kubernetes Botanistをkubernetes.ioでご確認ください。
Gardener yourself a Shoot with Istio, custom Domains, and Certificatesは、Gardenerのエンドユーザー向けの詳しいチュートリアルです。
kubectlのインストールと設定
既に
kubectlCLIをお持ちの場合は、kubectl version --shortを実行してバージョンを確認してください。注文するKubernetesクラスタのバージョンと少なくとも一致する最新バージョンが必要です。kubectlが古い場合は、次の手順に従って新しいバージョンをインストールしてください。
Gardenerへのアクセス
Gardenerダッシュボードでプロジェクトを作成します。これにより、
garden-<my-project>という名前のKubernetes名前空間が作成されます。kubeconfigを使用して、Gardenerプロジェクトへのアクセスを設定します。
既にGardener管理者でない場合は、Gardenerダッシュボードで技術ユーザーを作成できます。「メンバー」セクションに移動してサービスアカウントを追加します。その後、プロジェクトのkubeconfigをダウンロードできます。シェルで
export KUBECONFIG=garden-my-project.yamlを実行してください。
Kubernetesクラスタの作成
クラスタ仕様YAMLファイルを提供することで、kubectl cliを使用してクラスタを作成できます。GCPの例はこちらにあります。名前空間がプロジェクトの名前空間と一致することを確認してください。次に、準備された「shoot」クラスタマニフェストをkubectlで適用します。
$ kubectl apply --filename my-cluster.yaml
より簡単な方法としては、Gardenerダッシュボードのクラスタ作成ウィザードに従ってクラスタを作成する方法があります。
クラスタに対するkubectlの設定
新しく作成したクラスタのkubeconfigは、Gardenerダッシュボードまたはcliで次のようにダウンロードできます。
$ 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