Отличие модуля и развертывания

Я изо всех сил пытаюсь понять разницу между развертываниями и модулями в Kubernetes.

Развертывание предоставляет декларативные обновления для модулей Pod и наборов реплик.

Поды — это наименьшие развертываемые вычислительные единицы, которые вы можете создавать и управлять ими в Kubernetes.

Похоже, что kind:Pod можно использовать взаимозаменяемо kind: Deployment, а развертывание допускает использование Replica (что в значительной степени является целью Kubernetes). Зачем вам когда-либо использовать Pod?

Может ли кто-нибудь:

  • Объясните существенную разницу между модулями/развертываниями +
  • Опишите вариант использования, в котором модули предпочтительнее развертывания?

person Casper Dijkstra    schedule 20.10.2020    source источник


Ответы (1)


Короче:

со стручками

  1. если умрет, то умрет. Период.
  2. вы можете определить только одну копию конкретного модуля. Если вам нужно иметь X копий, вы должны определить в файлах YAML X pods
  3. обычно вы никогда не увидите модули, созданные непосредственно в производственной среде. Слишком ненадежно. Почему ? из-за 1.

С развертыванием

  1. вы определяете желаемое состояние модуля. Если модуль умирает (по какой-либо причине), развертывание создает новый модуль.
  2. и более общий: вы можете указать, что хотите, чтобы X запускал реплики одного и того же модуля. Если один или несколько из них умирают, развертывание создает новые, чтобы соответствовать X
person pb100    schedule 20.10.2020
comment
Точнее, развертывание создает ReplicaSet, который затем создает набор идентичных, бесстебельных, модулей, w.r.t. шаблон модуля, указанный в файле yaml развертывания, и значение поля replica (которое определяет размер набора модулей). Развертывание может управлять несколькими наборами реплик, чтобы выполнять непрерывное обновление управляемых модулей, чтобы эта версия приложения обновлялась без прерывания службы. - person Fabrice Jammes; 21.10.2020