Соединитесь с K8S, используя @ kubernetes / client-node NPM - PullRequest
0 голосов
/ 14 июня 2019

Документация для официального NPM @ kubernetes / client-node не существует.Я могу только искать исходный код и пытаться понять концепцию.

У меня есть этот простой пример:

const k8s = require('@kubernetes/client-node');

const kc = new k8s.KubeConfig();
kc.loadFromDefault();

const k8sApi = kc.makeApiClient(k8s.CoreV1Api);

k8sApi.listNamespacedPod('default').then((res) => {
    console.log(res.body);
});

Это работает, когда я запускаю этот код на главном узле.Я не могу запустить его локально, используя kubectl proxy, который прослушивает порт 8081. Вероятно, мне следует как-то настроить loadFromDefault.Пожалуйста, объясните на примере.

1 Ответ

0 голосов
/ 24 июня 2019

kc.loadFromDefault(); правильно и должно быть достаточно. Поэтому, если kubectl get pods без каких-либо дополнительных параметров работает для вас локально, предоставленный вами фрагмент кода также должен работать.

Обычно вам не нужно переадресовывать порты, чтобы добраться до мастера Kubernetes, поэтому дважды проверьте, что ваш kubeconfig работает с kubectl без переадресации портов. Если нет, то ваш kubeconfig скорее всего неверен. Эта страница содержит более подробную информацию о файлах kubeconfig: https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

Если kubectl get pods работает, но не ваш фрагмент кода, пожалуйста, укажите точную ошибку, которую вы получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...