Giter VIP home page Giter VIP logo

sre-course's Introduction

sre-course

учебный проект изучения надежности продуктов, основанный на оригинальном postgres_cluster https://github.com/vitabaks/postgresql_cluster и приложении ghcr.io/ldest/sre-course/api

Предварительные работы и план работ:

  1. создать одну ВМ (виртуальная машина) с публичным IP в предварительной конфигурации 1 CPU | 2 GB | 16 GB SSD. При создании ВМ - зафиксировать имя пользователя
  2. сгенерировать ssh ключи для работы с ВМ в ~/.ssh - они потребуются при создании следующих ВМ
  3. создаем еще 5 ВМ (например с такой же конфигурацией - 1 CPU | 2 GB | 16 GB SSD) без публичного IP и с аналогичным пользователем п.1. Указываем публичный ключ для подключения
  4. Проверяем установку на первой ВМ: git, ansible, helm
  5. Клонируем репозиторий например в /home/<ваш пользователь п.1>/<папка развертывания>
  6. Переходим в <папку развертывания>/ansible/postgres_cluster. Проверяем и корректируем файл ./ansible/postgres_cluster/inventory - указываем корректные адреса для etcd, postgresdb. А так же пользователя п.1 и путь до ключей ssh
  7. В схеме используется haproxy и etcd - для аналогичных схем, дополнительных правок не требуется
  8. Разворачиваем приложение командой: ansible-playbook deploy_pgcluster.yml
  9. Проверяем итог: http://<ваш публичный IP>:7000/stat
  10. Скорректировать pg_hba.conf - добавить правило IP haproxy по аналогии нод pgcluster
  11. Подключиться к БД postgres. Создать БД weather.
  12. Для разворачивания API необходимо готовый kubeconfig от провайдера с выделенным namespace
  13. Переходим в <папку развертывания>/helm/sre-course-api
  14. В values.yaml необходимо указать кол-во реплик (replicaCount), корректируем параметр подключения к БД и порт работы (variables)
  15. Разворачиваем приложение командой: helm install sre-course-api sre-course-api --kubeconfig=<ваш kubeconfig> в папке ./helm
  16. Проверяем доступность подов и их работу. При необходимости корректируем ресурсы (resources) в values.yaml. Обновляем API: helm upgrade sre-course-api sre-course-api --kubeconfig=<ваш kubeconfig>

sre-course's People

Contributors

pmmson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.