/
skyfly534
/
Kuber-2024-08OTUS
Обзор
Документация
Войти
/
skyfly534
/
Kuber-2024-08OTUS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Kuber-2024-08OTUS
Следить
1
Форк
0
Избранное
0
GigaIDE Cloud
RK
Roman K
Merge pull request #11 from Kuber-2024-08OTUS/kubernetes-vault
8 месяцев назад
b949136
Описание
В избранном
0
Следят
1
Языки
Shell
HCL
Smarty
Dockerfile
Makefile
Сообщить о нарушении
main
Ветки:
12
Коммиты:
42
Теги:
0
Код
.github
Initial commit
10 месяцев назад
kubernetes-controllers
Config deployment .yaml
10 месяцев назад
kubernetes-gitops
conf file terraform.tfvars.example
9 месяцев назад
kubernetes-intro
conf files for HW1
10 месяцев назад
kubernetes-logging
Added file for HW9
9 месяцев назад
kubernetes-monitoring
Adedd file for HW8
9 месяцев назад
kubernetes-networks
Conf README.md
9 месяцев назад
kubernetes-operators
Added file for HW7
9 месяцев назад
kubernetes-security
Added file for HW6
10 месяцев назад
kubernetes-templating
Merge branch 'main' into kubernetes-gitops
9 месяцев назад
kubernetes-vault
Conf README.md, tfvars for HW11
8 месяцев назад
kubernetes-volumes
Added file for HW9
9 месяцев назад
.gitignore
Conf README.md
9 месяцев назад
LICENSE
Initial commit
10 месяцев назад
README.md
Conf README.md, tfvars for HW11
8 месяцев назад
Readme
Практические занятия:
skyfly535_repo
HW11 Хранилище секретов для приложения. Vault.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW10 GitOps и инструменты поставки.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW9 Сервисы централизованного логирования для Kubernetes.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW8 Мониторинг приложения в кластере.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW7 Создание собственного CRD.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW6 Шаблонизация манифестов приложения, использование Helm. Установка community Helm charts.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW5 Настройка сервисных аккаунтов и ограничение прав для них.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW4 Volumes, StorageClass, PV, PVC.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW3 Сетевое взаимодействие Pod, сервисы.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW2 Kubernetes controllers. ReplicaSet, Deployment, DaemonSet.
В процессе выполнения ДЗ выполнены следующие мероприятия:
HW1 Знакомство с решениями для запуска локального Kubernetes кластера, создание первого pod.
В процессе выполнения ДЗ выполнены следующие мероприятия:
Практические занятия:
skyfly535_repo
Оглавление:
HW11 Хранилище секретов для приложения. Vault.
В процессе выполнения ДЗ выполнены следующие мероприятия:
**1. Написаны манифесты `Terraform` для установки кластера Kubernetes удовлетворяющего условиям ДЗ в `Yandex Cloud`.**
**2. При помощи файла `values.yaml` (чарта `Consul`) сконфигурирована установка компонентов `Consul` в одноименный namespase.**
**3. При помощи файла `values.yaml` (чарта `Vault`) сконфигурирована установка компонентов `Vault` в одноименный namespase.**
**1. Инжектор (injector):**
**2. CSI-провайдер (csi):**
**3. Агент (agent):**
**4. Сервер (server):**
**Дополнительные пояснения:**
**Итоговое назначение файла `values.yaml`:**
**4. Создан файл `./skyfly535_repo/kubernetes-vault/external-secrets-operator/helmfile.yaml` для установка компонентов (чарта `external-secrets`) `external-secrets` в namespase `Vault`.**
**5. Создан файл `./skyfly535_repo/kubernetes-vault/sa.yaml` для создания `serviceAccount` с именем `vault-auth` и `ClusterRoleBinding` для него с ролью `system:auth-delegator` в namespase `Vault`.**
**6. Создан файл `./skyfly535_repo/kubernetes-vault/otus-policy.hcl` для применитя политики `otus-policy` секретов `/otus/cred` с `capabilities = [“read”, “list”]`.**
**7. Создан манифест `./skyfly535_repo/kubernetes-vault/secretStore.yaml` в namespace `vault`, сконфигурированный для доступа к `KV секретам Vault` с использованием ранее созданной роли `otus` и сервис аккаунта `vault-auth`.**
**8. Создан манифест `./skyfly535_repo/kubernetes-vault/externalSecret.yaml` удовлетваряющий параметрам ДЗ.**
**9. Написан скрипт `install.sh` для автоматического развертывания требуемой инфраструктуры.**
**10. Произведена проверка развернутой инфраструктуры.**
HW10 GitOps и инструменты поставки.
В процессе выполнения ДЗ выполнены следующие мероприятия:
**1. Написаны манифесты `Terraform` для установки кластера Kubernetes удовлетворяющего условиям ДЗ в `Yandex Cloud`.**
**2. При помощи файла `values.yaml` (чарта `Argocd`) сконфигурирована установка компонентов argoCD исключительно на infra-ноды (добавлены соответствующие `toleration` для обхода `taint`, а также `nodeSelector` и `nodeAffinity`).**
**3. Создан манифест `appproject.yaml` для развертывания в Argocd `project` с именем `Otus`.**
**4. Создан манифест `kubernetes-network.yaml` для развертывания в Argocd тестового приложения `kubernetes-network` описанного в репозитории `https://github.com/Kuber-2024-08OTUS/skyfly535_repo.git`.**
**5. Создан манифест `kubernetes-templating.yaml` для развертывания в Argocd. тестового приложения `kubernetes-templating.yaml` описанного в репозитории `https://github.com/Kuber-2024-08OTUS/skyfly535_repo.git`.**
**5. Написан скрипт `install.sh` для автоматического развертывания требуемой инфраструктуры.**
**6. Произведена проверка развернутой инфраструктуры.**
HW9 Сервисы централизованного логирования для Kubernetes.
В процессе выполнения ДЗ выполнены следующие мероприятия:
**1. Проверена работ ранее подготовленного интерфейса командной строки Yandex Cloud.**
**2. Нагуглен и адаптирован скрипт, разворачивающий инфраструктуру удовлетворяющую условиям ДЗ.**
**3. Произведена проверка развернутой инфраструктуры.**
HW8 Мониторинг приложения в кластере.
В процессе выполнения ДЗ выполнены следующие мероприятия:
1. Установлен `Prometheus Operator` через Helm-чарт.
2. Создан манифест `CM-Nginx.yaml (ConfigMap)`, который содержит необходимую `конфигурацию NGINX` для дальнейшего монтирования `Deployment`.
**3. Создан `Deployment` для nginx с необходимыми настройками для `Prometheus Exporter`.**
**4. Создан `Service` Deployment-а для экспонирования метрик.**
**5. Создан `ServiceMonitor` для сбора метрик.**
**Применяем манифесты **
**Проверяем**
HW7 Создание собственного CRD.
В процессе выполнения ДЗ выполнены следующие мероприятия:
1. Создан манифест объекта `CustomResourceDefinition` удовлетворяющий требованиям ДЗ.
2. Изменен манифест `ClusterRole`, для описания в нем минимального набора прав доступа необходимых для нашего CRD.
3. Создан свой оператор, который реализовывать функционал удовлетворяющий условиям ДЗ.
Установка Operator SDK
Инициализация проекта оператора
Создание API и CRD
Разработка Ansible-ролей
Обновляем права доступа (RBAC)
Построение и развертывание оператора
skyfly534/mysql-operator:01.10.6
Создание экземпляра MySQL
Проверяем
HW6 Шаблонизация манифестов приложения, использование Helm. Установка community Helm charts.
В процессе выполнения ДЗ выполнены следующие мероприятия:
1. Создана структура-заготовка для нового `Helm chart`, используется команда `helm create`.
Описание файлов:
2. Параметризованны манифесты из предыдущих ДЗ. Создан файл `values.yaml`cодержащий значения по умолчанию, которые можно переопределить при установке чарта.
**Chart.yaml**
**values.yaml**
3. Произведено дальнейшее описание чарта удовлетворяющее требованиям ДЗ.
**templates/_helpers.tpl**
**templates/NOTES.txt**
Назначение файла `templates/NOTES.txt` в Helm
Описание файл `NOTES.txt`:
Основные функции:
**Пояснение**
**Обновление зависимостей**
**Проверка**
4. Установлены 2 релиза `kafka` из `bitnami helm-чарта`c следующими параметрами при помощи `helmfile`:
HW5 Настройка сервисных аккаунтов и ограничение прав для них.
В процессе выполнения ДЗ выполнены следующие мероприятия:
1. Создан `ServiceAccount` с именем `monitoring` в пространстве имен `homework` и предоставлен доступ к эндпоинту `/metrics` кластера.
2. Измен манифест Deployment, чтобы поды запускались под `ServiceAccount` `monitoring`.
3. Создан `ServiceAccount` с именем `cd` в пространстве имен `homework` и предоставлена роль `admin` в рамках этого пространства имен.
4. Сгенерирован kubeconfig для ServiceAccount cd. Сгенерирован токен со сроком действия 1 день и сохранен в файл token.
5. Модифицирован Deployment так, чтобы при запуске пода происходило обращение к эндпоинту `/metrics` кластера, результат сохранялся в файл `metrics.html`, и этот файл можно было получить по адресу `/metrics.html`.
Пояснение
Добавляем `Ingress` чтобы обслужить путь `/metrics`, переписывая его на /metrics.html
HW4 Volumes, StorageClass, PV, PVC.
В процессе выполнения ДЗ выполнены следующие мероприятия:
Пояснение:
Дальнейшие действия:
Пояснение:
Пояснение:
Пояснение:
Проверка
HW3 Сетевое взаимодействие Pod, сервисы.
В процессе выполнения ДЗ выполнены следующие мероприятия:
Пояснение:
HW2 Kubernetes controllers. ReplicaSet, Deployment, DaemonSet.
В процессе выполнения ДЗ выполнены следующие мероприятия:
1. `namespace.yaml`
2. `deployment.yaml`
Пояснение:
Задание с *
Проверка
1. **Readiness Probe не будет выполнена**
2. **Потеря статуса "Ready"**
3. **Трафик перестанет направляться на под**
4. **Восстановление статуса "Ready"**
HW1 Знакомство с решениями для запуска локального Kubernetes кластера, создание первого pod.
В процессе выполнения ДЗ выполнены следующие мероприятия:
Пояснение:
Пояснение:
README.md
Описание
В избранном
0
Следят
1
Языки
Shell
HCL
Smarty
Dockerfile
Makefile
Сообщить о нарушении