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
のインストールと設定
既に
kubectl
CLIをお持ちの場合は、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