Kubernetes/Openshift Flashcards

(10 cards)

1
Q

Архитектура Kubernetes (Master-Worker)

A

Кубер разделен на две части: Control Plane (мозги) и Nodes (мышцы).

Control Plane (Master-нода):

API Server: «Входная дверь». Все команды (от тебя или от других компонентов) идут сюда.

etcd: База данных «ключ-значение». Хранит всё состояние кластера (память кластера).

Scheduler: «Диспетчер». Решает, на какую рабочую ноду отправить новый Под (смотрит, где есть место).

Controller Manager: «Надсмотрщик». Следит, чтобы реальное состояние совпадало с желаемым (если под упал — он велит создать новый).

Worker Nodes (Рабочие ноды):

Kubelet: Агент на каждой ноде. Слушает команды от Master и управляет контейнерами.

Kube-proxy: Отвечает за сеть (чтобы трафик доходил до нужного пода).

Container Runtime: Движок (Docker или Containerd), который физически запускает контейнеры.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Troubleshooting

A

kubectl describe pod [имя] — самая важная команда. Показывает события (Events): почему не скачался образ, почему не хватило памяти, на какую ноду сел под.

kubectl logs -f [имя] –previous — посмотреть логи. Флаг –previous незаменим: он показывает логи предыдущего воплощения пода, который только что упал.

kubectl exec -it [имя] – bash — залезть внутрь пода, чтобы «курлануть» базу или проверить конфиги.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Просмотр состояния

A

kubectl get pods -A — список всех подов во всех неймспейсах (Namespace).

kubectl get nodes — живы ли сервера, на которых крутится кластер.

kubectl get svc — проверить внешние и внутренние IP сервисов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ресурсы и управление

A

kubectl top pod — покажи, кто прямо сейчас ест больше всего памяти и проца.

kubectl rollout undo deployment/[имя] — экстренный откат деплоймента на предыдущую версию.

kubectl scale deployment [имя] –replicas=5 — быстро увеличить количество копий приложения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Pod (Под)

A

Минимальная единица K8s. Внутри пода живет один или несколько контейнеров, которые делят один IP и локальную сеть. Под — это то, что мы мониторим в первую очередь.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Deployment (Деплоймент)

A

Деплоймент управляет подами. Он следит за их количеством (репликами) и отвечает за обновление приложения без простоя (Rolling Update). Если ты удалишь под, деплоймент тут же создаст новый.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Service (Сервис)

A

Поды смертны и их IP меняются. Сервис — это стабильный «виртуальный IP» и DNS-имя. Он балансирует трафик между всеми подами одного приложения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Requests vs Limits

A

Requests — сколько ресурсов гарантированно зарезервировано за подом (планировщик ищет ноду с этим местом). Limits — жесткий потолок. Если под превысит RAM Limit, он получит OOMKilled.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Liveness vs Readiness Probes

A

Liveness проверяет, не зависло ли приложение (если не ответит — рестарт пода). Readiness проверяет, готово ли приложение принимать трафик (если не ответит — сервис перестает слать на него запросы).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

ConfigMap и Secrets

A

ConfigMap — для обычных конфигов (порты, пути). Secrets — для паролей, токенов и ключей (они хранятся в base64 и скрыты в логах).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly