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
fabric8io__kubernetes-client_CVE-2021-4178_5-0-2 | Kitploit
Outils/GitHubGitHub/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2
Authentification et AutorisationSécurité de l'Infrastructure CloudSécurité des ConteneursAudit de ConfigurationSécurité CloudSécurité des API
GitHubshoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2

fabric8io__kubernetes-client_CVE-2021-4178_5-0-2

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 →
Partager
Voir le dépôt
il y a 1 anPas encore vérifié

Kubernetes & OpenShift Java Client Join the chat at https://gitter.im/fabric8io/kubernetes-client

Ce client donne accès à l'intégralité des API REST Kubernetes et OpenShift via un DSL fluide.

Build Sonar Scanner E2E Tests Release Twitter Bugs

  • kubernetes-client: Maven Central Javadocs
  • kubernetes-model-core: Maven Central Javadocs
  • openshift-client: Maven Central Javadocs
  • knative-client: Maven Central Javadocs
  • tekton-client:
  • Utilisation
    • Création d'un client
    • Configuration du client
    • Chargement de ressources depuis des sources externes
    • Transmettre une référence de ressource au client
    • Adapter un client
      • Adapter et fermer
  • Simulation de Kubernetes
  • Qui utilise Fabric8 Kubernetes Client ?
  • Opérateurs Kubernetes en Java écrits avec Fabric8 Kubernetes Client
  • Matrice de compatibilité Kubernetes et Red Hat OpenShift
  • Aide-mémoire du client Kubernetes
  • Équivalents Java de Kubectl

Utilisation

Créer un client

La façon la plus simple de créer un client est :```java KubernetesClient client = new DefaultKubernetesClient();

root@kitploit:~
`DefaultOpenShiftClient` implémente à la fois les interfaces `KubernetesClient` et `OpenShiftClient`, donc si vous avez besoin des
extensions OpenShift, telles que les `Build`s, etc., faites simplement :```java
OpenShiftClient osClient = new DefaultOpenShiftClient();

Configuration du client

Les paramètres proviennent de différentes sources, dans l'ordre de priorité suivant :

  • Propriétés système
  • Variables d'environnement
  • Fichier de configuration Kube
  • Jeton de compte de service et certificat CA monté

Les propriétés système sont préférées aux variables d'environnement. Les propriétés système et variables d'environnement suivantes peuvent être utilisées pour la configuration :

Vous pouvez également utiliser ConfigBuilder pour créer un objet de configuration pour le client Kubernetes :```java Config config = new ConfigBuilder().withMasterUrl("https://mymaster.com").build(); KubernetesClient client = new DefaultKubernetesClient(config);

root@kitploit:~
L'utilisation du DSL est la même pour toutes les ressources.

Lister les ressources :```java
NamespaceList myNs = client.namespaces().list();

ServiceList myServices = client.services().list();

ServiceList myNsServices = client.services().inNamespace("default").list();

Obtenir une ressource :```java Namespace myns = client.namespaces().withName("myns").get();

Service myservice = client.services().inNamespace("default").withName("myservice").get();

root@kitploit:~
Supprimer:```java
Namespace myns = client.namespaces().withName("myns").delete();

Service myservice = client.services().inNamespace("default").withName("myservice").delete();

La modification des ressources utilise les builders intégrés du modèle Kubernetes :```java Namespace myns = client.namespaces().withName("myns").edit(n -> new NamespaceBuilder(n) .editMetadata() .addToLabels("a", "label") .endMetadata() .build());

Service myservice = client.services().inNamespace("default").withName("myservice").edit(s -> new ServiceBuilder(s) .editMetadata() .addToLabels("another", "label") .endMetadata() .build());

root@kitploit:~
Dans le même esprit, vous pouvez rendre les builders inline pour créer :```java
Namespace myns = client.namespaces().create(new NamespaceBuilder()
                   .withNewMetadata()
                     .withName("myns")
                     .addToLabels("a", "label")
                   .endMetadata()
                   .build());

Service myservice = client.services().inNamespace("default").create(new ServiceBuilder()
                     .withNewMetadata()
                       .withName("myservice")
                       .addToLabels("another", "label")
                     .endMetadata()
                     .build());

