Разница между объектами Kubernetes и ресурсами - PullRequest
0 голосов
/ 13 сентября 2018

В чем разница между Объектами и Ресурсами в мире Kubernetes?

Я не смог найти его из https://kubernetes.io/docs/concepts/. Интересно, они не делают различий в них, но, похоже, они видят объекты как концепцию ресурсов высокого уровня.

Ответы [ 4 ]

0 голосов
/ 21 сентября 2018
0 голосов
/ 13 сентября 2018

Kubernetes Objects - это что-то вроде заказа в ресторане. Вы определяете состояние кластера, который хотите, наконец, получить, как заказ официанту. kubectl определяет ваш заказ и доставляет его повару, как официант. А API-сервер готовит ваш заказ, как повар. Вы определяете объекты в файлах .yaml или .json.

Итак, ресурсы - это что-то вроде пунктов меню. Представьте, что Стручок - это мясо. Мясо можно приготовить по-разному: например, жареное или вареное, но в конечном итоге это будет мясо в обоих случаях. Аналогичное с ресурсами Kubernetes. StatefulSet создаст блоки с фиксированными именами от 0 до N, а Deployment - нет. DaemonSet создаст блоки на каждом из ваших узлов, а Deployment или StatefulSet создаст столько блоков, сколько вы указали в репликах. Но, наконец, это будут стручки, независимо от того, что вы выбрали. Возможно, вы захотите заказать жареное мясо, но средне-редкое с горчицей. Что ресторан сделает с вашим заказом, если его нет в списке товаров? Добро пожаловать в Кубернетес CRD или CustomResourceDefinition.

P.S .: это очень абстрактное описание и на самом деле StatefulSet/DaemonSets/Deployments или Ingress также являются объектами, но их часто называют "ресурсами"

0 голосов
/ 13 сентября 2018

Представление определенной группы + версия + вид - это объект.Например, Pod v1 или Развертывание apps / v1.Эти определения могут существовать в файлах манифеста или быть получены из apiserver.

Конкретный URL, используемый для получения объекта, является ресурсом.Например, список объектов Pod v1 можно получить из ресурса /api/v1/pods.Конкретный объект Pod v1 можно получить из ресурса /api/v1/namespaces/<namespace-name>/pods/<pod-name>.

Документы обнаружения API (например, опубликованные в / api / v1) можно использовать для определения ресурсов, соответствующих каждому типу объекта.

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

  1. /api/v1/namespaces/<namespace-name>/pods/<pod-name>
  2. /api/v1/namespaces/<namespace-name>/pods/<pod-name>/status

Разные ресурсы допускают разныеПоведение на стороне сервера и контроль доступа.Первый URL-адрес позволяет обновлять только части спецификации модуля и метаданных.Второй URL-адрес позволяет обновлять только статус модуля, а доступ обычно предоставляется только кублетам.

Правила авторизации основаны на ресурсах для конкретных запросов.

0 голосов
/ 13 сентября 2018

Как мы пытались объяснить в нашем блоге , ресурсы - это представления системного объекта, отправляемого или извлекаемого как JSON через HTTP, а объекты - это соответствующие структуры Голанга в памяти вместе с функциями и методами, определенными в им.

Обратите внимание, что в общем и неофициально мы используем термины ресурсы и объекты взаимозаменяемо, и это совершенно нормально. Если вы не являетесь разработчиком Go, расширяющим Kubernetes , вам, вероятно, вообще не нужно об этом беспокоиться.

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