Введение

Если вы работаете с Kubernetes, скорее всего, kubectl — ваш постоянный спутник. Это швейцарский нож DevOps-инженера: мощный, гибкий, но временами… утомительный.

А что если можно сделать его использование быстрее, удобнее и даже немного приятнее?

В этой статье я поделюсь полезными трюками kubectl, которые регулярно использую сам. Независимо от того, новичок вы или уже глубоко погружены в кластеры, наверняка найдёте здесь что-то полезное.


1. Быстро переключайтесь между кластерами

Управляете несколькими кластерами? Постоянно вручную переключать контексты — неудобно:

kubectl config use-context my-cluster
kubectl config get-contexts

Можно использовать kubectx для более удобного переключения.

2. Кастомный вывод ресурсов

Стандартный вывод kubectl может быть избыточным. Вот как настроить отображение под свои нужды:

kubectl get pods -o custom-columns="NAME:.metadata.name,STATUS:.status.phase"

3. Просмотр изменений ресурсов в реальном времени

Хотите отслеживать, как изменяются поды

kubectl get pods --watch

4. Отладка работающего Pod

Нужно разобраться, что происходит внутри пода?

kubectl exec -it my-pod -- /bin/sh

5. Применение YAML из stdin

Иногда хочется быстро протестировать изменения:

cat pod.yaml | kubectl apply -f -

6. Проброс порта Pod на localhost

Хотите обратиться к сервису напрямую с локальной машины?

kubectl port-forward svc/my-service 8080:80

7. Временный alias

Устали постоянно печатать kubectl?

alias k='kubectl'

8. Вывод в YAML/JSON

Полезно для отладки и написания скриптов:

kubectl get pod mypod -o yaml
kubectl get pod mypod -o json

Заключение

Эффективное использование kubectl — это не только про экономию времени. Это про сохранение фокуса, снижение рутинных действий и более глубокое понимание того, как работает кластер.

Эти трюки стали частью моего повседневного DevOps-набора — и сэкономили мне кучу времени. Надеюсь, помогут и вам.

А какие трюки с kubectl используете вы? Делитесь — всегда рад пополнить арсенал.

Хочешь прокачаться ещё сильнее? Посмотри базовое руководство по Helm — мощному инструменту для управления приложениями в Kubernetes.