コンテンツに移動
デベロッパー

Kubernetes 上の Cloud Foundry アプリに Kf を使用する

2021年6月22日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-06-14_at_2.07.37_PM.max-700x700.png
Google Cloud Japan Team

※この投稿は米国時間 2021 年 6 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

Kubernetes ベースの新規のアプリケーションを構築している企業が増えている一方で、既存のワークロードを移行したいと考えている企業がまだ多いのも事実です。これらのアプリケーション向けの共通のソース プラットフォームが Cloud Foundry です。しかしながら、既存の Cloud Foundry アプリケーションを Kubernetes 上で稼働させることは、それほど容易なことではありません。アプリケーション コード変更や、チーム間での大きなプロセス変更を避けたい場合はなおさらです。つまり、Kf を使用せずに、そのような大きな仕事をするのは難しいのです。

Kf は、既存のプロセスへの影響を最小限に抑えながら、既存の Cloud Foundry のワークロードを Kubernetes に容易に移行させることができる Google Cloud のサービスです。

Kf の特長は、既存の Cloud Foundry cf コマンドライン ユーティリティに代わる、kf という名前のコマンドライン インターフェース(CLI)です。この kf CLI は、バインディング、サービス、アプリ、ルートなどを管理する機能といった、特によく使用される cf 機能を備えています。

たとえば、kf push コマンドを実行するだけで、既存のアプリケーションをデプロイできます。

サーバーサイドでは、Kf はいくつかのオープンソース テクノロジーで構築されています。また、これらのテクノロジーが Google Cloud で実装されている場合もあります。たとえば GKE は、Google の Kubernetes ベースのマネージド環境であり、アプリケーションを管理および実行するためのプラットフォームを提供します。ルーティングと Ingress は、Google Cloud が管理する Istio ベースのサービス メッシュである Anthos Service Mesh によって処理されます。最後に、Tekton は Kf のオンクラスター ビルド機能を提供します。これらのテクノロジーは Kf によって抽象化されているため、デベロッパーが意識する必要はありません。

スペース、バインディング、サービスなどの Kf プリミティブは、Kubernetes のカスタム リソースやコントローラとして実装されています。カスタム リソースは、Kf の API として効果的な役割を果たし、kf CLI でシステムとやり取りする目的で使用されます。コントローラは、Kf の CRD を使用してシステム内の他のコンポーネントをオーケストレートします。

このアプローチのメリットは、既存のワークフローに精通しているデベロッパーが、kf CLI でそれらのワークフローをほぼ再現できる点です。一方で、Kubernetes を熟知しているプラットフォーム オペレーターは、kubectl を使って CRD やコントローラを操作できます。

たとえば、Kf クラスタ上で動作しているアプリの一覧を表示するには、以下のいずれかのコマンドを実行します。

読み込んでいます...

CF / Kf のスペースは、Kubernetes の名前空間に 1 対 1 でマッピングされることに注意してください。

kf.dev API グループの api-resources を調べることで、すべてのカスタム リソースの一覧を取得できます。

読み込んでいます...

Kf により、デベロッパーは使い慣れたインターフェースで作業を続行でき、プラットフォーム オペレーターは宣言可能な Kubernetes プラクティスや Anthos Config Management などのツールを使ってクラスタを管理できます。これは、既存の Cloud Foundry アプリケーションを Kubernetes 上で管理したいと考えている場合はまさに最適であるといえます。

Kf について詳しくは、YouTube に最近公開された動画をご覧ください。 この動画には、ここで説明したいくつかのコンセプトのレビューと、短いデモが含まれています。ご興味のある方は、クイックスタートをお試しください。ドキュメントは、いつでも読むことができます。

-Cloud デベロッパー アドボケイト Mike Coleman

投稿先