アマゾンウェブサービスは、使い慣れたプログラミング言語でKubernetesアプリケーションと再利用可能なコンポーネントを定義できるオープンソースプロジェクト「CDK for Kubernetes(cdk8s)」のアルファ版を、5月18日に発表した。
cdk8sは、TypeScriptやPythonといったプログラミング言語で、標準Kubernetes YAMLの作成を可能にするツールで、オンプレミスとクラウドの両方で実行している任意のKubernetesクラスタのアプリケーションを定義できる。
コアKubernetes APIオブジェクトとカスタムリソース(CRD)の両方を、「コンストラクト」と呼ばれる強く型付けされたクラスとしてインポート可能なので、オブジェクト指向プログラミングのプリミティブを活用したKubernetesアプリケーションの定義を実現する。
一般的なKubernetesパターンをコードライブラリとして公開し、任意のアプリケーションで参照できるので、アプリケーションの定義や管理が容易になり、Kubernetesの宣言型API上での構築が可能になる。また、使い慣れたプログラミング言語、IDE、ツール、テクニックを用いてKubernetesを作れる。
なお、cdk8sコードは命令型言語で記述されているが、最終的には純粋なKubernetes YAMLとして出力されるので、宣言型の適切な状態アプローチのロバスト性を損なうことなく、命令型プログラミングの表現力とシンプルさを利用できる。また、CLIツールが含まれており、Kubernetes APIの任意のバージョンのプロジェクトへのインポートや、カスタムリソース定義のインポートなどが可能になっている。
現時点での対応言語はTypeScript、JavaScript、Pythonで、今後はGo言語を含むさらに多くのプログラミング言語のサポートを予定する。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です