Кубернетес — API

Опубликовано: 18 Февраля, 2023

Предварительное условие: - Kubernetes

Kubernetes API — это приложение, которое обслуживает функциональность Kubernetes через интерфейс RESTful и сохраняет состояние кластера через HTTP. Пользователи могут напрямую взаимодействовать с Kubernetes API или с помощью таких инструментов, как kubectl. Он поддерживает извлечение, создание, обновление и удаление первичных ресурсов с помощью POST, PUT, PATCH, DELETE и GET. Ресурсы Kubernetes хранятся как объекты API. API позволяет управлять конфигурацией аналитически. Основной API Kubernetes является гибким и может быть расширен для поддержки пользовательских ресурсов.

Он использует общую терминологию RESTful для описания концепций API:

  • Тип ресурса — это имя, используемое в URL-адресе ( модули, пространства имен, сервисы).
  • Все типы ресурсов имеют представление своей схемы объектов, которое называется видом.
  • Список экземпляров ресурса называется коллекцией.
  • Один экземпляр типа ресурса называется ресурсом и обычно представляет собой объект.

Доступ к REST API:

Если вы хотите получить доступ к REST API с помощью HTTP-клиента, такого как curl или wget, или браузера, есть несколько способов:

  1. Запустите kubectl в режиме прокси, чтобы убедиться в подлинности сервера API. Этот метод рекомендуется, так как он использует сохраненное местоположение сервера API и проверяет личность с помощью самозаверяющего сертификата. При использовании этого метода атака «человек посередине» (MITM) невозможна.
  2. Использование клиентских библиотек Go или Python обеспечивает доступ к kubectl в режиме прокси. Это работает с клиентским кодом, который запутан прокси. Для защиты от атак «человек посередине» вам необходимо импортировать корневой сертификат в веб-браузер.

Используя кубектл:

Следующая команда запускает прокси kubectl

$ kubectl proxy &

Затем он запускает обслуживание на порту 127.0.0.1:8001.

Откройте браузер и перейдите по адресу 127.0.0.1:8001.

Затем мы можем получить доступ к любому сектору через URL-адрес порта. Например, нам нужно получить доступ к сектору приложений API, а затем просто указать его в URL-адресе, например

127.0.0.1:8001/apis/apps/v1

Таким образом, мы можем легко получить доступ ко всему, что захотим.