Kubernetes上に独自のクラウドを構築できる、クラスター、データベース、VM、ロードバランサー向けREST APIを備えた無料のオープンソースプラットフォーム。
kr8s-org/kr8s
kubectlをモデルにしたAPIを備え、同期・非同期(asyncio/trio)の両方に対応するKubernetes向けPythonクライアントライブラリ。
- スター
- 1,001
- フォーク
- 71
- 未解決の Issue
- 49
- 最終コミット
- 6 日前
これは何?
kr8sはKubernetes向けのPythonクライアントライブラリです。APIはkubectlをモデルにしているため、get、scale、label、cordon、execなどのコマンドに慣れている開発者なら、新しい用語を覚えなくても、Pod、Deployment、Nodeなどの各オブジェクトクラスに対応するメソッドを利用できます。
認証やクライアントのセットアップには扱いやすいデフォルト設定を採用しており、クライアントをキャッシュするため、関数間でAPIオブジェクトを受け渡す必要がありません。Swaggerの仕様からコードを生成するのではなく手書きしているため、ソースコードを読みやすく保てます。標準の同期APIに加え、asyncioやtrioで使える非同期APIも用意されています。
基本的なCRUDに加えて、pod exec、バックグラウンドスレッドでのポートフォワーディング、キーワード引数からのシンプルなPod定義の生成など、よく使う操作のためのヘルパーも備えています。複数のPythonバージョンと、近年のKubernetesリリースへの対応が記載されています。
主な機能
- 01学習コストを抑えられるよう、メソッド名と動作がkubectlに準拠しています。
- 02asyncioとtrioで使える同期APIと非同期APIの両方を提供します。
- 03クライアントをキャッシュするため、クライアントを受け渡さずにAPIオブジェクトを再利用できます。
- 04pod exec、ポートフォワーディング、ノードのcordonに使えるヘルパーを備えています。
- 05Swaggerから生成したクライアントコードではなく、手書きのコードを使用しています。
ユースケース
- Pythonで、クラスター内のDeploymentをスケールしたりPodにラベルを付けたりする自動化処理を書く。
- Kubernetes APIと通信する、asyncioベースのコントローラーやサービスを構築する。
- kubectlを呼び出すシェルスクリプトを、型付けされたPythonコードに置き換える。
クイックスタート
- 1
PyPIからライブラリをインストールする
pip install kr8s - 2
クラスター内のすべてのノード名を一覧表示する
使う前に知っておきたいこと
- 役立つ操作を行うには、Kubernetesクラスターへのアクセスが必要です。
トピック
よくある質問
- kr8s とは?
- kubectlをモデルにしたAPIを備え、同期・非同期(asyncio/trio)の両方に対応するKubernetes向けPythonクライアントライブラリ。 kr8sはKubernetes向けのPythonクライアントライブラリです。APIはkubectlをモデルにしているため、get、scale、label、cordon、execなどのコマンドに慣れている開発者なら、新しい用語を覚えなくても、Pod、Deployment、Nodeなどの各オブジェクトクラスに対応するメソッドを利用できます。
- kr8s は無料で使えますか?ライセンスは?
- kr8s は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- kr8s は今もメンテナンスされていますか?
- 活発にメンテナンス中。kr8s の最終コミットは 2026年10月14日 です。
- kr8s は何に使えますか?
- Pythonで、クラスター内のDeploymentをスケールしたりPodにラベルを付けたりする自動化処理を書く。 Kubernetes APIと通信する、asyncioベースのコントローラーやサービスを構築する。 kubectlを呼び出すシェルスクリプトを、型付けされたPythonコードに置き換える。
- kr8s のインストール方法は?
- PyPIからライブラリをインストールする: pip install kr8s クラスター内のすべてのノード名を一覧表示する
- kr8s はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kr8s-org/kr8s
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
kubeconfigを読み込み、kubectlと同じ方法でステータスを判定する、TauriとRust製のKubernetesデスクトップクライアント。
標準の型ヒントを使ってAPIを構築できるPython製Webフレームワーク。自動バリデーション、OpenAPIドキュメント、高いパフォーマンスを備えています。
小さなテストの作成から、アプリやライブラリの複雑な機能テストまで対応するPythonテストフレームワーク。
PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。
PythonとDjangoで構築された、在庫管理、部品追跡、REST API、プラグインシステムを備えるオープンソースの在庫管理システム。