Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
fabric8io__kubernetes-client_CVE-2021-4178_5-0-2 | Kitploit
Herramientas/GitHubGitHub/shoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2
Autenticación y AutorizaciónSeguridad de Infraestructura en la NubeSeguridad de ContenedoresAuditoría de ConfiguraciónSeguridad en la NubeSeguridad de APIs
GitHubshoucheng3/fabric8io__kubernetes-client_cve-2021-4178_5-0-2

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

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 1 añoAún no revisado

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

Este cliente proporciona acceso a todas las API REST de Kubernetes y OpenShift mediante un DSL fluido.

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:
  • Uso
    • Crear un cliente
    • Configurar el cliente
    • Cargar recursos desde fuentes externas
    • Pasar una referencia de un recurso al cliente
    • Adaptar un cliente
      • Adaptar y cerrar
  • Simular Kubernetes
  • ¿Quién utiliza Fabric8 Kubernetes Client?
  • Operadores de Kubernetes en Java escritos con Fabric8 Kubernetes Client
  • Matriz de compatibilidad de Kubernetes y Red Hat OpenShift
  • Hoja de referencia rápida de Kubernetes Client
  • Equivalentes de Kubectl en Java

Uso

Crear un cliente

La forma más sencilla de crear un cliente es:```java KubernetesClient client = new DefaultKubernetesClient();

root@kitploit:~
`DefaultOpenShiftClient` implementa tanto la interfaz `KubernetesClient` como la `OpenShiftClient`, así que si necesitas las
extensiones de OpenShift, como `Build`s, etc., entonces simplemente haz:```java
OpenShiftClient osClient = new DefaultOpenShiftClient();

Configuración del cliente

Esto utilizará configuraciones de diferentes fuentes en el siguiente orden de prioridad:

  • Propiedades del sistema
  • Variables de entorno
  • Archivo de configuración de Kube
  • Token de cuenta de servicio y certificado CA montado

Las propiedades del sistema tienen prioridad sobre las variables de entorno. Las siguientes propiedades del sistema y variables de entorno se pueden utilizar para la configuración:

Alternativamente, puedes usar ConfigBuilder para crear un objeto de configuración para el cliente de Kubernetes:```java Config config = new ConfigBuilder().withMasterUrl("https://mymaster.com").build(); KubernetesClient client = new DefaultKubernetesClient(config);

root@kitploit:~
El uso del DSL es el mismo para todos los recursos.

Listar recursos:```java
NamespaceList myNs = client.namespaces().list();

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

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

Obtener un recurso:```java Namespace myns = client.namespaces().withName("myns").get();

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

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

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

La edición de recursos utiliza los constructores en línea del Kubernetes Model:```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:~
Con el mismo espíritu, puedes incorporar builders en línea para crear:```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());

También puedes establecer la apiVersion del recurso como en el caso de SecurityContextConstraints :```java SecurityContextConstraints scc = new SecurityContextConstraintsBuilder() .withApiVersion("v1") .withNewMetadata().withName("scc").endMetadata() .withAllowPrivilegedContainer(true) .withNewRunAsUser() .withType("RunAsAny") .endRunAsUser() .build();

root@kitploit:~
### Siguiendo eventos

Usa `io.fabric8.kubernetes.api.model.Event` como T para 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);
  }

});

Trabajando con extensiones

La API de kubernetes define un conjunto de extensiones como daemonSets, jobs, ingresses y demás, todas utilizables en el DSL de extensions():

p. ej. para listar los jobs...``` jobs = client.batch().jobs().list();

root@kitploit:~
### Cargando recursos desde fuentes externas

Hay casos en los que quieres leer un recurso desde una fuente externa, en lugar de definirlo usando el DSL de los clientes.
Para esos casos, el cliente te permite cargar el recurso desde:

- Un archivo *(Soporta tanto java.io.File como java.lang.String)*
- Una URL
- Un flujo de entrada

Una vez que el recurso está cargado, puedes tratarlo como lo harías si lo hubieras creado tú mismo.

Por ejemplo, leamos un pod desde un archivo yml y trabajemos con él:

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

### Pasando una referencia de un recurso al cliente

En el mismo sentido, puedes usar un objeto creado externamente (ya sea una referencia o usando su representación como cadena).

Por ejemplo:

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

### Adaptando el cliente

El cliente admite adaptadores conectables. Un ejemplo de adaptador es el [Adaptador 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)
que permite adaptar una instancia existente 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) a una de [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).

 Por ejemplo:```java