Vous pouvez également définir l'apiVersion de la ressource comme dans le cas de SecurityContextConstraints :```java SecurityContextConstraints scc = new SecurityContextConstraintsBuilder() .withApiVersion("v1") .withNewMetadata().withName("scc").endMetadata() .withAllowPrivilegedContainer(true) .withNewRunAsUser() .withType("RunAsAny") .endRunAsUser() .build();

root@kitploit:~
### Suivi des événements

Utilisez `io.fabric8.kubernetes.api.model.Event` comme T pour Watcher:```java
client.events().inAnyNamespace().watch(new Watcher<Event>() {

  @Override
  public void eventReceived(Action action, Event resource) {
    System.out.println("event " + action.name() + " " + resource.toString());
  }

  @Override
  public void onClose(KubernetesClientException cause) {
    System.out.println("Watcher close due to " + cause);
  }

});

Travailler avec les extensions

L'API Kubernetes définit un ensemble d'extensions comme daemonSets, jobs, ingresses, etc., toutes utilisables dans le DSL extensions() :

par exemple, pour lister les jobs...``` jobs = client.batch().jobs().list();

root@kitploit:~
### Chargement des ressources à partir de sources externes

Il existe des cas où vous souhaitez lire une ressource à partir d'une source externe, plutôt que de la définir à l'aide du DSL du client.
Dans ces cas, le client vous permet de charger la ressource à partir de :

- Un fichier *(prend en charge à la fois java.io.File et java.lang.String)*
- Une URL
- Un flux d'entrée

Une fois la ressource chargée, vous pouvez la traiter comme si vous l'aviez créée vous-même.

Par exemple, lisons un pod à partir d'un fichier yml et travaillons avec :

    Pod refreshed = client.load('/path/to/a/pod.yml').fromServer().get();
    Boolean deleted = client.load('/workspace/pod.yml').delete();
    LogWatch handle = client.load('/workspace/pod.yml').watchLog(System.out);

### Passer une référence d'une ressource au client

Dans le même esprit, vous pouvez utiliser un objet créé en externe (soit une référence, soit en utilisant sa représentation sous forme de chaîne).

Par exemple :

    Pod pod = someThirdPartyCodeThatCreatesAPod();
    Boolean deleted = client.resource(pod).delete();

### Adapter le client

