Kubernetes & OpenShift Java Client 
This client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.
| Extensions | Maven Central | Javadoc |
|---|---|---|
| knative-client | ||
| tekton-client | ||
| chaosmesh-client | ||
| volumesnapshot-client | ||
| volcano-client | ||
| istio-client | ||
| open-cluster-management-client |
Contents
- Usage
- Generating CRD from Java
- Generating Java from CRD
- Mocking Kubernetes
- Who Uses Fabric8 Kubernetes Client?
- Kubernetes Operators in Java Written using Fabric8 Kubernetes Client
- Kubernetes and Red Hat OpenShift Compatibility
- Kubernetes Client CHEAT SHEET
- Kubectl Java Equivalents
- FAQs - which includes details about project dependencies.
Usage
Creating a client
The easiest way to create a client is:
KubernetesClient client = new KubernetesClientBuilder().build();
DefaultOpenShiftClient implements both the KubernetesClient & OpenShiftClient interface so if you need the
OpenShift extensions, such as Builds, etc then simply do:
OpenShiftClient osClient = new KubernetesClientBuilder().build().adapt(OpenShiftClient.class);
Configuring the client
This will use settings from different sources in the following order of priority:
- System properties
- Environment variables
- Kube config file
- Service account token & mounted CA certificate
System properties are preferred over environment variables. The following system properties & environment variables can be used for configuration:
| Property / Environment Variable | Description | Default value |
|---|---|---|
kubernetes.disable.autoConfig / KUBERNETES_DISABLE_AUTOCONFIG |
Disable automatic configuration (KubernetesClient would not look in ~/.kube/config, mounted ServiceAccount, environment variables or System properties for Kubernetes cluster information) |
false |
kubernetes.master / KUBERNETES_MASTER |
Kubernetes master URL | https://kubernetes.default.svc |
kubernetes.api.version / KUBERNETES_API_VERSION |
API version | v1 |
openshift.url / OPENSHIFT_URL |
OpenShift master URL | Kubernetes master URL value |
kubernetes.oapi.version / KUBERNETES_OAPI_VERSION |
OpenShift API version |