KubernetesClient client = new DefaultKubernetesClient();

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

El cliente también admite el método isAdaptable(), que comprueba si la adaptación es posible y devuelve true si es así.```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:~
#### Adaptación y cierre
Ten en cuenta que al usar adapt(), tanto el adaptado como el destino compartirán los mismos recursos (cliente http subyacente, grupos de hilos, etc.).
Esto significa que no es necesario utilizar close() en cada instancia creada mediante adapt().
Llamar a close() en cualquiera de las instancias gestionadas por adapt(), o en la instancia original, limpiará correctamente todos los recursos y, por lo tanto, ninguna de las instancias podrá seguir utilizándose.


## Simulación de Kubernetes

Además del cliente, este proyecto también proporciona un servidor mock de Kubernetes que puedes usar con fines de prueba.
El servidor mock está basado en `https://github.com/square/okhttp/tree/master/mockwebserver` pero está potenciado por el DSL y las funcionalidades proporcionadas por `https://github.com/fabric8io/mockwebserver`.

El Mock Web Server tiene dos modos de funcionamiento:

- Modo de expectativas
- Modo CRUD

### Modo de expectativas

Es el modo típico en el que primero se establecen cuáles son las peticiones http esperadas y cuáles deben ser las respuestas para cada petición.
Se pueden encontrar más detalles de uso en: https://github.com/fabric8io/mockwebserver

Este modo se ha utilizado ampliamente para probar el propio cliente. Asegúrate de revisar [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).

Para añadir un servidor de Kubernetes a tu prueba:```java
@Rule
public KubernetesServer server = new KubernetesServer();

Modo crud

Definir cada petición y respuesta individual puede volverse tedioso. Dado que en la mayoría de los casos el servidor web simulado se utiliza para realizar operaciones crud sencillas, se ha añadido un modo crud. Al usar el modo crud, el servidor web simulado almacenará, leerá, actualizará y eliminará recursos de Kubernetes utilizando un mapa en memoria y aparecerá como un servidor api real.

Para añadir un servidor Kubernetes en modo crud a tu prueba:```java @Rule public KubernetesServer server = new KubernetesServer(true, true);

root@kitploit:~
Entonces puedes usar el servidor así:```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));
}

Soporte de JUnit5 mediante extensión

Puedes utilizar el mecanismo de simulación (mock) de KubernetesClient con JUnit5. Como no soporta @Rule ni @ClassRule, existe una anotación dedicada: @EnableKubernetesMockClient. Si deseas crear una instancia de KubernetesClient simulado para cada prueba (@Rule de JUnit4), necesitas declarar una instancia de KubernetesClient como se muestra a continuación.```java @EnableKubernetesMockClient class ExampleTest {

root@kitploit:~
KubernetesClient client;

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

}

