← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 2: Namespaces та базова ізоляція

Технологія: Kubernetes

Номер лабораторної: 2 · Рівень: middle

Тема: Namespaces та базова ізоляція

Повний опис / сценарій лабораторної:

Мета: навчитися створювати namespace, переключатися між ними і запускати pod у правильному просторі імен.



Крок 1. Створити навчальний namespace.

Команда: kubectl create namespace k8s-lab

Пояснення: простір для експериментів, щоб не смітити в default.



Крок 2. Переконатися, що namespace створено.

Команда: kubectl get ns

Пояснення: має бути k8s-lab зі статусом Active.



Крок 3. Запустити pod у новому namespace.

Команда: kubectl run test-pod --image=nginx -n k8s-lab

Пояснення: pod створюється саме в k8s-lab.



Крок 4. Перевірити pod у k8s-lab.

Команда: kubectl get pods -n k8s-lab

Пояснення: переконайся, що pod у статусі Running.



Крок 5. Переглянути pod у default.

Команда: kubectl get pods

Пояснення: pod з k8s-lab тут не видно, бо це інший namespace.



Крок 6. Змінити поточний namespace у контексті.

Команда: kubectl config set-context --current --namespace=k8s-lab

Пояснення: після цього всі команди без параметра -n працюють у k8s-lab.



Крок 7. Перевірити поточний namespace.

Команда: kubectl config view --minify | grep namespace

Пояснення: має бути запис про namespace k8s-lab.



Крок 8. Створити pod без явного namespace.

Команда: kubectl run test-pod-2 --image=nginx

Пояснення: pod автоматично потрапить у k8s-lab, бо це namespace поточного контексту.



Крок 9. Повернутися до default namespace.

Команда: kubectl config set-context --current --namespace=default

Пояснення: корисна звичка, щоб не переплутати середовища.



Крок 10. Міні звіт.

Завдання: опиши, коли краще створювати окремий namespace, а коли вистачає одного default.