Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed — Kubernetes API 向けの Java クライアントライブラリで、認証、watch、exec、port-forward 操作をサポートし、クラスター、ポッド、デプロイメント、その他のリソースのプログラムによる管理を可能にします。 | Kitploit
ツール/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
認証と認可クラウドインフラストラクチャセキュリティ汎用ユーティリティコンテナセキュリティクラウドセキュリティAPIセキュリティ
GitHubshoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed

kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed

Kubernetes API 向けの Java クライアントライブラリで、認証、watch、exec、port-forward 操作をサポートし、クラスター、ポッド、デプロイメント、その他のリソースのプログラムによる管理を可能にします。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
9ヶ月前未レビュー

Kubernetes Java クライアント

Build Status Client Capabilities Client Support Level

Kubernetes API の Java クライアント。

クライアントのバージョニング

Java クライアントは Semantic Versioning を使用しています。メジャーバージョン番号は、新しい Kubernetes リリースバージョン(以下の表参照)のためにクライアントを再生成するたびに増加します。その際、新しい API が追加され、生成された Kubernetes API スタブに破壊的な変更が加えられる可能性があります。メジャーバージョンアップ時は、破壊的な変更に備えてください。

インストール

Java クライアントライブラリをローカルの Maven リポジトリにインストールするには、次のコマンドを実行します。

root@kitploit:~
git clone --recursive https://github.com/kubernetes-client/java
cd java
mvn install

詳細は公式ドキュメントを参照してください。

Maven ユーザー

プロジェクトの POM に次の依存関係を追加します。

root@kitploit:~
<dependency>
    <groupId>io.kubernetes</groupId>
    <artifactId>client-java</artifactId>
    <version>8.0.2</version>
</dependency>

Gradle ユーザー

root@kitploit:~
compile 'io.kubernetes:client-java:8.0.2'

その他

まず、次のコマンドを実行して JAR を生成します。

root@kitploit:~
git clone --recursive https://github.com/kubernetes-client/java
cd java/kubernetes
mvn package

