HW11 Хранилище секретов для приложения. Vault.
В процессе выполнения ДЗ выполнены следующие мероприятия:
**1. Написаны манифесты `Terraform` для установки кластера Kubernetes удовлетворяющего условиям ДЗ в `Yandex Cloud`.**
**2. При помощи файла `values.yaml` (чарта `Consul`) сконфигурирована установка компонентов `Consul` в одноименный namespase.**
**3. При помощи файла `values.yaml` (чарта `Vault`) сконфигурирована установка компонентов `Vault` в одноименный namespase.**
**1. Инжектор (injector):**
**2. CSI-провайдер (csi):**
**Дополнительные пояснения:**
**Итоговое назначение файла `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.
+kubebuilder:permissions:verbs=create;update;delete;get;list;watch,resources=persistentvolumeclaims
Use the 'create api' subcommand to add watches to this file.