Skip to content

3. Code Examples

Min Jin edited this page Jul 17, 2023 · 10 revisions

Here's a few code snippets showing how to access Kubernetes cluster using the library:

list all pods:

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 on namespace object:

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

More examples can be found in examples folder. To run examples, run this command:

mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"

Additionally, we prepared a few examples for common use-cases which are shown below:

  • Configuration:
  • Basics:
    • SimpleExample: Simple minimum example of how to use the client.
    • ProtoExample: Request/receive payloads in protobuf serialization protocol.
    • PatchExample: Patch resource objects in various supported patch formats, equal to kubectl patch.
    • FluentExample: Construct arbitrary resource in a fluent builder style.
    • YamlExample: Suggested way to load or dump resource in Yaml.
  • Streaming:
    • WatchExample: Subscribe watch events from certain resources, equal to kubectl get <resource> -w.
    • LogsExample: Fetch logs from running containers, equal to kubectl logs.
    • ExecExample: Establish an "exec" session with running containers, equal to kubectl exec.
    • PortForwardExample: Maps local port to a port on the pod, equal to kubectl port-forward.
    • AttachExample: Attach to a process that is already running inside an existing container, equal to kubectl attach.
    • CopyExample: Copy files and directories to and from containers, equal to kubectl cp.
    • WebSocketsExample: Establish an arbitrary web-socket session to certain resources.
  • Advanced: (NOTE: The following example requires client-java-extended module)
Clone this wiki locally
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy