Учора вирішив проблему, яка тягнулась вже пару років за допомогою #ChatGPT. Є такий #Kubernetes деплоймент інструмент #Spinnaker від #Netflix. Написаний він на #java. У нас постійно падав один компонент, доходило до 500-600 рестартів за 2 тижня. Розробники часто релізять версії та ми постійно оновлюємося. Якісь версії працюють краще, якість гірше. В мене не було вже нових ідей що з цим робити (окрім як міняти його).
Але вирішив дати шанс chatgpt та провів з ним десь 4 години виконуючи його пропозиціїї та надаючи їх результати.
Контейнер падав через OOM та я думав, що це витік памʼяті java.
Але виявилось, що компонент дуже часто опитує #ECR (#docker registry), десь раз на 30 секунд через команду "aws ecr get-authorization-token". Ці команди довго відпрацьовують, їх виконання накопичується та #python зʼїдає усю доступну памʼять.
Отримав пораду як зробити опитування раз в 5 хвилин та оптимально налаштувати виділення памʼяті для віртуальної машини java.
Вже з учора компонент працює без рестартів (хоча за годину учора він падав по 1-2 раза).
```
kubectl -n spinnaker get po -l app.kubernetes.io/name=clouddriver
NAME READY STATUS RESTARTS AGE
spin-clouddriver-774578599f-8szw2 1/1 Running 0 19h
```
Слава чатжпт! ;-)