Кубернетес — API
Предварительное условие: - 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, или браузера, есть несколько способов:
- Запустите kubectl в режиме прокси, чтобы убедиться в подлинности сервера API. Этот метод рекомендуется, так как он использует сохраненное местоположение сервера API и проверяет личность с помощью самозаверяющего сертификата. При использовании этого метода атака «человек посередине» (MITM) невозможна.
- Использование клиентских библиотек 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
Таким образом, мы можем легко получить доступ ко всему, что захотим.