Этот раздел документации Kubernetes содержит ссылки (референсы).
Ссылки по API
Глоссарий — обширный, стандартизированный список терминологии Kubernetes.
Использование Kubernetes API — обзор API в Kubernetes.
Контроль доступа к API — подробности о том, как Kubernetes контролирует доступ к API.
Официально поддерживаемые клиентские библиотеки
Для вызова API Kubernetes из языка программирования вы можете использовать клиентские библиотеки. Официально поддерживаемые клиентские библиотеки:
- Клиентская библиотека Go.
- Клиентская библиотека Python.
- Клиентская библиотека Java.
- Клиентская библиотека JavaScript.
- Клиентская библиотека C#.
- Клиентская библиотека Haskell.
CLI
- kubectl — основной CLI-инструмент для запуска команд и управления кластерами Kubernetes.
- JSONPath — руководство по синтаксису выражений JSONPath с kubectl.
- kubeadm — CLI-инструмент для легкого разворачивания защищенного кластера Kubernetes.
Компоненты
kubelet — основной агент, запускаемый на каждом узле. Kubelet получает набор PodSpecs и гарантирует, что описанные контейнеры запущены и корректно работают.
kube-apiserver — REST API, который валидирует данные для таких объектов API, как поды, сервисы, контроллеры репликации, и управляет ими.
kube-controller-manager — демон, который обеспечивает работу ключевых циклов контроля (control loops) в Kubernetes.
kube-proxy — может выполнять простое перенаправление TCP/UDP-потоков или round-robin для них по множеству бэкендов.
kube-scheduler — планировщик, который управляет доступностью, производительностью и нагрузкой.
Список портов и протоколов, которые должны быть открыты у управляющего слоя и рабочих узлов.
Конфигурационные API
В этой секции содержится документация для «неопубликованных» API, которые используются для конфигурации компонентов или инструментов Kubernetes. API-сервер не публикует бОльшую часть этих API как REST, хотя они могут быть важны для пользователя или администратора при использовании кластера или управлении им.
- kubeconfig (v1)
- kuberc (v1alpha1) и kuberc (v1beta1)
- kube-apiserver admission (v1)
- kube-apiserver configuration (v1alpha1) и kube-apiserver configuration (v1beta1) и kube-apiserver configuration (v1)
- kube-apiserver event rate limit (v1alpha1)
- kubelet configuration (v1alpha1) и kubelet configuration (v1beta1) и kubelet configuration (v1)
- kubelet credential providers (v1)
- kube-scheduler configuration (v1)
- kube-controller-manager configuration (v1alpha1)
- kube-proxy configuration (v1alpha1)
audit.k8s.io/v1API- Client authentication API (v1beta1) и Client authentication API (v1)
- WebhookAdmission configuration (v1)
- ImagePolicy API (v1alpha1)
Конфигурационные API для kubeadm
Внешние API
Эти API определены проектом Kubernetes, но не реализованы в рамках ядра Kubernetes:
Архитектурная документация
Существует архив документации с архитектурой того, как функционирует Kubernetes. Хорошими стартовыми точками здесь являются документ по архитектуре Kubernetes и репозиторий с предложениями по дизайну Kubernetes.
Форматы
Инструменты вроде kubectl могут работать с разными форматами/кодировками. К ним относятся:
- CBOR, который используется по сети, но не доступен как формат вывода в kubectl.
- JSON, доступный как формат вывода в
kubectlи используемый на уровне HTTP. - KYAML, Kubernetes-диалект YAML.
- KYAML — это по сути формат вывода; в любом месте, где можно передать данные в KYAML в Kubernetes, аналогично можно использовать любой другой валидный YAML.
- YAML, доступный как формат вывода в
kubectlи используемый на уровне HTTP.
У Kubernetes также есть кастомное protobuf-кодирование, которое используется только в HTTP-сообщениях.
Инструмент kubectl поддерживает некоторые другие форматы вывода — например, custom columns;
см. форматы вывода в референсной документации kubectl.