Skip to content

Latest commit

 

History

History
113 lines (79 loc) · 4.5 KB

6-05.md

File metadata and controls

113 lines (79 loc) · 4.5 KB

Домашнее задание к занятию «Kubernetes. Часть 1»

Оформление домашнего задания

  1. Домашнее задание выполните в Google Docs и отправьте на проверку ссылку на ваш документ в личном кабинете.
  2. В названии файла укажите номер лекции и фамилию студента. Пример названия: 6.5. Kubernetes. Часть 1 — Александр Александров.
  3. Перед отправкой проверьте, что доступ для просмотра открыт всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, добавьте их в свой Google Docs.

Любые вопросы по решению задач задавайте в чате учебной группы.


Важно

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

Рекомендации по ссылке.


Задание 1

Выполните действия:

  1. Запустите Kubernetes локально, используя k3s или minikube на свой выбор.
  2. Добейтесь стабильной работы всех системных контейнеров.
  3. В качестве ответа пришлите скриншот результата выполнения команды kubectl get po -n kube-system.

Задание 2

Есть файл с деплоем:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
spec:
  selector:
    matchLabels:
      app: redis
  replicas: 1
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - name: master
        image: bitnami/redis
        env:
         - name: REDIS_PASSWORD
           value: password123
        ports:
        - containerPort: 6379

Выполните действия:

  1. Измените файл с учётом условий:
  • redis должен запускаться без пароля;
  • создайте Service, который будет направлять трафик на этот Deployment;
  • версия образа redis должна быть зафиксирована на 6.0.13.
  1. Запустите Deployment в своём кластере и добейтесь его стабильной работы.
  2. В качестве решения пришлите получившийся файл.

Задание 3

Выполните действия:

  1. Напишите команды kubectl для контейнера из предыдущего задания:
  • выполнения команды ps aux внутри контейнера;
  • просмотра логов контейнера за последние 5 минут;
  • удаления контейнера;
  • проброса порта локальной машины в контейнер для отладки.
  1. В качестве решения пришлите получившиеся команды.

Дополнительные задания* (со звёздочкой)

Их выполнение необязательное и не влияет на получение зачёта по домашнему заданию. Можете их решить, если хотите лучше разобраться в материале.


Задание 4*

Есть конфигурация nginx:

location / {
    add_header Content-Type text/plain;
    return 200 'Hello from k8s';
}

Выполните действия:

  1. Напишите yaml-файлы для развёртки nginx, в которых будут присутствовать:
  • ConfigMap с конфигом nginx;
  • Deployment, который бы подключал этот configmap;
  • Ingress, который будет направлять запросы по префиксу /test на наш сервис.
  1. В качестве решения пришлите получившийся файл.