Le client prend en charge des adaptateurs enfichables. Un exemple d'adaptateur est [l'adaptateur OpenShift](https://github.com/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2/blob/HEAD/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftExtensionAdapter.java)
qui permet d'adapter une instance existante de [KubernetesClient](https://github.com/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2/blob/HEAD/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/KubernetesClient.java) en une instance [OpenShiftClient](https://github.com/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2/blob/HEAD/openshift-client/src/main/java/io/fabric8/openshift/client/OpenShiftClient.java).

 Par exemple :```java
KubernetesClient client = new DefaultKubernetesClient();

OpenShiftClient oClient = client.adapt(OpenShiftClient.class);

Le client prend également en charge la méthode isAdaptable() qui vérifie si l'adaptation est possible et renvoie true si c'est le cas.```java KubernetesClient client = new DefaultKubernetesClient(); if (client.isAdaptable(OpenShiftClient.class)) { OpenShiftClient oClient = client.adapt(OpenShiftClient.class); } else { throw new Exception("Adapting to OpenShiftClient not support. Check if adapter is present, and that env provides /oapi root path."); }

root@kitploit:~
#### Adaptation et fermeture
Notez que lors de l'utilisation d'`adapt()`, l'adapté et la cible partageront les mêmes ressources (client HTTP sous-jacent, pools de threads, etc.).
Cela signifie que `close()` n'est pas obligatoire sur chaque instance créée via `adapt`.
Appeler `close()` sur l'une des instances gérées par `adapt()` ou sur l'instance d'origine nettoiera correctement toutes les ressources et aucune des instances ne sera donc plus utilisable.


## Mocking Kubernetes

En plus du client, ce projet fournit également un serveur mock Kubernetes que vous pouvez utiliser à des fins de test.
Le serveur mock est basé sur `https://github.com/square/okhttp/tree/master/mockwebserver` mais est enrichi par le DSL et les fonctionnalités fournis par `https://github.com/fabric8io/mockwebserver`.

Le Mock Web Server a deux modes de fonctionnement :

- Mode Expectations
- Mode CRUD

### Mode Expectations

C'est le mode typique où vous définissez d'abord quelles sont les requêtes HTTP attendues et quelles doivent être les réponses pour chaque requête.
Plus de détails sur l'utilisation sont disponibles sur : https://github.com/fabric8io/mockwebserver

Ce mode a été largement utilisé pour tester le client lui-même. Assurez-vous de consulter [kubernetes-test](https://github.com/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2/blob/HEAD/kubernetes-tests/src/test/java/io/fabric8/kubernetes/client/mock).

Pour ajouter un serveur Kubernetes à votre test :```java
@Rule
public KubernetesServer server = new KubernetesServer();

Mode CRUD

Définir chaque requête et chaque réponse peut devenir fastidieux. Étant donné que dans la plupart des cas le serveur web simulé est utilisé pour effectuer des opérations simples basées sur le CRUD, un mode CRUD a été ajouté. Lors de l'utilisation du mode CRUD, le serveur web simulé stockera, lira, mettra à jour et supprimera des ressources Kubernetes à l'aide d'une carte en mémoire et apparaîtra comme un véritable serveur API.

Pour ajouter un serveur Kubernetes en mode CRUD à votre test :```java @Rule public KubernetesServer server = new KubernetesServer(true, true);

root@kitploit:~
Ensuite, vous pouvez utiliser le serveur comme ceci:```java
@Test
public void testInCrudMode() {
    KubernetesClient client = server.getClient();
    final CountDownLatch deleteLatch = new CountDownLatch(1);
    final CountDownLatch closeLatch = new CountDownLatch(1);

    //CREATE
    client.pods().inNamespace("ns1").create(new PodBuilder().withNewMetadata().withName("pod1").endMetadata().build());

    //READ
    podList = client.pods().inNamespace("ns1").list();
    assertNotNull(podList);
    assertEquals(1, podList.getItems().size());

    //WATCH
    Watch watch = client.pods().inNamespace("ns1").withName("pod1").watch(new Watcher<Pod>() {
        @Override
        public void eventReceived(Action action, Pod resource) {
            switch (action) {
                case DELETED:
                    deleteLatch.countDown();
                    break;
                default:
                    throw new AssertionFailedError(action.toString().concat(" isn't recognised."));
            }
        }

        @Override
        public void onClose(KubernetesClientException cause) {
            closeLatch.countDown();
        }
    });

    //DELETE
    client.pods().inNamespace("ns1").withName("pod1").delete();

    //READ AGAIN
    podList = client.pods().inNamespace("ns1").list();
    assertNotNull(podList);
    assertEquals(0, podList.getItems().size());

    assertTrue(deleteLatch.await(1, TimeUnit.MINUTES));
    watch.close();
    assertTrue(closeLatch.await(1, TimeUnit.MINUTES));
}

Prise en charge de JUnit5 via extension

Vous pouvez utiliser le mécanisme de mock de KubernetesClient avec JUnit5. Comme il ne prend pas en charge @Rule et @ClassRule, il existe une annotation dédiée @EnableKubernetesMockClient. Si vous souhaitez créer une instance de KubernetesClient mocké pour chaque test (@Rule JUnit4), vous devez déclarer une instance de KubernetesClient comme indiqué ci-dessous.```java @EnableKubernetesMockClient class ExampleTest {

root@kitploit:~
KubernetesClient client;

@Test
public void testInStandardMode() {
        ...
}

}

root@kitploit:~
Si vous souhaitez définir une instance statique du serveur mocké pour tous les tests (JUnit4 `@ClassRule`), vous devez déclarer une instance de `KubernetesClient` comme indiqué ci-dessous.
Vous pouvez également activer crudMode en utilisant le champ d'annotation `crud`.```java
@EnableKubernetesMockClient(crud = true)
class ExampleTest {

    static KubernetesClient client;

    @Test
    public void testInCrudMode() {
            ...
    }
}

Matrice de compatibilité

Matrice de compatibilité Kubernetes :

Matrice de compatibilité OpenShift :

Remarque : Cette matrice est préparée en exécutant nos tests d'intégration sur différentes versions d'OpenShift.

Changements majeurs dans Kubernetes Client 4.0.0

Tous les objets de ressource utilisés ici seront conformes à OpenShift 3.9.0 et Kubernetes 1.9.0. Tous les objets de ressource fourniront tous les champs conformément à OpenShift 3.9.0 et Kubernetes 1.9.0

  • SecurityContextConstraints a été déplacé du client Kubernetes vers le client OpenShift
  • Le DSL Job se trouve à la fois dans batch et extensions(Extensions est obsolète)
  • Le DSL DaemonSet se trouve à la fois dans apps et extensions(Extensions est obsolète)
  • Le DSL Deployment se trouve à la fois dans apps et extensions(Extensions est obsolète)
  • Le DSL ReplicaSet se trouve à la fois dans apps et extensions(Extensions est obsolète)
  • Le DSL NetworkPolicy se trouve à la fois dans network et extensions(Extensions est obsolète)
  • Storage Class a été déplacé du client base DSL vers le DSL storage
  • PodSecurityPolicies a été déplacé de client base DSL et vers uniquement

Qui utilise le client Java Kubernetes & OpenShift ?

Extensions:

  • Istio API
  • Service Catalog API
  • Knative
  • Tekton

Frameworks/Bibliothèques/Outils:

  • Arquillian Cube
  • Apache Camel
  • Apache Spark
  • Jaeger Kubernetes
  • Loom
  • Microsoft Azure Libraries for Java
  • Spinnaker Halyard
  • Spring Cloud Connectors for Kubernetes
  • Spring Cloud Kubernetes

Plugins CI:

  • Deployment Pipeline Plugin (Jenkins)
  • Kubernetes Eleastic Agent (GoCD)
  • Kubernetes Plugin (Jenkins)
  • Kubernetes Pipeline Plugin (Jenkins)
  • OpenShift Sync Plugin (Jenkins)
  • Kubernetes Plugin (Teamcity from Jetbrains)
  • Kubernetes Agents for Bamboo (WindTunnel Technologies)

Outils de construction:

  • Fabric8 Maven Plugin
  • Eclipse JKube
  • Gradle Kubernetes Plugin

Plateformes:

  • Apache Openwhisk
  • Eclipse che
  • EnMasse
  • Openshift.io (Launcher service)
  • Spotify Styx
  • Strimzi
  • Syndesis

Plateformes propriétaires:

  • vCommander

À mesure que notre communauté grandit, nous aimerions garder une trace de nos utilisateurs. Veuillez envoyer une PR avec le nom de votre organisation/communauté.

Tests que nous exécutons pour chaque nouvelle Pull Request

Voici les liens des Github Actions et de Jenkins pour les tests qui s'exécutent pour chaque nouvelle Pull Request. Vous pouvez également consulter tous les builds récents.

  • Tests de régression
  • Tests unitaires

Pour obtenir les mises à jour concernant les versions, vous pouvez rejoindre https://groups.google.com/forum/embed/?place=forum/fabric8-devclients## Équivalents Java de Kubectl Ce tableau fournit les correspondances entre kubectl et le client Kubernetes Java. La plupart des correspondances sont assez simples et se font en une seule ligne d'opérations. Cependant, certaines peuvent nécessiter un peu plus de code pour obtenir le même résultat :

Télécharger l’outil
Maven Central
Javadocs
  • servicecatalog-client: Maven Central Javadocs
  • chaosmesh-client: Maven Central Javadocs
  • Property / Environment VariableDescriptionDefault value
    kubernetes.disable.autoConfig / KUBERNETES_DISABLE_AUTOCONFIGDésactiver la configuration automatiquefalse
    kubernetes.master / KUBERNETES_MASTERURL du master Kuberneteshttps://kubernetes.default.svc
    kubernetes.api.version / KUBERNETES_API_VERSIONVersion de l'APIv1
    openshift.url / OPENSHIFT_URLURL du master OpenShiftValeur de l'URL du master Kubernetes
    kubernetes.oapi.version / KUBERNETES_OAPI_VERSIONVersion de l'API OpenShiftv1
    kubernetes.trust.certificates / KUBERNETES_TRUST_CERTIFICATESApprouver tous les certificatsfalse
    kubernetes.disable.hostname.verification / KUBERNETES_DISABLE_HOSTNAME_VERIFICATIONfalse
    kubernetes.certs.ca.file / KUBERNETES_CERTS_CA_FILE
    kubernetes.certs.ca.data / KUBERNETES_CERTS_CA_DATA
    kubernetes.certs.client.file / KUBERNETES_CERTS_CLIENT_FILE
    kubernetes.certs.client.data / KUBERNETES_CERTS_CLIENT_DATA
    kubernetes.certs.client.key.file / KUBERNETES_CERTS_CLIENT_KEY_FILE
    kubernetes.certs.client.key.data / KUBERNETES_CERTS_CLIENT_KEY_DATA
    kubernetes.certs.client.key.algo / KUBERNETES_CERTS_CLIENT_KEY_ALGOAlgorithme de chiffrement de la clé clientRSA
    kubernetes.certs.client.key.passphrase / KUBERNETES_CERTS_CLIENT_KEY_PASSPHRASE
    kubernetes.auth.basic.username / KUBERNETES_AUTH_BASIC_USERNAME
    kubernetes.auth.basic.password / KUBERNETES_AUTH_BASIC_PASSWORD
    kubernetes.auth.tryKubeConfig / KUBERNETES_AUTH_TRYKUBECONFIGConfigurer le client à l'aide de la configuration Kubernetestrue
    kubeconfig / KUBECONFIGNom du fichier de configuration Kubernetes à lire~/.kube/config
    kubernetes.auth.tryServiceAccount / KUBERNETES_AUTH_TRYSERVICEACCOUNTConfigurer le client à partir du compte de servicetrue
    kubernetes.tryNamespacePath / KUBERNETES_TRYNAMESPACEPATHConfigurer le namespace du client à partir du chemin du namespace du compte de service Kubernetestrue
    kubernetes.auth.token / KUBERNETES_AUTH_TOKEN
    kubernetes.watch.reconnectInterval / KUBERNETES_WATCH_RECONNECTINTERVALIntervalle de reconnexion du watcher en ms1000
    kubernetes.watch.reconnectLimit / KUBERNETES_WATCH_RECONNECTLIMITNombre de tentatives de reconnexion (-1 pour illimité)-1
    kubernetes.connection.timeout / KUBERNETES_CONNECTION_TIMEOUTDélai de connexion en ms (0 pour aucun délai)10000
    kubernetes.request.timeout / KUBERNETES_REQUEST_TIMEOUTDélai de lecture en ms10000
    kubernetes.rolling.timeout / KUBERNETES_ROLLING_TIMEOUTDélai de rolling update en ms900000
    kubernetes.logging.interval / KUBERNETES_LOGGING_INTERVALIntervalle de journalisation en ms20000
    kubernetes.scale.timeout / KUBERNETES_SCALE_TIMEOUTDélai de mise à l'échelle en ms600000
    kubernetes.websocket.timeout / KUBERNETES_WEBSOCKET_TIMEOUTDélai WebSocket en ms5000
    kubernetes.websocket.ping.interval / kubernetes_websocket_ping_intervalIntervalle de ping WebSocket en ms30000
    kubernetes.max.concurrent.requests / KUBERNETES_MAX_CONCURRENT_REQUESTS64
    kubernetes.max.concurrent.requests.per.host / KUBERNETES_MAX_CONCURRENT_REQUESTS_PER_HOST5
    kubernetes.impersonate.username / KUBERNETES_IMPERSONATE_USERNAMEValeur de l'en-tête HTTP Impersonate-User
    kubernetes.impersonate.group / KUBERNETES_IMPERSONATE_GROUPValeur de l'en-tête HTTP Impersonate-Group
    kubernetes.tls.versions / KUBERNETES_TLS_VERSIONSVersions TLS séparées par ,TLSv1.2
    kubernetes.truststore.file / KUBERNETES_TRUSTSTORE_FILE
    kubernetes.truststore.passphrase / KUBERNETES_TRUSTSTORE_PASSPHRASE
    kubernetes.keystore.file / KUBERNETES_KEYSTORE_FILE
    kubernetes.keystore.passphrase / KUBERNETES_KEYSTORE_PASSPHRASE
    K8s 1.19.1K8s 1.18.0K8s 1.17.0K8s 1.16.0K8s 1.15.3K8s 1.14.2K8s 1.12.0K8s 1.11.0K8s 1.10.0K8s 1.9.0K8s 1.7.0K8s 1.6.0K8s 1.4.9
    kubernetes-client 5.0.2✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 5.0.1✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 5.0.0✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.13.2✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.13.1✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.13.0✓✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.12.0-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.11.1-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.11.0-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.10.3-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.10.2-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.10.1-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.10.0-✓✓✓✓✓✓✓✓✓---
    kubernetes-client 4.9.2--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.9.1--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.9.0--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.8.0--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.7.1--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.7.0--✓✓✓✓✓✓✓✓---
    kubernetes-client 4.6.4----✓✓✓✓✓✓---
    kubernetes-client 4.6.3----✓✓✓✓✓✓---
    kubernetes-client 4.6.2----✓✓✓✓✓✓---
    kubernetes-client 4.6.1----✓✓✓✓✓✓---
    kubernetes-client 4.6.0----✓✓✓✓✓✓---
    kubernetes-client 4.5.2-----✓✓✓✓✓---
    kubernetes-client 4.5.1-----✓✓✓✓✓---
    kubernetes-client 4.5.0-----✓✓✓✓✓---
    kubernetes-client 4.4.2-----✓✓✓✓✓---
    kubernetes-client 4.4.1-----✓✓✓✓✓---
    kubernetes-client 4.4.0-----✓✓✓✓✓---
    kubernetes-client 4.3.1-----✓✓✓✓✓---
    kubernetes-client 4.3.0-----✓✓✓✓✓---
    kubernetes-client 4.2.2------✓✓✓✓---
    kubernetes-client 4.2.1------✓✓✓✓---
    kubernetes-client 4.2.0------✓✓✓✓---
    kubernetes-client 4.1.3------✓✓✓✓---
    kubernetes-client 4.1.2------✓✓✓✓---
    kubernetes-client 4.1.1------✓✓✓✓---
    kubernetes-client 4.1.0---------✓✓✓-
    kubernetes-client 4.0.0---------✓✓✓-
    kubernetes-client 3.2.0---------✓✓✓-
    kubernetes-client 3.1.12---------✓✓✓-
    kubernetes-client 3.0.11---------✓✓✓-
    kubernetes-client 3.0.10---------✓✓✓-
    kubernetes-client 3.0.3----------✓--
    kubernetes-client 1.3.92-----------++
    OCP 4.5.14OCP 4.2.0OCP 4.1.0OCP 3.11.0OCP 3.10.0OCP 3.9.0OCP 3.7.0OCP 3.6.0
    openshift-client 5.0.2✓✓✓✓✓✓--
    openshift-client 5.0.1✓✓✓✓✓✓--
    openshift-client 5.0.0✓✓✓✓✓✓--
    openshift-client 4.13.2✓✓✓✓✓✓--
    openshift-client 4.13.1✓✓✓✓✓✓--
    openshift-client 4.13.0✓✓✓✓✓✓--
    openshift-client 4.12.0✓✓✓✓✓✓--
    openshift-client 4.11.1✓✓✓✓✓✓--
    openshift-client 4.11.0✓✓✓✓✓✓--
    openshift-client 4.10.3✓✓✓✓✓✓--
    openshift-client 4.10.2✓✓✓✓✓✓--
    openshift-client 4.10.1✓✓✓✓✓✓--
    openshift-client 4.10.0✓✓✓✓✓✓--
    openshift-client 4.9.2-✓✓✓✓✓--
    openshift-client 4.9.1-✓✓✓✓✓--
    openshift-client 4.9.0-✓✓✓✓✓--
    openshift-client 4.8.0-✓✓✓✓✓--
    openshift-client 4.7.1-✓✓✓✓✓--
    openshift-client 4.7.0-✓✓✓✓✓--
    openshift-client 4.6.4--✓✓✓✓--
    openshift-client 4.6.3--✓✓✓✓--
    openshift-client 4.6.2--✓✓✓✓--
    openshift-client 4.6.1--✓✓✓✓--
    openshift-client 4.6.0--✓✓✓✓--
    openshift-client 4.5.2--✓✓✓✓--
    openshift-client 4.5.1--✓✓✓✓--
    openshift-client 4.5.0--✓✓✓✓--
    openshift-client 4.4.2--✓✓✓✓--
    openshift-client 4.4.1--✓✓✓✓--
    openshift-client 4.4.0--✓✓✓✓--
    openshift-client 4.3.1---✓✓✓--
    openshift-client 4.3.0---✓✓✓--
    openshift-client 4.2.2---✓✓✓--
    openshift-client 4.2.1---✓✓✓--
    openshift-client 4.2.0---✓✓✓--
    openshift-client 4.1.3---✓✓✓--
    openshift-client 4.1.2---✓✓✓--
    openshift-client 4.1.1---✓✓✓--
    openshift-client 4.1.0----✓✓✓-
    openshift-client 4.0.0-----✓✓✓
    openshift-client 3.2.0-----✓✓✓
    openshift-client 3.1.12-----✓✓✓
    openshift-client 3.0.11-----✓✓✓
    openshift-client 3.0.10-----✓✓✓
    openshift-client 3.0.3------✓-
    openshift-client 1.3.92-------+
    extensions
    extensions
  • ThirdPartyResource a été supprimé.
  • kubectlFabric8 Kubernetes Client
    kubectl config viewConfigViewEquivalent.java
    kubectl config get-contextsConfigGetContextsEquivalent.java
    kubectl config current-contextConfigGetCurrentContextEquivalent.java
    kubectl config use-context minikubeConfigUseContext.java
    kubectl config view -o jsonpath='{.users[*].name}'ConfigGetCurrentContextEquivalent.java
    kubectl get pods --all-namespacesPodListGlobalEquivalent.java
    kubectl get podsPodListEquivalent.java
    kubectl get pods -wPodWatchEquivalent.java
    kubectl get pods --sort-by='.metadata.creationTimestamp'PodListGlobalEquivalent.java
    kubectl runPodRunEquivalent.java
    kubectl create -f test-pod.yamlPodCreateYamlEquivalent.java
    kubectl exec my-pod -- ls /PodExecEquivalent.java
    kubectl delete pod my-podPodDelete.java
    kubectl delete -f test-pod.yamlPodDeleteViaYaml.java
    kubectl cp /foo_dir my-pod:/bar_dirUploadDirectoryToPod.java
    kubectl cp my-pod:/tmp/foo /tmp/barDownloadFileFromPod.java
    kubectl cp my-pod:/tmp/foo -c c1 /tmp/barDownloadFileFromMultiContainerPod.java
    kubectl cp /foo_dir my-pod:/tmp/bar_dirUploadFileToPod.java
    kubectl logs pod/my-podPodLogsEquivalent.java
    kubectl logs pod/my-pod -fPodLogsFollowEquivalent.java
    kubectl logs pod/my-pod -c c1PodLogsMultiContainerEquivalent.java
    kubectl port-forward my-pod 8080:80PortForwardEquivalent.java
    kubectl get pods --selector=version=v1 -o jsonpath='{.items[*].metadata.name}'PodListFilterByLabel.java
    kubectl get pods --field-selector=status.phase=RunningPodListFilterFieldSelector.java
    kubectl get pods --show-labelsPodShowLabels.java
    kubectl label pods my-pod new-label=awesomePodAddLabel.java
    kubectl annotate pods my-pod icon-url=http://goo.gl/XXBTWqPodAddAnnotation.java
    kubectl get configmap cm1 -o jsonpath='{.data.database}'ConfigMapJsonPathEquivalent.java
    kubectl create -f test-svc.yamlLoadAndCreateService.java
    kubectl create -f test-deploy.yamlLoadAndCreateDeployment.java
    kubectl set image deploy/d1 nginx=nginx:v2RolloutSetImageEquivalent.java
    kubectl scale --replicas=4 deploy/nginx-deploymentScaleEquivalent.java
    kubectl rollout restart deploy/d1RolloutRestartEquivalent.java
    kubectl rollout pause deploy/d1RolloutPauseEquivalent.java
    kubectl rollout resume deploy/d1RolloutResumeEquivalent.java
    kubectl rollout undo deploy/d1RolloutUndoEquivalent.java
    kubectl create -f test-crd.yamlLoadAndCreateCustomResourceDefinition.java
    kubectl create -f customresource.yamlCustomResourceCreateDemo.java
    kubectl create -f customresource.yamlCustomResourceCreateDemoTypeless.java
    kubectl get nsNamespaceListEquivalent.java
    kubectl apply -f test-resource-list.ymlCreateOrReplaceResourceList.java
    kubectl get eventsEventsGetEquivalent.java
    kubectl top nodesTopEquivalent.java
    kubectl auth can-i create deployment.appsCanIEquivalent.java