Персональна освітня сорінка
by Pavlo Shcherbukha
Тут використовуються версія Openshit OKD 4.6 і вище
Pods можуть зависати в стані завершення через роботу finalizers або запущений ресурс не закривається (не виключається). Як правило, pods слід дозволити завершити самостійно, оскільки вони існують для очищення будь-чого після контейнера.
oc delete pod podname -n namesapce --grace-period=0 --force
Отримати дані для metadata -> finalizersта перевірити стан помилок можна через POD yaml
oc get pod example-pod-name-1-xyz -n namespace -o yaml > example-pod.yaml
Інформація про статус та помилку будуть в lastState terminated section.
https://www.techbeatly.com/how-to-delete-a-pod-with-terminating-state-in-openshift-or-kubernetes-cluster/ https://access.redhat.com/solutions/2317401
Масшабується такою командою. ‘dc/bankid-p’ - це назва DeploymentConfig
oc scale --replicas=1 dc/bankid-p
Якщо потрібно повністю зупинити параметр –replicas потрібно скинути в 0
oc scale --replicas=0 dc/bankid-p
Прочитати логи з PODа можна командою
oc logs pod-name
Але, якщо потрібно весь час читати логи, то додаемо ключ -f
oc logs pod-name -f
oc rsync pod-name:/opt/app-root/src/logs log
В цьому прикладі з pod по path /opt/app-root/src/logs файли копіюються в каталог log на робочій станції
А в цьому прикладі файли з поточного каталога робочої станції [.] копіюються на POD pod_name в каталог [/opt/app-root/src]
echo "copy files"
oc rsync . pod_name:/opt/app-root/src --delete --no-perms=true --watch=true
cd ..
Інколи виникає ситуація, що вимагає відкотитися на попредню, не обов’язково останню версію deployment
Більш детально можна подивитися за лінком Openshift 4.7. Rolling back a deployment
А якщо коротко то:
oc rollout history dc/mysrvc-p
В результаті будемо мати щось таке:
REVISION STATUS CAUSE
38 Complete image change
39 Complete image change
40 Failed newer deployment was found running
41 Complete newer deployment was found running
42 Complete config change
43 Complete image change
44 Complete image change
45 Complete image change
46 Failed newer deployment was found running
47 Complete config change
48 Complete image change
В даному випадку стартуємо з revision з номером 40
oc rollout undo dc/mysrvc-p --to-revision=50
При цьому слід прийняти до уваги, що при rollout на попередню версю відключаютья всі тригери в DecpoymntConfig. І це зупинить автоматичний deployment.
oc set triggers dc/mysrvc-p --auto