K8s Q A: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 6: Строка 6:
   
   
  +
=То что стоит прочитать=
Вопросы
 
 
* [[K8s_Q_A_ Architecture |Architecture]]
 
* [[K8s_Q_A_ Architecture |Architecture]]
   
   
* Типы сущностей
+
==Типы сущностей==
** [[K8s_Q_A_Namespaces|Namespaces]] виртуальные кластеры размещенные поверх физического;
+
* [[K8s_Q_A_Namespaces|Namespaces]] виртуальные кластеры размещенные поверх физического;
** [[K8s_Q_A_POD|Pods]] - минимальная сущность (юнит) для развертывания в кластере; [[K8s_Q_A_POD|Подробнее про POD]]
+
* [[K8s_Q_A_POD|Pods]] - минимальная сущность (юнит) для развертывания в кластере; [[K8s_Q_A_POD|Подробнее про POD]]
** [[K8s_Q_A_ReplicaSets|ReplicaSets]] (ранее Replication Controller) - гарантирует, что в определенный момент времени будет запущено нужно кол-во контейнеров; [[K8s_Q_A_ReplicaSets|Подробнее про ReplicaSets]]
+
* [[K8s_Q_A_ReplicaSets|ReplicaSets]] (ранее Replication Controller) - гарантирует, что в определенный момент времени будет запущено нужно кол-во контейнеров; [[K8s_Q_A_ReplicaSets|Подробнее про ReplicaSets]]
** [[K8s_Q_A_StatefulSets|StatefulSets]] - используется для управления приложениями с сохранением состояния;
+
* [[K8s_Q_A_StatefulSets|StatefulSets]] - используется для управления приложениями с сохранением состояния;
** [[K8s_Q_A_DaemonSet|DaemonSet]] - гарантирует, что определенный под будет запущен на всех (или некоторых) нодах;
+
* [[K8s_Q_A_DaemonSet|DaemonSet]] - гарантирует, что определенный под будет запущен на всех (или некоторых) нодах;
** [[K8s_Q_A_Deployments|Deployments]] - обеспечивает декларативные (declarative) обновления для Pods и ReplicaSets; [[K8s_Q_A_ Deployments|Подробнее про Deployments]]
+
* [[K8s_Q_A_Deployments|Deployments]] - обеспечивает декларативные (declarative) обновления для Pods и ReplicaSets; [[K8s_Q_A_ Deployments|Подробнее про Deployments]]
** [[K8s_Q_A_Images|Images]]
+
* [[K8s_Q_A_Images|Images]]
** [[K8s_Q_A_Env_Vars|Env Variables]]
+
* [[K8s_Q_A_Env_Vars|Env Variables]]
   
 
* [[K8s_Q_A_Replica_Set_vs_Deployments| Различия в Replication Controller, Replica Set и Deployments]]
   
* ConfigMap / Secret
+
==ConfigMap / Secret==
** [[K8s_Q_A_ConfigMaps|ConfigMaps]] - позволяет переопределить конфигурацию запускаемых подов;
+
* [[K8s_Q_A_ConfigMaps|ConfigMaps]] - позволяет переопределить конфигурацию запускаемых подов;
** [[K8s_Q_A_Secrets|Secrets]] - используются для хранения конфиденциальной информации (пароли, токены, ssh-ключи).
+
* [[K8s_Q_A_Secrets|Secrets]] - используются для хранения конфиденциальной информации (пароли, токены, ssh-ключи).
   
   
  +
==PodPresets==
* ???
 
