Shanraq.org Shanraq.org
OpenTofu және Ansible: инфрақұрылым мен баптау код ретінде
IT

Cloud & DevOps: жергілікті қолданбадан сенімді сервиске дейін 22-сабақ (барлығы 24)

OpenTofu және Ansible: инфрақұрылым мен баптау код ретінде

Ресурс сипаттамасын тексеріп, inventory құрып, хостқа идемпотентті баптау қолданамыз.

Мәтін ИИ көмегімен аударылды.

Бұл сабақ нөлден басталады. Бейтаныс сөз сіздің кемшілігіңіз емес: алдымен бейне құрамыз, кейін дәл мағына беріп, содан соң қолданамыз.

Қай жерде тұрмыз

Қысқа қайталау. Өткен сабақтың тірегі domain → DNS → public 443 → Caddy → private app:8080; certificate атауды дәлелдейді. Қарамай төрт буынды атаңыз, содан кейін ғана жазбамен салыстырыңыз.

Сабақ нәтижесі

Ресурс сипаттамасын тексеріп, inventory құрып, хостқа идемпотентті баптау қолданамыз. Әр пәрмен нені тексеретінін және қандай ақауды табатынын түсіндіре алмайынша келесі сабаққа өтпеңіз.

Алдымен таныс бейне

Құрылысшы сызбамен жұмыс істеп, басқарушы салынған нәрсенің тізімін ұстайды. OpenTofu қалаған cloud resource-ты сипаттап, нақты объект байланысын state-та сақтайды. Ansible бөлмені баптау нұсқаулығы сияқты.

Аналогия ойды бастауға көмектеседі, бірақ технология құрылысын алмастырмайды. Төменде әр сөзді нақтылаймыз.

Сабақтың тірек сигналы

desired code → plan/diff → approve → apply → state; repeat → surprise жоқ

Тізбекті солдан оңға оқыңыз. Ол «қай пәрменді жаттаймын?» емес, «келесі қадам неге алдыңғысынан шығады?» дегенге жауап береді.

Жаңа сөздер қарапайым тілмен

  • Infrastructure as Code — Инфрақұрылымды тексерілетін, нұсқаланатын файлда сипаттау.
  • State — Код пен нақты ресурс сәйкестігінің сезімтал жазбасы.
  • Plan — Қолдануға дейінгі болжанған өзгеріс тізімі.
  • Idempotence — Қажетті күй бар болса, қайталау артық өзгеріс жасамайды.

Асықпай талдаймыз

OpenTofu state арқылы инфрақұрылым ресурсының өмір циклін басқарады; Ansible SSH арқылы ОС-ты қажетті күйге әкеледі. Код өзгерісті көрінетін етеді, бірақ state пен құпияны қорғау керек. Идемпотентті playbook қайта іске қосылған сайын өзгеріс жасамауы тиіс.

Анықтаманы сөзбе-сөз жаттамаңыз. Себептік байланысты тауып, жоғарыдағы тірекпен қосыңыз.

Алдымен нәтижені болжаңыз

Іске қоспай тұрып қағазға жазыңыз: не өзгеруі, не сол күйде қалуы және қай output болжамды дәлелдеуі тиіс? Қате болжам да айырманы түсіндіре алсаңыз пайдалы.

Шағын қадаммен тәжірибе

Пәрмендерді course/cloud-devops-lab түбірінен орындаңыз. Пәрмендер оқу ортасына арналған. Серверді не деректі өзгертетін пәрменді іске қоспас бұрын оны толық оқып, ағымдағы қалтаны тексеріңіз. Блокты мағыналық топпен орындаңыз. Әр топтан кейін тоқтап, нәтижені болжаммен салыстырыңыз.

tofu -chdir=infra/opentofu fmt -check 2>/dev/null || true
tofu -chdir=infra/opentofu init -backend=false 2>/dev/null || true
tofu -chdir=infra/opentofu validate 2>/dev/null || true
ansible-playbook --syntax-check -i infra/ansible/inventory.ini.example infra/ansible/site.yml 2>/dev/null || true

Жобаның эталон файлдары.

Бұл тәжірибе нақты не істейді

fmt пішінді, init -backend=false remote state-сіз жергілікті тексеруді, validate құрылымды тексереді. Ansible syntax-check серверді өзгертпей оқиды. Сабақта apply жоқ.

Не шығуы тиіс

  • Тексеру бұлт ресурсын жасамайды.
  • Пәрмен болжамды кодпен аяқталады.
  • Нәтижені таза ортада қайталауға болады.

Тірек сызбамен тұтасты жинаңыз

Тірек сызба 22

Төрт блок бойынша жүріп, бүкіл сабақты бір байланысқан әңгімемен түсіндіріңіз.

Көмексіз жаңғыртыңыз

  1. Сызбаны жауып, төрт блокты жатқа сызыңыз.
  2. Әр өтуді «себебі» сөзімен түсіндіріңіз.
  3. Бір жаңа терминді мәтінді қайталамай анықтаңыз.
  4. Нәтижені дәлелдейтін бір сигналды атаңыз.

Қатені тауып түзетіңіз

Қате: «Infra code оқылатындықтан қауіпсіз». Дұрысы: қате код қатені тез қайталайды; plan, review, аз құқық және state қорғанысы керек.

Тапсырма

Енді сол мағынаны өзіңіз жинаңыз. Тірек сызбаға қарауға болады; мақсат — жады емтиханы емес, қайталанатын нәтиже.

Міндетті. tofu және ansible-playbook талап етіп, fmt/validate және syntax-check орындайтын, бірақ apply ешқашан шақырмайтын POSIX sh preflight жазыңыз. Тек POSIX sh пәрменін не скриптін, нақты кілт пен токенсіз жіберіңіз.

Дайындық өлшемдері

  • Әр іске қосылатын жолды түсінесіз.
  • Қайталау күтілетін нәтиже не қауіпсіз түсіндірілген айырма береді.
  • Output ішінде нақты key, token және password жоқ.
  • Success-ті дәлелдейтін факт көрсете аласыз.

Тексеру өтпесе, күтілген және нақты нәтижені жазып, тіректің бір үзілген буынына оралып қайталаңыз. Қате оқу құқығын алып қоймайды.

Қалауыңызша. Бір ықтимал ақауды және оны байқайтын сигналды жазыңыз.

Ашық перспектива

Келесі сабақ жаңа тірек қосады: Kubernetes: Deployment, Service, probe және rollout.

Курс мазмұны

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Тапсырманы тексеру

Алдымен VS Code-та шешіп, іске қосыңыз — редактор қатені сол жерде көрсетеді. Дайын шешімді осында қойыңыз. Тексеретін — модель: ол қатені атап көрсетеді, бірақ дайын жауапты бермейді.

Тексеру үшін кіру керек. Кіру

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.