# kubernetes-client/java

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kubernetes-client-java).**

3,987 stars · 2,106 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/kubernetes-client/java
- Homepage: http://kubernetes.io/
- awesome-repositories: https://awesome-repositories.com/repository/kubernetes-client-java.md

## Description

This is a Java client library for interacting with the Kubernetes API server. It provides a programmatic interface and a set of typed models to manage cluster resources, orchestrate state reconciliation, and administer pods and namespaces within a Kubernetes environment.

The library enables the development of custom controllers by providing frameworks for implementing automated control loops that reconcile the actual state of resources with a desired target state. It supports the generation of strongly-typed Java classes from OpenAPI specifications and custom resource definitions to ensure type safety for resource requests.

The project covers cluster management capabilities including resource listing, patching, and deletion, as well as container-level operations such as command execution, file transfers, port forwarding, and log retrieval. It includes synchronization primitives for real-time event streaming, shared informer caching, and leader election coordination.

Client access is established through service accounts or external configuration files.

## Tags

### DevOps & Infrastructure

- [Kubernetes API Providers](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/platforms/kubernetes-ecosystem/kubernetes-api-providers.md) — Provides a set of typed models and methods for sending REST and WebSocket requests to the Kubernetes API.
- [Kubernetes Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management.md) — Provides a comprehensive Java library for programmatically managing and operating Kubernetes clusters.
- [Control Loops](https://awesome-repositories.com/f/devops-infrastructure/control-loops.md) — Provides a framework for implementing reconciliation loops that align actual resource state with a desired target state. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Model Generators](https://awesome-repositories.com/f/devops-infrastructure/custom-resource-definitions/model-generators.md) — Provides mechanisms to generate strongly-typed Java classes from custom resource definitions. ([source](https://cdn.jsdelivr.net/gh/kubernetes-client/java@master/README.md))
- [Resource Lifecycle Automation](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/cluster-service-orchestration/kubernetes-operations-automation/resource-lifecycle-automation.md) — Implements automated creation, deletion, and patching of cluster objects using strongly typed Java models.
- [Kubernetes API Clients](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-api-clients.md) — Provides a Java-based client library for interacting with the Kubernetes control plane.
- [Kubernetes Controllers](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-controllers.md) — Provides frameworks for implementing automated control loops and declarative reconciliation for Kubernetes operators.
- [State Reconciliation Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-service-orchestration/state-reconciliation-orchestrators.md) — Enables the implementation of control loops that reconcile the desired state of Kubernetes objects programmatically.
- [Remote Cluster Access](https://awesome-repositories.com/f/devops-infrastructure/remote-cluster-access.md) — Provides programmatic access to control and operate remote cluster environments via a centralized API. ([source](https://github.com/kubernetes-client/java/wiki))
- [Client Connection Configurations](https://awesome-repositories.com/f/devops-infrastructure/client-connection-configurations.md) — Enables establishing secure cluster connections using service accounts or external configuration files. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Resource Listing and Filtering](https://awesome-repositories.com/f/devops-infrastructure/cluster-management/cluster-resource-viewers/resource-listing-and-filtering.md) — Provides capabilities for querying and retrieving lists of resource objects across namespaces. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Cluster Resource Deletions](https://awesome-repositories.com/f/devops-infrastructure/cluster-resource-deletions.md) — Provides the capability to remove various objects from a cluster using high-level API calls. ([source](https://github.com/kubernetes-client/java/wiki/6.-Known-Issues))
- [Distributed Leader Election](https://awesome-repositories.com/f/devops-infrastructure/distributed-leader-election.md) — Includes coordination mechanisms to ensure only one instance performs specific control operations.
- [Container Interaction](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/container-interaction.md) — Enables executing commands, transferring files, and forwarding ports to interact with containers within a cluster.
- [Local Resource Caches](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/resource-controllers/local-resource-caches.md) — Maintains in-memory mirrors of server-side resources by combining initial listings with continuous watch events. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Resource Patches](https://awesome-repositories.com/f/devops-infrastructure/strategic-merge-patching/pre-deployment-chart-patching/resource-patches.md) — Allows updating specific fields of a resource using partial patch formats without replacing the entire object. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))

### Development Tools & Productivity

- [OpenAPI Model Generators](https://awesome-repositories.com/f/development-tools-productivity/openapi-model-generators.md) — Generates strongly-typed Java classes from the server API specification to ensure type safety.
- [Container Command Executors](https://awesome-repositories.com/f/development-tools-productivity/shell-command-execution/container-command-executors.md) — Enables the execution of arbitrary commands and interactive shells inside running containers. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))

### Networking & Communication

- [Cluster Object Watches](https://awesome-repositories.com/f/networking-communication/real-time-event-streams/cluster-object-watches.md) — Maintains persistent connections to receive real-time notifications about resource changes via API watches.
- [Kubernetes Pod Port Forwarding](https://awesome-repositories.com/f/networking-communication/network-port-forwarding/local-port-forwarding/kubernetes-pod-port-forwarding.md) — Maps local TCP ports to pod containers by establishing a tunnel through the Kubernetes API server proxy. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))

### Software Engineering & Architecture

- [Informer Caches](https://awesome-repositories.com/f/software-engineering-architecture/shared-caching-topologies/informer-caches.md) — Synchronizes a local memory cache with the server by combining initial list requests with continuous event updates.
- [Resource Serialization Systems](https://awesome-repositories.com/f/software-engineering-architecture/resource-serialization-systems.md) — Provides a system for loading or dumping resource definitions using YAML or Protobuf protocols. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))

### Data & Databases

- [YAML and Protobuf Serialization](https://awesome-repositories.com/f/data-databases/yaml-and-protobuf-serialization.md) — Translates resource objects between Java representations and standard YAML or Protobuf wire formats.

### System Administration & Monitoring

- [Container File Transfers](https://awesome-repositories.com/f/system-administration-monitoring/container-file-transfers.md) — Provides utilities for copying files and directories between a local filesystem and a running container. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Container Log Retrieval](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/log-management-systems/log-management-services/container-log-retrieval.md) — Allows fetching stdout and stderr output streams from running containers for debugging and monitoring. ([source](https://github.com/kubernetes-client/java/wiki/3.-Code-Examples))
- [Real-Time Event Watchers](https://awesome-repositories.com/f/system-administration-monitoring/real-time-event-watchers.md) — Implements mechanisms for subscribing to real-time resource change events to maintain synchronized local caches.
- [Resource Change Monitors](https://awesome-repositories.com/f/system-administration-monitoring/resource-monitoring/resource-change-monitors.md) — Supports watching resource event streams to trigger automated operations based on cluster changes.
