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
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed | Kitploit
Herramientas/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
Autenticación y AutorizaciónSeguridad de Infraestructura en la NubeUtilidades de Propósito GeneralSeguridad de ContenedoresSeguridad en la NubeSeguridad de APIs
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

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 9 mesesAún no revisado

Cliente Java de Kubernetes

Build Status Client Capabilities Client Support Level

Cliente Java para la API de kubernetes.

Versionado del cliente

El cliente Java utiliza Versionado Semántico. Incrementamos el número de versión principal cada vez que regeneramos el cliente para una nueva versión de Kubernetes (consulta la tabla a continuación). Cada vez que hacemos esto, se añaden nuevas APIs y posiblemente cambios importantes en los Stubs de la API de Kubernetes generados. Siempre que actualices una versión principal, prepárate para posibles cambios importantes.

Instalación

Para instalar la biblioteca del cliente Java en tu repositorio local de Maven, simplemente ejecuta:

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

Consulta la documentación oficial para obtener más información.

Usuarios de Maven

Añade esta dependencia al POM de tu proyecto:

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

Usuarios de Gradle

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

Otros

Primero genera el JAR ejecutando:

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

Luego instala manualmente los siguientes JARs:

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

Ejemplo

Hemos preparado algunos ejemplos para casos de uso comunes que se muestran a continuación:

  • Configuración:
    • InClusterClientExample: Configura un cliente mientras se ejecuta dentro del clúster de Kubernetes.
    • KubeConfigFileClientExample: Configura un cliente para acceder a un clúster de Kubernetes desde fuera.
  • Básicos:
    • SimpleExample: Ejemplo mínimo simple de cómo usar el cliente.
    • ProtoExample: Solicitar/recibir payloads en el protocolo de serialización protobuf.
    • (5.0.0+) PatchExample: Parchea objetos de recurso en varios formatos de parche admitidos, equivalente a kubectl patch.
    • FluentExample: Construye recursos arbitrarios con un estilo de builder fluido.
    • YamlExample: Forma recomendada de cargar o volcar recursos en Yaml.
  • Streaming:
    • WatchExample: Suscríbete a eventos de watch de ciertos recursos, equivalente a kubectl get <resource> -w.
    • LogsExample: Obtén los logs de los contenedores en ejecución, equivalente a .

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

watch sobre el objeto 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());
        }
    }
}

Puedes encontrar más ejemplos en la carpeta examples. Para ejecutar los ejemplos, ejecuta este comando:

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

Documentación

Toda la documentación de las APIs y los Modelos se puede encontrar en la documentación del cliente generado

Compatibilidad

Leyenda:

  • ✓ Exactamente las mismas características / objetos de API tanto en java-client como en la versión de Kubernetes.
  • + java-client tiene características u objetos de API que pueden no estar presentes en el clúster de Kubernetes, pero todo lo que tienen en común funcionará.
  • - El clúster de Kubernetes tiene características que la biblioteca java-client no puede utilizar (objetos de API adicionales, etc.).

Consulta el CHANGELOG para obtener una descripción detallada de los cambios entre las versiones de java-client.

Contribuciones

Consulta CONTRIBUTING.md para obtener instrucciones sobre cómo contribuir.

Código de Conducta

La participación en la comunidad de Kubernetes se rige por el Código de Conducta de la CNCF.

Desarrollo

Actualizar el código generado.

El código es generado por el proyecto openapi-generator.

Hemos creado herramientas multiplataforma de propósito general para generar código, se alojan en el repositorio kubernetes-client/gen.

Para empezar, en un directorio raíz que no sea tu directorio de cliente java, por ejemplo, la estructura de tu directorio podría ser:

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

Luego, para clonar el repositorio gen, ejecutarías:

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

Luego, para actualizar el cliente:

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

Esto debería pasar por un proceso de compilación algo largo que involucra docker y, finalmente, resultará en un nuevo conjunto de código generado en el directorio kubernetes.

Descargar herramienta
kubectl logs
  • ExecExample: Establece una sesión "exec" con contenedores en ejecución, equivalente a kubectl exec.
  • PortForwardExample: Mapea un puerto local a un puerto del pod, equivalente a kubectl port-forward.
  • AttachExample: Conéctate a un proceso que ya se está ejecutando dentro de un contenedor existente, equivalente a kubectl attach.
  • CopyExample: Copia archivos y directorios hacia y desde contenedores, equivalente a kubectl cp.
  • WebSocketsExample: Establece una sesión de web-socket arbitraria con ciertos recursos.
  • Avanzado: (NOTA: El siguiente ejemplo requiere el módulo client-java-extended)
    • (5.0.0+) InformerExample: Construye un informer que observa listas de recursos (list-watch) y refleja las notificaciones en una caché local.
    • (5.0.0+) PagerExample: Soporta paginación (solo para la solicitud de listado) para aliviar las cargas del servidor y la congestión de la red.
    • (6.0.0+) ControllerExample: Construye un controlador que reconcilia el estado del mundo mediante list-watch de uno o varios recursos.
    • (6.0.0+) LeaderElectionExample: Utilidades de elección de líder para ayudar a implementar controladores de alta disponibilidad (HA).
    • (9.0.0+) SpringIntegrationControllerExample: Construcción de un controlador de Kubernetes basado en la inyección de beans del framework Spring.
    • (9.0.0+) GenericKubernetesClientExample: Construye una interfaz de cliente genérica para cualquier tipo de Kubernetes, incluidos los CRDs.
  • versión del cliente1.111.121.131.141.151.16
    3.0.0✓-----
    4.0.0+✓----
    5.0.0++✓---
    6.0.1+++✓--
    7.0.0++++✓✓
    8.0.2+++++✓