その後、以下の JAR を手動でインストールします。

  • target/client-java-api-8.0.3-SNAPSHOT.jar
  • target/lib/*.jar

例

一般的なユースケース向けにいくつかの例を用意しました。以下に示します。

  • 設定:
    • InClusterClientExample: Kubernetes クラスター内部で実行中にクライアントを設定します。
    • KubeConfigFileClientExample: 外部から Kubernetes クラスターにアクセスするためのクライアントを設定します。
  • 基本:
    • SimpleExample: クライアントの使用方法を示す最小限の簡単な例。
    • ProtoExample: protobuf シリアライゼーションプロトコルでペイロードを送受信します。
    • (5.0.0+) PatchExample: サポートされている様々なパッチ形式でリソースオブジェクトをパッチします。kubectl patch と同等。
    • FluentExample: 流れるようなビルダースタイルで任意のリソースを構築します。
    • YamlExample: Yaml でリソースをロードまたはダンプする推奨方法。
  • ストリーミング:
    • WatchExample: 特定のリソースからの Watch イベントを購読します。kubectl get <resource> -w と同等。
    • LogsExample: 実行中のコンテナからログを取得します。kubectl logs と同等。

すべてのポッドを一覧表示:

root@kitploit:~
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1Pod;
import io.kubernetes.client.openapi.models.V1PodList;
import io.kubernetes.client.util.Config;

import java.io.IOException;

public class Example {
    public static void main(String[] args) throws IOException, ApiException{
        ApiClient client = Config.defaultClient();
        Configuration.setDefaultApiClient(client);

        CoreV1Api api = new CoreV1Api();
        V1PodList list = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null);
        for (V1Pod item : list.getItems()) {
            System.out.println(item.getMetadata().getName());
        }
    }
}

namespace オブジェクトの watch:

root@kitploit:~
import com.google.gson.reflect.TypeToken;
import io.kubernetes.client.openapi.ApiClient;
import io.kubernetes.client.openapi.ApiException;
import io.kubernetes.client.openapi.Configuration;
import io.kubernetes.client.openapi.apis.CoreV1Api;
import io.kubernetes.client.openapi.models.V1Namespace;
import io.kubernetes.client.util.Config;
import io.kubernetes.client.util.Watch;

import java.io.IOException;

public class WatchExample {
    public static void main(String[] args) throws IOException, ApiException{
        ApiClient client = Config.defaultClient();
        Configuration.setDefaultApiClient(client);

        CoreV1Api api = new CoreV1Api();

        Watch<V1Namespace> watch = Watch.createWatch(
                client,
                api.listNamespaceCall(null, null, null, null, null, 5, null, null, Boolean.TRUE, null, null),
                new TypeToken<Watch.Response<V1Namespace>>(){}.getType());

        for (Watch.Response<V1Namespace> item : watch) {
            System.out.printf("%s : %s%n", item.type, item.object.getMetadata().getName());
        }
    }
}

その他の例は examples フォルダにあります。次のコマンドで例を実行できます。

root@kitploit:~
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"

ドキュメント

すべての API およびモデルのドキュメントは、生成されたクライアントのドキュメント にあります。

互換性

凡例:

  • ✓ java-client と Kubernetes バージョンの両方でまったく同じ機能/API オブジェクトがあることを示します。
  • + java-client には Kubernetes クラスターに存在しない可能性のある機能や API オブジェクトがありますが、共通部分はすべて動作します。
  • - Kubernetes クラスターには java-client ライブラリが使用できない機能があることを示します(追加の API オブジェクトなど)。

変更の詳細については、CHANGELOG を参照してください。

コントリビューション

コントリビューションの方法については CONTRIBUTING.md を参照してください。

行動規範

Kubernetes コミュニティへの参加は、CNCF 行動規範 に準拠します。

開発

生成コードの更新

コードは openapi-generator プロジェクト によって生成されています。

我々は、コード生成のための汎用的なクロスランゲージツールを構築しており、それは kubernetes-client/gen リポジトリにホストされています。

始めるには、java クライアントディレクトリではないルートディレクトリで行います。例えば、ディレクトリ構成は次のようになります。

root@kitploit:~
${HOME}/
        src/
             gen/
             java/
...

次に gen リポジトリをクローンするには、次のコマンドを実行します。

root@kitploit:~
cd ${HOME}/src
git clone https://github.com/kubernetes-client/gen
export GEN_ROOT=${PWD}

次にクライアントを更新するには:

root@kitploit:~
cd ${HOME}/src/java
${GEN_ROOT}/gen/openapi/java.sh kubernetes ./settings

これにより、docker を利用した長めのビルドプロセスが実行され、最終的に kubernetes ディレクトリに新しく生成されたコード群が作成されます。

ツールをダウンロード
  • ExecExample: 実行中のコンテナとの "exec" セッションを確立します。kubectl exec と同等。
  • PortForwardExample: ローカルポートを Pod のポートにマッピングします。kubectl port-forward と同等。
  • AttachExample: 既存のコンテナ内で実行中のプロセスにアタッチします。kubectl attach と同等。
  • CopyExample: コンテナとの間でファイルやディレクトリをコピーします。kubectl cp と同等。
  • WebSocketsExample: 特定のリソースに対して任意の WebSocket セッションを確立します。
  • 高度: (注: 以下の例には client-java-extended モジュールが必要です)
    • (5.0.0+) InformerExample: リソースを list-watch し、ローカルキャッシュに通知を反映する informer を構築します。
    • (5.0.0+) PagerExample: サーバーサイドの負荷やネットワーク輻輳を軽減するためのページネーション(list リクエストのみ)をサポートします。
    • (6.0.0+) ControllerExample: 1つ以上のリソースを list-watch して世界の状態を調整するコントローラーを構築します。
    • (6.0.0+) LeaderElectionExample: HA コントローラーの実装に役立つリーダー選出ユーティリティです。
    • (9.0.0+) SpringIntegrationControllerExample: Spring フレームワークのビーンインジェクションに基づく Kubernetes コントローラーの構築。
    • (9.0.0+) GenericKubernetesClientExample: CRD を含む任意の Kubernetes タイプのための汎用クライアントインターフェースを構築します。
  • client version1.111.121.131.141.151.16
    3.0.0✓-----
    4.0.0+✓----
    5.0.0++✓---
    6.0.1+++✓--
    7.0.0++++✓✓
    8.0.2+++++✓