Member-only story
Kubernetesでマルチテナンシーを管理する方法
大規模な組織ではKubernetesクラスターをどのように管理していますか?すべてのチームに対して別々のクラスターを維持するのでしょうか?すべての環境に対してですか?すべての素晴らしい機能を別にしても、Kubernetesを導入し組織が大きくなっていくと、管理オーバーヘッドが発生します。インフラストラクチャが大きくなるにつれて、リソース、ユーザー、アクセスを管理する効率的な方法を見つけなければならなくなります。
正しいアプローチとは?
チームごと、環境ごとに異なるクラスターを管理することは、最も効率的な方法とは言えません。これらのクラスターを管理するために多くの専門家が必要になり,これらのマスターノードに多くのコストがかかり,チームごとにクラスターをデプロイしてセットアップするために管理者にすべてを委ねなければならなくなります。そのため、中央管理、あるいは*セントラルクラスターが必要になります。
セントラルクラスターの問題
ここでは、大きく分けて2つの問題があります。
*アイソレーション:ここでの最大の問題は、分離です。あるプロジェクトのリソースが他のプロジェクトの妨げにならないようにする必要がある。
アクセス:チームは自分たちのリソースにのみアクセスできるようにする必要がある。
たった一つの解決策
Loft は、この2つの問題を費用対効果良く、効率的に解決してくれます。これから数分で、Kubernetesクラスタ内にアイソレーションを作成し(単なるネームスペース以上の話です)、それをコンフィギュアするための中央の場所を確保する方法を見ていきます。管理者のコンフィギュレーションが終わると、開発者はクラスターのプロビジョニングやアプリの管理など、さまざまなことを行うためのセルフサービス・ポータルを手に入れることができるようになります。
セットアップ
まず、セントラルクラスタが必要です。このデモでは、私のローカルマシンにデプロイしたminikubeクラスターを使用します。
次に、Loft CLIをインストールする必要があります。OSに応じた手順は、クイックスタートガイドに記載されています。私の場合は、以下のような感じです。
curl -s -L "https://github.com/loft-sh/loft/releases/latest" | sed -nE 's!.*"([^"]*loft-darwin-amd64)".*!https://github.com\1!p' | xargs -n 1 curl -L -o loft && chmod +x loft;