Shanraq.org Shanraq.org
Орналастыру, smoke test және тексерілген rollback
IT

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

Орналастыру, smoke test және тексерілген rollback

Нұсқа бойынша шығарып, сервисті сырттан тексеріп, алдын ала жазылған рәсіммен алдыңғы digest-ке қайтарамыз.

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

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

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

Қысқа қайталау. Өткен сабақтың тірегі config көрсетуге болады | secret шектеледі | екеуі image сыртынан. Қарамай төрт буынды атаңыз, содан кейін ғана жазбамен салыстырыңыз.

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

Нұсқа бойынша шығарып, сервисті сырттан тексеріп, алдын ала жазылған рәсіммен алдыңғы digest-ке қайтарамыз. Әр пәрмен нені тексеретінін және қандай ақауды табатынын түсіндіре алмайынша келесі сабаққа өтпеңіз.

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

Су құбырын жөндеген шебер кран орнатылды деп кетпейді. Суды ашып, ағып тұр ма тексереді және ескі бөлшекті қайтаруды біледі. Deploy нұсқа орнатады, smoke test негізгі жолды тексереді, rollback бұрынғы нұсқаны қайтарады.

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

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

deploy X → smoke test → observe → keep X OR rollback Y → verify

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

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

  • Deploy — Нақты нұсқаны нақты ортаға орнату.
  • Smoke test — Өзгерістен кейінгі негізгі пайдаланушы жолының қысқа тексеруі.
  • Rollback — Алдын ала белгілі нұсқа не күйге қайту.
  • Migration — Дерек құрылымы не мағынасын басқарылып өзгерту.

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

Rollback инцидентке дейін дайын болуы керек. Ол кодты қайтарады, бірақ дерек әрқашан үйлесімді болмауы мүмкін: migration үшін бөлек жоспар керек. Ауыстырған соң пайдаланушы жолын және метриканы тексеріңіз; сәтті exit code жеткіліксіз.

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

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

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

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

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

export CLOUDLAB_IMAGE=ghcr.io/OWNER/cloudlab:REPLACE_WITH_SHA
export CLOUDLAB_DOMAIN=cloudlab.example.com
docker compose -f compose.prod.yaml config >/tmp/cloudlab-prod.yml
grep -n 'image:[|]CLOUDLAB_ENV' /tmp/cloudlab-prod.yml
printf 'record previous digest before docker compose up -d\n'

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

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

Сценарий ескі және жаңа digest-ті жазып, нұсқаны ауыстырып, smoke test орындайды. Rollback бөлек жаттығудан кейін ғана дайын. Код қайтару өзгерген дерекпен әрқашан үйлеспейді.

Не шығуы тиіс

  • Конфигурация latest қолданбайды.
  • Пәрмен болжамды кодпен аяқталады.
  • Нәтижені таза ортада қайталауға болады.

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

Тірек сызба 18

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

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

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

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

Қате: «Deploy exit code 0 болса, release сәтті». Дұрысы: пайдаланушы жолын тексеріп, өзгерістен кейін жүйені бақылау керек.

Тапсырма

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

Міндетті. Ағымдағы digest-ті файлға сақтап, жаңа бейнені қолданып, smoke test жасап, қате болса сақталған бейнеге қайтаратын deploy POSIX sh функциясын жазыңыз. Тек POSIX sh пәрменін не скриптін, нақты кілт пен токенсіз жіберіңіз.

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

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

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

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

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

Келесі сабақ жаңа тірек қосады: Бұлт: IaaS, шығын, IAM және ортақ жауапкершілік.

Курс мазмұны

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

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

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

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

Пікірлер (0)

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