root@kitploit:~
En caso de que desees definir una instancia estática del servidor simulado para todas las pruebas (JUnit4 `@ClassRule`), necesitas declarar la instancia de `KubernetesClient` como se muestra a continuación.
También puedes habilitar crudMode mediante el campo de anotación `crud`.```java
@EnableKubernetesMockClient(crud = true)
class ExampleTest {

    static KubernetesClient client;

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

Matriz de compatibilidad

Matriz de compatibilidad de Kubernetes:

Matriz de compatibilidad de OpenShift:

Nota: Esta matriz se prepara ejecutando nuestras pruebas de integración en diferentes versiones de OpenShift.

Cambios principales en Kubernetes Client 4.0.0

Todos los objetos de recurso utilizados aquí se ajustarán a OpenShift 3.9.0 y Kubernetes 1.9.0. Todos los objetos de recurso proporcionarán todos los campos según OpenShift 3.9.0 y Kubernetes 1.9.0

  • SecurityContextConstraints se ha movido de Kubernetes Client a OpenShift client
  • El DSL de Job está tanto en batch como en extensions(Extensions está obsoleto)
  • El DSL de DaemonSet está tanto en apps como en extensions(Extensions está obsoleto)
  • El DSL de Deployment está tanto en apps como en extensions(Extensions está obsoleto)
  • El DSL de ReplicaSet está tanto en apps como en extensions(Extensions está obsoleto)
  • El DSL de NetworkPolicy está tanto en network como en extensions(Extensions está obsoleto)
  • Storage Class se movió del client base DSL al storage DSL
  • PodSecurityPolicies se movieron de client base DSL y a solo

¿Quién usa Kubernetes y OpenShift Java client?

Extensiones:

  • Istio API
  • Service Catalog API
  • Knative
  • Tekton

Frameworks/Bibliotecas/Herramientas:

  • 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 de 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)

Herramientas de compilación:

  • Fabric8 Maven Plugin
  • Eclipse JKube
  • Gradle Kubernetes Plugin

Plataformas:

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

Plataformas propietarias:

  • vCommander

A medida que nuestra comunidad crece, nos gustaría llevar un registro de nuestros usuarios. Por favor, envía un PR con el nombre de tu organización/comunidad.

Pruebas que ejecutamos para cada nuevo Pull Request

Aquí están los enlaces de las Github Actions y Jenkins para las pruebas que se ejecutan en cada nuevo Pull Request. También puedes ver todas las compilaciones recientes.

  • Pruebas de regresión
  • Pruebas unitarias

Para recibir actualizaciones sobre los lanzamientos, puedes unirte a https://groups.google.com/forum/embed/?place=forum/fabric8-devclients## Equivalencias de kubectl en Java Esta tabla proporciona las correspondencias de kubectl a Kubernetes Java Client. La mayoría de las correspondencias son bastante directas y son operaciones de una sola línea. Sin embargo, algunas pueden requerir un poco más de código para lograr el mismo resultado:

Descargar herramienta
Maven Central
Javadocs
  • servicecatalog-client: Maven Central Javadocs
  • chaosmesh-client: Maven Central Javadocs
  • Property / Environment VariableDescriptionDefault value
    kubernetes.disable.autoConfig / KUBERNETES_DISABLE_AUTOCONFIGDesactivar la configuración automáticafalse
    kubernetes.master / KUBERNETES_MASTERURL del maestro de Kuberneteshttps://kubernetes.default.svc
    kubernetes.api.version / KUBERNETES_API_VERSIONVersión de la APIv1
    openshift.url / OPENSHIFT_URLURL del maestro de OpenShiftValor de la URL del maestro de Kubernetes
    kubernetes.oapi.version / KUBERNETES_OAPI_VERSIONVersión de la API de OpenShiftv1
    kubernetes.trust.certificates / KUBERNETES_TRUST_CERTIFICATESConfiar en todos los certificadosfalse
    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_ALGOAlgoritmo de cifrado de la clave del clienteRSA
    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_TRYKUBECONFIGConfigurar el cliente usando la configuración de Kubernetestrue
    kubeconfig / KUBECONFIGNombre del archivo de configuración de kubernetes a leer~/.kube/config
    kubernetes.auth.tryServiceAccount / KUBERNETES_AUTH_TRYSERVICEACCOUNTConfigurar el cliente desde la cuenta de serviciotrue
    kubernetes.tryNamespacePath / KUBERNETES_TRYNAMESPACEPATHConfigurar el namespace del cliente desde la ruta del namespace de la cuenta de servicio de Kubernetestrue
    kubernetes.auth.token / KUBERNETES_AUTH_TOKEN
    kubernetes.watch.reconnectInterval / KUBERNETES_WATCH_RECONNECTINTERVALIntervalo de reconexión del watch en ms1000
    kubernetes.watch.reconnectLimit / KUBERNETES_WATCH_RECONNECTLIMITNúmero de intentos de reconexión (-1 para infinito)-1
    kubernetes.connection.timeout / KUBERNETES_CONNECTION_TIMEOUTTiempo de espera de conexión en ms (0 para sin tiempo de espera)10000
    kubernetes.request.timeout / KUBERNETES_REQUEST_TIMEOUTTiempo de espera de lectura en ms10000
    kubernetes.rolling.timeout / KUBERNETES_ROLLING_TIMEOUTTiempo de espera de rolling en ms900000
    kubernetes.logging.interval / KUBERNETES_LOGGING_INTERVALIntervalo de registro en ms20000
    kubernetes.scale.timeout / KUBERNETES_SCALE_TIMEOUTTiempo de espera de escalado en ms600000
    kubernetes.websocket.timeout / KUBERNETES_WEBSOCKET_TIMEOUTTiempo de espera de websocket en ms5000
    kubernetes.websocket.ping.interval / kubernetes_websocket_ping_intervalIntervalo de ping de 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_USERNAMEValor del encabezado HTTP Impersonate-User
    kubernetes.impersonate.group / KUBERNETES_IMPERSONATE_GROUPValor del encabezado HTTP Impersonate-Group
    kubernetes.tls.versions / KUBERNETES_TLS_VERSIONSVersiones TLS separadas por ,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 se ha eliminado.
  • 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