15 найкращих секретних трюків Kubernetes, які ви не знали

pic

Kubernetes має багато прихованих можливостей, які можуть значно полегшити ваше життя. Ось 15 секретних трюків Kubernetes, які допоможуть підвищити вашу продуктивність і ефективність!

1. Перезапускати Pods без їх видалення

kubectl rollout restart deployment  -n 

Перезапускає всі pods у деплойменті без необхідності їх вручну видаляти.

2. Швидко отримати доступ до оболонки Pod без точного імені

kubectl exec -it $(kubectl get pods -o=jsonpath='{.items[0].metadata.name}') -- /bin/sh

Відкриває сеанс оболонки всередині першого працюючого pod.

3. Запуск одноразового Pod для налагодження без створення YAML файлу

kubectl run debug-pod --rm -it --image=busybox -- /bin/sh

Запускає тимчасовий pod для налагодження, який автоматично видаляється після завершення сеансу.

4. Отримання реального часу використання ресурсів Pod

kubectl top pod -n 

Показує використання процесора та пам'яті всіх працюючих pod в певному просторі імен (namespace).

5. Дізнатися, чому Pod зависає в Pending або CrashLoopBackOff

kubectl describe pod  -n 

Показує детальні події та помилки, пов'язані з pod.

6. Переглянути всі доступні API ресурси у вашому кластері

kubectl api-resources

Перелічує всі об'єкти Kubernetes, включаючи CRD, сервіси та секрети.

7. Доступ до Kubernetes кластера без встановленого kubectl

ssh -L 8001:127.0.0.1:8001 user@remote-server  
kubectl proxy

Використовує перенаправлення портів через SSH для доступу до кластера віддалено.

8. Налагодження мережевого трафіку між Pods

kubectl exec -it  -- tcpdump -i eth0 -nn -s 0 -w /tmp/capture.pcap  
kubectl cp :/tmp/capture.pcap ./capture.pcap

Збирає мережеві пакети всередині pod для подальшого аналізу.

9. Отримати список невикористовуваних Persistent Volume Claims (PVC)

kubectl get pvc --all-namespaces | grep -v $(kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.volumes[*].persistentVolumeClaim.claimName}" | tr ' ' '\n' | sort -u)

Визначає сирі PVC, які не використовуються жодним pod.

10. Швидко порт-форвардити сервіс на вашу локальну машину

kubectl port-forward svc/ 8080:80 -n 

Перенаправляє порт віддаленого сервісу на ваш локальний комп'ютер.

11. Знайти Pods, що працюють на конкретному вузлі

kubectl get pods --all-namespaces -o wide | grep 

Перелічує всі pods, які працюють на певному вузлі.

12. Миттєво видалити завислий Pod

kubectl delete pod  --grace-period=0 --force -n 

Примусово видаляє завислі або ті, що знаходяться в процесі завершення pod.

13. Отримати зовнішнє IP Pod напряму

kubectl get svc  -o jsonpath='{.status.loadBalancer.ingress[0].ip}'

Отримує зовнішнє IP-адресу балансованого сервісу.

14. Застосувати зміни без необхідності набирати -f

kubectl apply -k .

Використовує kustomization для застосування всіх файлів в поточному каталозі.

15. Переглянути повний YAML конфігурацію працюючого ресурсу

kubectl get pod  -o yaml

Відображає повну YAML конфігурацію працюючого pod.

Оволодійте цими трюками Kubernetes і виведіть ваші навички управління кластерами на новий рівень!

Перекладено з: Top 15 Secret Kubernetes Tricks You Didn’t Know

Leave a Reply

Your email address will not be published. Required fields are marked *