如何从Java连接到DigitalOcean Kubernetes群集?

如何从Java连接到DigitalOcean Kubernetes群集?,kubernetes,Kubernetes,我在DigitalOcean上有一个Kubernetes集群,我尝试使用Kubernetes Java API列出其中的吊舱 String kubeConfigPath = "~/.kube/config"; KubeConfig config = KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath)); ApiClient client = ClientBuilder .kubeconfig(config)

我在DigitalOcean上有一个Kubernetes集群,我尝试使用Kubernetes Java API列出其中的吊舱

String kubeConfigPath = "~/.kube/config";

KubeConfig config = KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath));

ApiClient client = ClientBuilder
        .kubeconfig(config)
        .build();

Configuration.setDefaultApiClient(client);

CoreV1Api api = new CoreV1Api();

V1PodList list = api.listNamespacedPod("default", true, null,
        null, null, null,
        null, null, null,
        null
);

for (V1Pod item : list.getItems()) {
    System.out.println(item.getMetadata().getName());
}
但是当我运行它时,我得到以下错误

Exception in thread "main" io.kubernetes.client.ApiException: Forbidden
    at io.kubernetes.client.ApiClient.handleResponse(ApiClient.java:886)
    at io.kubernetes.client.ApiClient.execute(ApiClient.java:802)
    at io.kubernetes.client.apis.CoreV1Api.listNamespacedPodWithHttpInfo(CoreV1Api.java:16949)
    at io.kubernetes.client.apis.CoreV1Api.listNamespacedPod(CoreV1Api.java:16926)
    at com.workfront.k8s.KubeConfigFileClientExample.main(KubeConfigFileClientExample.java:30)

当我使用minikube时,它工作正常。

您是否尝试过
api.listNamespacedPod(“default”,null,null…)
?第一个null表示pod初始化状态,因此它与授权无关