Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed | Kitploit
Outils/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
Authentification et AutorisationSécurité de l'Infrastructure CloudUtilitaires GénérauxSécurité des ConteneursSécurité CloudSécurité des 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

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôt
il y a 9 moisPas encore vérifié
Partager

Client Java pour Kubernetes

Build Status Client Capabilities Client Support Level

Client Java pour l'API kubernetes.

Versionnement du client

Le client Java utilise le Semantic Versioning. Nous incrémentons le numéro de version majeure à chaque fois que nous régénérons le client pour une nouvelle version de Kubernetes (voir le tableau ci-dessous). À chaque fois, de nouvelles API sont ajoutées et des changements potentiellement cassants peuvent survenir dans les stubs d'API Kubernetes générés. Lorsque vous passez à une version majeure supérieure, soyez prêt à faire face à d'éventuelles ruptures de compatibilité.

Installation

Pour installer la bibliothèque du client Java dans votre dépôt Maven local, exécutez simplement :

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

Reportez-vous à la documentation officielle pour plus d'informations.

Utilisateurs de Maven

Ajoutez cette dépendance au POM de votre projet :

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

Utilisateurs de Gradle

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

Autres

Commencez par générer le JAR en exécutant :

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

Installez ensuite manuellement les JAR suivants :

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

Exemple

Nous avons préparé quelques exemples pour des cas d'utilisation courants, présentés ci-dessous :

  • Configuration :
    • InClusterClientExample: Configuration d'un client s'exécutant à l'intérieur du cluster Kubernetes.
    • KubeConfigFileClientExample: Configuration d'un client pour accéder à un cluster Kubernetes depuis l'extérieur.
  • Notions de base :
    • SimpleExample: Exemple minimal simple d'utilisation du client.
    • ProtoExample: Envoi/réception de payloads en protocole de sérialisation protobuf.
    • (5.0.0+) PatchExample: Applique un patch aux objets de ressources dans différents formats de patch pris en charge, équivaut à kubectl patch.
    • FluentExample: Construit des ressources arbitraires dans un style de builder fluent.
    • YamlExample: Méthode recommandée pour charger ou décharger une ressource en Yaml.
  • Streaming :
    • WatchExample: S'abonner aux événements watch de certaines ressources, équivaut à kubectl get <resource> -w.

lister tous les pods :

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

surveiller l'objet namespace :

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

Vous trouverez plus d'exemples dans le dossier examples. Pour exécuter les exemples, lancez cette commande :

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

Documentation

Toute la documentation des API et des modèles se trouve dans la documentation du client généré

Compatibilité

Légende :

  • ✓ Exactement les mêmes fonctionnalités / objets API dans java-client et la version de Kubernetes.
  • + java-client possède des fonctionnalités ou des objets API qui peuvent ne pas être présents dans le cluster Kubernetes, mais tout ce qu'ils ont en commun fonctionnera.
  • - Le cluster Kubernetes possède des fonctionnalités que la bibliothèque java-client ne peut pas utiliser (objets API supplémentaires, etc.).

Voir le CHANGELOG pour une description détaillée des changements entre les versions de java-client.

Contribuer

Veuillez consulter CONTRIBUTING.md pour savoir comment contribuer.

Code de conduite

La participation à la communauté Kubernetes est régie par le Code de conduite de la CNCF.

Développement

Mettre à jour le code généré.

Le code est généré par le projet openapi-generator.

Nous avons développé des outils génériques multi-langages pour la génération de code ; ils sont hébergés dans le dépôt kubernetes-client/gen.

Pour commencer, placez-vous dans un répertoire racine qui n'est pas votre répertoire client java ; par exemple, votre arborescence pourrait être :

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

Ensuite, pour cloner le dépôt gen, exécutez :

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

Puis, pour mettre à jour le client :

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

Ce processus lance une construction assez longue impliquant docker et aboutit finalement à un nouvel ensemble de code généré dans le répertoire kubernetes.

Télécharger l’outil
  • LogsExample: Récupérer les logs des conteneurs en cours d'exécution, équivaut à kubectl logs.
  • ExecExample: Établir une session « exec » avec des conteneurs en cours d'exécution, équivaut à kubectl exec.
  • PortForwardExample: Fait correspondre un port local à un port du pod, équivaut à kubectl port-forward.
  • AttachExample: S'attache à un processus déjà en cours d'exécution dans un conteneur existant, équivaut à kubectl attach.
  • CopyExample: Copie des fichiers et des répertoires depuis et vers des conteneurs, équivaut à kubectl cp.
  • WebSocketsExample: Établit une session web-socket arbitraire vers certaines ressources.
  • Avancé : (REMARQUE : L'exemple suivant nécessite le module client-java-extended)
    • (5.0.0+) InformerExample: Construit un informer qui liste et surveille les ressources et reflète les notifications dans un cache local.
    • (5.0.0+) PagerExample: Prend en charge la pagination (uniquement pour les requêtes de liste) afin d'alléger les charges côté serveur / la congestion du réseau.
    • (6.0.0+) ControllerExample: Construit un contrôleur qui réconcilie l'état du monde en listant et surveillant une ou plusieurs ressources.
    • (6.0.0+) LeaderElectionExample: Utilitaires d'élection de leader pour aider à implémenter des contrôleurs HA.
    • (9.0.0+) SpringIntegrationControllerExample: Construction d'un contrôleur Kubernetes basé sur l'injection de beans du framework Spring.
    • (9.0.0+) GenericKubernetesClientExample: Construit une interface client générique pour tout type Kubernetes, y compris les CRD.
  • version du client1.111.121.131.141.151.16
    3.0.0✓-----
    4.0.0+✓----
    5.0.0++✓---
    6.0.1+++✓--
    7.0.0++++✓✓
    8.0.2+++++✓