mirror of
https://github.com/batonogov/learn-devops.git
synced 2025-11-29 00:33:02 +00:00
@@ -9,3 +9,5 @@ skip_list:
|
|||||||
exclude_paths:
|
exclude_paths:
|
||||||
- ansible/roles/haproxy_static_pods/files/haproxy.yaml
|
- ansible/roles/haproxy_static_pods/files/haproxy.yaml
|
||||||
- ansible/roles/haproxy_static_pods/files/keepalived.yaml
|
- ansible/roles/haproxy_static_pods/files/keepalived.yaml
|
||||||
|
- talos/
|
||||||
|
- .markdownlint.yml
|
||||||
|
|||||||
2
.markdownlint.yml
Normal file
2
.markdownlint.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
MD013:
|
||||||
|
line_length: 150
|
||||||
@@ -22,9 +22,17 @@ repos:
|
|||||||
rev: v24.9.2
|
rev: v24.9.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: ansible-lint
|
- id: ansible-lint
|
||||||
|
exclude: ^talos/
|
||||||
|
|
||||||
- repo: https://github.com/tofuutils/pre-commit-opentofu
|
- repo: https://github.com/tofuutils/pre-commit-opentofu
|
||||||
rev: v2.1.0
|
rev: v2.1.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: tofu_fmt
|
- id: tofu_fmt
|
||||||
- id: tofu_validate
|
- id: tofu_validate
|
||||||
|
|
||||||
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||||
|
rev: v0.42.0
|
||||||
|
hooks:
|
||||||
|
- id: markdownlint
|
||||||
|
args: ["--fix"]
|
||||||
|
files: \.md$
|
||||||
|
|||||||
22
README.md
22
README.md
@@ -7,7 +7,10 @@
|
|||||||
|
|
||||||
## Мы стремимся подходу **Инфраструктура как код**
|
## Мы стремимся подходу **Инфраструктура как код**
|
||||||
|
|
||||||
Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
|
Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания.
|
||||||
|
IaC работает со всеми компонентами инфраструктуры так, будто это просто данные.
|
||||||
|
Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование,
|
||||||
|
а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
|
||||||
|
|
||||||
## Структура проекта
|
## Структура проекта
|
||||||
|
|
||||||
@@ -15,19 +18,28 @@
|
|||||||
|
|
||||||
2. [kubeadm](./kubeadm/) - это инструмент для простого и быстрого развёртывания кластера Kubernetes.
|
2. [kubeadm](./kubeadm/) - это инструмент для простого и быстрого развёртывания кластера Kubernetes.
|
||||||
|
|
||||||
3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**, используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**, известного как HashiCorp Configuration Language (HCL) или JSON.
|
3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**,
|
||||||
|
используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation.
|
||||||
|
Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**,
|
||||||
|
известного как HashiCorp Configuration Language (HCL) или JSON.
|
||||||
|
|
||||||
4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**, с использованием **декларативного языка разметки** для **описания конфигураций**. Применяется для **автоматизации настройки и развёртывания программного обеспечения**.
|
4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**,
|
||||||
|
с использованием **декларативного языка разметки** для **описания конфигураций**.
|
||||||
|
Применяется для **автоматизации настройки и развёртывания программного обеспечения**.
|
||||||
|
|
||||||
|
5. [Talos](./talos/) — **Talos Linux** — это **Linux**, разработанный для **Kubernetes**: безопасный, неизменяемый и минимальный.
|
||||||
|
|
||||||
## Pre-commit hook
|
## Pre-commit hook
|
||||||
|
|
||||||
**Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git.
|
**Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git.
|
||||||
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
|
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода,
|
||||||
|
статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
|
||||||
|
|
||||||
Преимущества использования **pre-commit hook**-ов:
|
Преимущества использования **pre-commit hook**-ов:
|
||||||
|
|
||||||
- **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
|
- **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
|
||||||
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода.
|
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий,
|
||||||
|
что снижает количество багов и повышает качество кода.
|
||||||
- **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
|
- **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
|
||||||
|
|
||||||
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
|
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
|
||||||
|
|||||||
@@ -16,7 +16,9 @@ Role Variables
|
|||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Для настройки часового пояса используется роль [community.general.timezone](https://docs.ansible.com/ansible/latest/collections/community/general/timezone_module.html), в качестве параметра принимается строка с нужным часовым поясом, например **Europe/Moscow**.
|
Для настройки часового пояса используется роль
|
||||||
|
[community.general.timezone](https://docs.ansible.com/ansible/latest/collections/community/general/timezone_module.html),
|
||||||
|
в качестве параметра принимается строка с нужным часовым поясом, например **Europe/Moscow**.
|
||||||
|
|
||||||
Example Playbook
|
Example Playbook
|
||||||
----------------
|
----------------
|
||||||
@@ -33,4 +35,4 @@ MIT
|
|||||||
Author Information
|
Author Information
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Федор Батоногов f.batonogov@yandex.ru
|
Федор Батоногов <f.batonogov@yandex.ru>
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
## Что такое Талос?
|
## Что такое Талос?
|
||||||
|
|
||||||
Talos - это дистрибутив Linux, оптимизированный для контейнеров;
|
Talos - это дистрибутив Linux, оптимизированный для контейнеров;
|
||||||
переосмысление Linux для распределенных систем, таких как Kubernetes.
|
переосмысление Linux для распределенных систем, таких как Kubernetes.
|
||||||
Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность.
|
Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность.
|
||||||
По этим причинам Talos имеет ряд уникальных для него особенностей:
|
По этим причинам Talos имеет ряд уникальных для него особенностей:
|
||||||
|
|
||||||
- неизменяесый
|
- неизменяесый
|
||||||
|
|||||||
Reference in New Issue
Block a user