GitOps და CI/CD
Argo CD, Helm და GitLab CI: უსაფრთხო გზა კომიტიდან პროდაქშენამდე და შემთხვევები, როცა Synced ჯერ არ ნიშნავს გაშვებულს.
8 სტატია
- Argo CD აჩვენებდა Synced-ს, API სერვერმა კი ჩუმად გადააგდო ჩემი შესწორებათვეობით არ იყო მეტრიკები, შესწორება უკვე git-ში იდო და სტატუსი მწვანე Synced იყო. ველი CRD-ის სქემაში არ არსებობდა, API სერვერმა მოჭრა და არავინ იჩივლა.
- GitLab-ის განახლება და ორი სიგნალი, რომლებიც ტყუოდნენself-hosted GitLab-ის ჩვეულებრივი მინორული განახლება Docker-ში. წინასწარმა შემოწმებამ 32 დაუსრულებელი მიგრაცია დაითვალა, კონტეინერი კი healthy გახდა ისე, რომ არაფერს ემსახურებოდა.
- დამერჯილი, დასინქრონებული, მიმაგრებული — და მაინც არ ალერტავს: vmalert hot reload-ის გარეშეKafka-ს ახალმა წესებმა Git-ისა და Argo CD-ის გავლით ConfigMap-მდე მიაღწიეს, მაგრამ vmalert-მა მათი შეფასება ასე და ვერ დაიწყო. GitOps კონვეიერი ბოლო ნაბიჯზე გაწყდა.
- WordPress-ში შესვლის მარყუჟი, რომელიც მხოლოდ ზოგჯერ ხდებოდაwp-admin შესვლის გვერდზე reauth=1-ით აბრუნებდა, მაგრამ არა ყოველთვის. მიზეზი იყო ყოველ პოდში გენერირებული შემთხვევითი auth salt-ები sticky სესიების გარეშე ბალანსერის უკან.
- სამი ინციდენტი, რომელიც ერთი აღმოჩნდა: კონფიგში ჩაწერილი მონაცემთა ბაზის IP500 შესვლისას, CrashLoopBackOff-ში მყოფი ბექენდები და გაჭედილი დეპლოი სამ პრობლემად გამოიყურებოდა. სამივე pgbouncer-ის კონფიგში ჩაწერილი ერთი IP აღმოჩნდა.
- StatefulSet-ის უცვლელი ველის შეცვლა ერთი პოდის გადატვირთვის გარეშეGit-ში 20 GiB, ცოცხალ StatefulSet-ში 6 GiB-იანი შაბლონები, Argo CD კი Synced-ს აჩვენებს. როგორ გადააწყო orphan წაშლამ და OnDelete-მა შაბლონი დაუნთაიმის გარეშე.
- Helm წერს „another operation is in progress“, თუმცა არაფერი მიმდინარეობსგაუქმებულმა CI ჯობმა ორი Helm რელიზი pending-upgrade-ში დატოვა და ყველა დეპლოი დაბლოკა. როგორ ვიპოვოთ lock, უსაფრთხოდ მოვხსნათ და მთელი namespace ერთბაშად შევამოწმოთ.
- როგორ ვუყურებ პლატფორმასინფრასტრუქტურა პროდუქტად, GitOps, CI/CD, DevSecOps — პროგნოზირებადი რელიზები და უსაფრთხოება პაიპლაინში.