** [[K8s_Q_A_PodPresets|PodPresets]]
+
* [[K8s_Q_A_PodPresets|PodPresets]]
   
   
* Сборка мусора
+
==Сборка мусора==
** [[K8s_Q_A_Garbage_Collector|Garbage Collector]]
+
* [[K8s_Q_A_Garbage_Collector|Garbage Collector]]
   
   
* Метки и аннотации
+
==Метки и аннотации==
** [[K8s_Q_A_Labels_And_Selectors|Labels and Selectors]] пары ключ/значение, которые присваиваются объектам (например, подам). С помощью селекторов пользователь может идентифицировать объект
+
* [[K8s_Q_A_Labels_And_Selectors|Labels and Selectors]] пары ключ/значение, которые присваиваются объектам (например, подам). С помощью селекторов пользователь может идентифицировать объект
** [[K8s_Q_A_Annotations|Annotations]] - добавление произвольных неидентифицирующих метаданных к объектам;
+
* [[K8s_Q_A_Annotations|Annotations]] - добавление произвольных неидентифицирующих метаданных к объектам;
   
   
* Jobs
+
==Jobs==
** [[K8s_Q_A_Jobs|Jobs (в том числе CronJob)]] - создает один (или несколько) подов и гарантирует, что после выполнения команды они будут успешно завершены (terminated);
+
* [[K8s_Q_A_Jobs|Jobs (в том числе CronJob)]] - создает один (или несколько) подов и гарантирует, что после выполнения команды они будут успешно завершены (terminated);
   
   
* Сервисы
+
==Сервисы==
** [[K8s_Q_A_Services|Services]] - абстракция, которая определяет логический набор подов и политику доступа к ним;
+
* [[K8s_Q_A_Services|Services]] - абстракция, которая определяет логический набор подов и политику доступа к ним;
   
   
* ???
 
** [[K8s_Q_A_Replica_Set_vs_Deployments| Различия в Replication Controller, Replica Set и Deployments]]
 
   
   

Версия 15:07, 9 января 2024


Это сборник заметок, что бы повторять перед собеседованием - собрано из разных мест и скомпановано в удобном для меня виде


То что стоит прочитать


Типы сущностей

  • Namespaces виртуальные кластеры размещенные поверх физического;
  • Pods - минимальная сущность (юнит) для развертывания в кластере; Подробнее про POD
  • ReplicaSets (ранее Replication Controller) - гарантирует, что в определенный момент времени будет запущено нужно кол-во контейнеров; Подробнее про ReplicaSets
  • StatefulSets - используется для управления приложениями с сохранением состояния;
  • DaemonSet - гарантирует, что определенный под будет запущен на всех (или некоторых) нодах;
  • Deployments - обеспечивает декларативные (declarative) обновления для Pods и ReplicaSets; Подробнее про Deployments
  • Images
  • Env Variables

ConfigMap / Secret

  • ConfigMaps - позволяет переопределить конфигурацию запускаемых подов;
  • Secrets - используются для хранения конфиденциальной информации (пароли, токены, ssh-ключи).


PodPresets


Сборка мусора


Метки и аннотации

  • Labels and Selectors пары ключ/значение, которые присваиваются объектам (например, подам). С помощью селекторов пользователь может идентифицировать объект
  • Annotations - добавление произвольных неидентифицирующих метаданных к объектам;


Jobs

  • Jobs (в том числе CronJob) - создает один (или несколько) подов и гарантирует, что после выполнения команды они будут успешно завершены (terminated);


Сервисы

  • Services - абстракция, которая определяет логический набор подов и политику доступа к ним;






  1. чем деплоймент от даймон сета отличается. для чего обычно юзают даймон сет.
  2. сколько контейнеров может быть в поде.
  3. что такое инт контейнер.
  4. Типы Сервисов
  5. НодПорт выставляет порт на одной ноде кластера или нет.
  6. Магия ЛоадБалансер сервиса (Клауд имплементация ЛоадБалансер сервиса).
  7. разница между лайфнес и рединес пробами.
  8. нахрена деплоймент создает РепликаСет и чем он отличается от деплоймента.
  9. Ингресы. как это вообще работает и с какими ингрес контролерами работал.
  10. что такое CRD. как работает.
  11. как из дефолтных сущностей кубов сделать канари деплоймент (10% трафика отрезать в новую версию апки)
  12. Потеряли ССХ ключ от воркер инстанса, а надо туда сходить по ССХ. Но есть админ доступ к кубам. как востановить ССХ доступ к воркеру?

АВС специфичные

  1. Если пода пойдет в АВС АПИ, то с какими кредами-правами она туда придет. (креды он воркерноды)
  2. IAM роли для Сервис Аккаунтов. (IRSA)
  3. Изоляция по разным группам инстансов (теинт, толерейшен и прочии афинити и антиафинити). Это в принципе общий вопрос. А! и еще ж HPA и какими сторонними сервисами пользовал типа Keda.
  4. aws-auth конфигмапа