Доступ к Kubernetes API с помощью REST API - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь получить доступ к API Kubernetes из NodeJS.Запуск в среде, где нет доступных инструментов командной строки kubectl или gcloud.Использование https://github.com/kubernetes-client/javascript SDK на стороне клиента.Вопрос в том, как пройти аутентификацию и получить доступ к удаленному кластеру.Мне это нужно для K8, работающих в GCP.

Другими словами, пытаясь сделать то, что делает "get-credentials контейнерных кластеров gcloud", но без "gcloud" cli.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Если вы хотите использовать Kubernetes Master API извне, вам необходимо авторизоваться одним из способов, описанных здесь .

В частности, если вы хотите использовать имя пользователя / пароль ивы используете GKE (k8 на GCP), затем вы можете сделать это в следующие шаги:

  1. Нажмите на название вашего кластера и «Показать учетные данные», там вы можете найти имя пользователя и пароль.
  2. Используйте заголовок: «Авторизация: Basic BASE64ENCODED (USER: PASSWORD)» для вызовов REST.
0 голосов
/ 17 декабря 2018

Я думаю, что вы можете вызывать API Kubernetes из NodeJS, используя этот клиент kubernetes , поддерживаемый GoDaddy .Kubernetes-client для NodeJS упрощает способ настройки интерфейса для API Kubernetes.

Ниже приведен пример использования небольшого фрагмента для извлечения всех Deployments в стандартном Kubernetes Namespace:

const Client = require('kubernetes-client').Client;
const config = require('kubernetes-client').config;

const client = new Client({ config: config.fromKubeconfig(), version: '1.9' });
const deployments = await client.api.v1.namespaces('default').deployments.get();

Здесь вы можете найти больше фрагментов для использования kubernetes-client.

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