Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kubernetes-client__java_CVE-2020-8570_client-java-parent-9_0_2_fixed | Kitploit
Инструменты/GitHubGitHub/shoucheng3/kubernetes-client__java_cve-2020-8570_client-java-parent-9_0_2_fixed
Аутентификация и авторизацияБезопасность облачной инфраструктурыУтилиты общего назначенияБезопасность контейнеровБезопасность облачных средБезопасность 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

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
9 месяцев назадЕщё не проверено

Kubernetes Java Client

Build Status Client Capabilities Client Support Level

Java-клиент для API kubernetes.

Версионирование клиента

Java-клиент использует семантическое версионирование. Мы увеличиваем номер основной версии каждый раз, когда перегенерируем клиент для новой версии релиза Kubernetes (см. таблицу ниже). При этом добавляются новые API и возможны критические изменения в сгенерированных заглушках Kubernetes API. При обновлении основной версии будьте готовы к потенциальным критическим изменениям.

Установка

Чтобы установить библиотеку Java-клиента в ваш локальный репозиторий Maven, просто выполните:

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

Более подробную информацию см. в официальной документации.

Пользователи Maven

Добавьте эту зависимость в POM вашего проекта:

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

Пользователи Gradle

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

Прочие

Сначала сгенерируйте JAR, выполнив:

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

Затем вручную установите следующие JAR-файлы:

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

Пример

Мы подготовили несколько примеров для типовых сценариев использования, которые приведены ниже:

  • Конфигурация:
    • InClusterClientExample: Настройка клиента при работе внутри кластера Kubernetes.
    • KubeConfigFileClientExample: Настройка клиента для доступа к кластеру Kubernetes извне.
  • Основы:
    • SimpleExample: Простейший минимальный пример использования клиента.
    • ProtoExample: Отправка/получение данных в протоколе сериализации protobuf.
    • (5.0.0+) PatchExample: Изменение (patch) объектов ресурсов в различных поддерживаемых форматах, аналогично kubectl patch.
    • FluentExample: Создание произвольных ресурсов в стиле fluent builder.
    • YamlExample: Рекомендуемый способ загрузки или выгрузки ресурсов в YAML.
  • Потоковая передача:
    • WatchExample: Подписка на watch-события определённых ресурсов, аналогично kubectl get <resource> -w.
    • LogsExample: Получение логов из запущенных контейнеров, аналогично .

список всех подов:

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) объектов 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());
        }
    }
}

Другие примеры можно найти в папке examples. Чтобы запустить примеры, выполните команду:

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

Документация

Документацию по всем API и моделям можно найти в документации сгенерированного клиента

Совместимость

Условные обозначения:

  • ✓ Полностью одинаковый набор функций / объектов API как в java-client, так и в соответствующей версии Kubernetes.
  • + java-client содержит функции или объекты API, которых может не быть в кластере Kubernetes, но всё общее между ними будет работать.
  • - Кластер Kubernetes имеет функции, которые библиотека java-client использовать не может (дополнительные объекты API и т. д.).

Подробное описание изменений между версиями java-client см. в CHANGELOG.

Участие в разработке

Инструкции о том, как внести свой вклад, см. в CONTRIBUTING.md.

Кодекс поведения

Участие в сообществе Kubernetes регулируется Кодексом поведения CNCF.

Разработка

Обновление сгенерированного кода.

Код генерируется проектом openapi-generator.

Мы создали универсальные кроссязыковые инструменты для генерации кода, которые размещены в репозитории kubernetes-client/gen.

Для начала работы используйте корневой каталог, который не является вашим каталогом клиента java; например, структура каталогов может быть такой:

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

Затем, чтобы клонировать репозиторий gen, выполните:

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

Затем, чтобы обновить клиент:

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

Это запустит довольно длительный процесс сборки с использованием docker и в итоге приведёт к созданию нового набора сгенерированного кода в каталоге kubernetes.

Скачать инструмент
kubectl logs
  • ExecExample: Установка сеанса "exec" с запущенными контейнерами, аналогично kubectl exec.
  • PortForwardExample: Проброс локального порта на порт пода, аналогично kubectl port-forward.
  • AttachExample: Подключение к процессу, уже запущенному внутри существующего контейнера, аналогично kubectl attach.
  • CopyExample: Копирование файлов и каталогов в контейнеры и из них, аналогично kubectl cp.
  • WebSocketsExample: Установка произвольного web-socket сеанса с определёнными ресурсами.
  • Продвинутый уровень: (ПРИМЕЧАНИЕ: следующий пример требует модуль client-java-extended)
    • (5.0.0+) InformerExample: Создание informer, который выполняет list-watch ресурсов и отражает уведомления в локальном кэше.
    • (5.0.0+) PagerExample: Поддержка постраничной выгрузки (только для list-запросов) для снижения нагрузки на сервер/сеть.
    • (6.0.0+) ControllerExample: Создание контроллера, который приводит состояние мира к желаемому (reconcile) путём list-watch одного или нескольких ресурсов.
    • (6.0.0+) LeaderElectionExample: Утилиты выбора лидера (leader election) для реализации отказоустойчивых контроллеров.
    • (9.0.0+) SpringIntegrationControllerExample: Создание kubernetes-контроллера на основе внедрения bean-компонентов Spring framework.
    • (9.0.0+) GenericKubernetesClientExample: Создание универсального клиентского интерфейса для любых типов kubernetes, включая CRD.
  • версия клиента1.111.121.131.141.151.16
    3.0.0✓-----
    4.0.0+✓----
    5.0.0++✓---
    6.0.1+++✓--
    7.0.0++++✓✓
    8.0.2+++++✓