Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed | Kitploit
Tools/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
Authentifizierung & AutorisierungCloud-Infrastruktur-SicherheitAllgemeine DienstprogrammeContainer-SicherheitCloud-SicherheitAPI-Sicherheit
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

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 9 MonatenNoch nicht geprüft

Kubernetes-Java-Client

Build Status Client Capabilities Client Support Level

Java-Client für die kubernetes-API.

Client-Versionierung

Der Java-Client verwendet Semantic Versioning. Wir erhöhen die Hauptversionsnummer immer dann, wenn wir den Client für eine neue Kubernetes-Release-Version neu generieren (siehe Tabelle unten). Dabei werden neue APIs hinzugefügt und es kann möglicherweise zu Breaking Changes in den generierten Kubernetes-API- Stubs kommen. Wenn Sie eine Hauptversion aktualisieren, seien Sie auf mögliche Breaking Changes vorbereitet.

Installation

Um die Java-Client-Bibliothek in Ihrem lokalen Maven-Repository zu installieren, führen Sie einfach Folgendes aus:

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

Weitere Informationen finden Sie in der offiziellen Dokumentation.

Maven-Benutzer

Fügen Sie diese Abhängigkeit zur POM-Datei Ihres Projekts hinzu:

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

Gradle-Benutzer

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

Andere

Erzeugen Sie zunächst das JAR, indem Sie Folgendes ausführen:

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

Installieren Sie dann manuell die folgenden JARs:

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

Beispiel

Wir haben einige Beispiele für häufige Anwendungsfälle vorbereitet, die unten aufgeführt sind:

  • Konfiguration:
    • InClusterClientExample: Konfigurieren Sie einen Client, während Sie innerhalb des Kubernetes-Clusters laufen.
    • KubeConfigFileClientExample: Konfigurieren Sie einen Client, um von außen auf einen Kubernetes-Cluster zuzugreifen.
  • Grundlagen:
    • SimpleExample: Einfachstes Minimalbeispiel für die Verwendung des Clients.
    • ProtoExample: Payloads im Protobuf-Serialisierungsprotokoll anfordern/empfangen.
    • (5.0.0+) PatchExample: Ressourcenobjekte in verschiedenen unterstützten Patch-Formaten patchen, gleichbedeutend mit kubectl patch.
    • FluentExample: Beliebige Ressourcen im Fluent-Builder-Stil erstellen.
    • YamlExample: Empfohlene Methode zum Laden oder Speichern von Ressourcen in YAML.
  • Streaming:
    • WatchExample: Watch-Ereignisse von bestimmten Ressourcen abonnieren, gleichbedeutend mit kubectl get <resource> -w.

alle Pods auflisten:

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-Objekt überwachen:

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());
        }
    }
}

Weitere Beispiele finden Sie im Ordner examples. Führen Sie zum Ausführen der Beispiele diesen Befehl aus:

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

Dokumentation

Die Dokumentation aller APIs und Modelle finden Sie in der Dokumentation des generierten Clients.

Kompatibilität

Legende:

  • ✓ Exakt dieselben Funktionen / API-Objekte sowohl im Java-Client als auch in der Kubernetes-Version.
  • + Der Java-Client verfügt über Funktionen oder API-Objekte, die im Kubernetes-Cluster möglicherweise nicht vorhanden sind, aber alles, was sie gemeinsam haben, funktioniert.
  • - Der Kubernetes-Cluster verfügt über Funktionen, die die Java-Client-Bibliothek nicht nutzen kann (zusätzliche API-Objekte usw.).

Eine detaillierte Beschreibung der Änderungen zwischen den Java-Client-Versionen finden Sie im CHANGELOG.

Mitwirken

Anweisungen zum Mitwirken finden Sie in CONTRIBUTING.md.

Verhaltenskodex

Die Teilnahme an der Kubernetes-Community unterliegt dem CNCF-Verhaltenskodex.

Entwicklung

Aktualisieren des generierten Codes.

Der Code wird vom openapi-generator-Projekt generiert.

Wir haben universelle sprachübergreifende Tools zur Codegenerierung entwickelt; sie sind im Repository kubernetes-client/gen gehostet.

Um zu beginnen, wählen Sie ein Wurzelverzeichnis, das nicht Ihr java-Client-Verzeichnis ist. Ihre Verzeichnisstruktur könnte zum Beispiel so aussehen:

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

Um das gen-Repository zu klonen, führen Sie dann Folgendes aus:

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

Um den Client anschließend zu aktualisieren:

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

Dies sollte einen etwas längeren Build-Prozess mit docker durchlaufen und schließlich zu einem neuen Satz generierten Codes im Verzeichnis kubernetes führen.

Tool herunterladen
  • LogsExample: Logs von laufenden Containern abrufen, gleichbedeutend mit kubectl logs.
  • ExecExample: Eine "exec"-Sitzung mit laufenden Containern aufbauen, gleichbedeutend mit kubectl exec.
  • PortForwardExample: Bildet einen lokalen Port auf einen Port des Pods ab, gleichbedeutend mit kubectl port-forward.
  • AttachExample: An einen Prozess anhängen, der bereits in einem vorhandenen Container läuft, gleichbedeutend mit kubectl attach.
  • CopyExample: Kopiert Dateien und Verzeichnisse von und zu Containern, gleichbedeutend mit kubectl cp.
  • WebSocketsExample: Eine beliebige WebSocket-Sitzung zu bestimmten Ressourcen aufbauen.
  • Fortgeschritten: (HINWEIS: Das folgende Beispiel erfordert das Modul client-java-extended)
    • (5.0.0+) InformerExample: Einen Informer aufbauen, der Ressourcen per List-Watch überwacht und die Benachrichtigungen in einem lokalen Cache widerspiegelt.
    • (5.0.0+) PagerExample: Unterstützt Pagination (nur für die List-Anfrage), um serverseitige Last/Netzwerküberlastung zu verringern.
    • (6.0.0+) ControllerExample: Einen Controller aufbauen, der den Zustand der Welt durch List-Watching einer oder mehrerer Ressourcen abgleicht.
    • (6.0.0+) LeaderElectionExample: Leader-Election-Hilfsprogramme zur Implementierung von HA-Controllern.
    • (9.0.0+) SpringIntegrationControllerExample: Einen Kubernetes-Controller auf Basis der Bean-Injektion des Spring-Frameworks erstellen.
    • (9.0.0+) GenericKubernetesClientExample: Eine generische Client-Schnittstelle für beliebige Kubernetes-Typen, einschließlich CRDs, erstellen.
  • 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+++++✓