Выбор ответа Junior Архитектура Kubernetes обновлено
apply против create
Вопрос
Чем kubectl apply -f deploy.yaml отличается от kubectl create -f deploy.yaml?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: apply создаёт объект или обновляет существующий; create падает, если объект есть. apply сравнивает файл с текущим объектом и применяет разницу, его можно запускать сколько угодно раз (идемпотентность), поэтому он основа GitOps и CI. create императивен и выдаст AlreadyExists при повторе.
Варианты ответа
applyсоздаёт объект или обновляет существующий;createпадает, если объект естьправильный ответcreateбыстрее, потому что не скачивает текущий объект, а в остальном они одинаковыapplyработает только с Deployment и StatefulSet, остальное создаётся черезcreate- Ничем, это синонимы:
applyоставлен для совместимости со старыми версиями kubectl
Разбор
apply сравнивает файл с текущим объектом и применяет разницу, его можно запускать сколько угодно раз (идемпотентность), поэтому он основа GitOps и CI. create императивен и выдаст AlreadyExists при повторе. Скорость одинакова, работают оба с любыми ресурсами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.