====== Краткий chetsheet ======
/// https://kubernetes.io/ru/docs/reference/kubectl/cheatsheet/
//////////////////////////////
# Сервисы
kubectl -n global-lobby-dev get httpproxy
kubectl -n global-lobby-dev get all
kubectl -n global-lobby-dev get services
# расширенная инфа
kubectl -n global-lobby-dev describe httpproxy
kubectl -n global-lobby-dev describe services
# Просмотр логов сервиса
kubectl -n global-lobby-dev logs kafka-kafka-0
# Запустить bash интерактивно (ctrl + D отключится)
kubectl -n global-lobby-prod exec -it ignite-0 -- bash
kubectl -n global-lobby-dev exec -t kafka-kafka-0 -it -- /bin/bash
# Неймспейсы
kubectl get ns
kubectl describe ns
# кол-во игнайтов
k -n global-lobby-prod scale sts ignite --replicas=3
# Применение конфигурации в рантайме
kubectl -n global-lobby-prod apply -f
////////////////////////
#Работа с нодами
# перечень
kubectl -n global-lobby-dev get nodes [name]
# расширенная инфа
kubectl -n global-lobby-prod describe nodes [k8s-node-default-041]
# состояние
kubectl -n global-lobby-prod top node k8s-node-default-041
////////////////////////
#Работа с подами
# перечень
kubectl -n global-lobby-dev get pods
# расширенная инфа
kubectl -n global-lobby-prod describe pod harvester-8594449697-dpcjc
# удалить под
kubectl -n global-lobby-dev delete pods --grace-period=0 --force
# Состояние одного пода
kubectl -n global-lobby-prod get pod kafka-kafka-0 --watch
# Выгрузить конфигурацию в файл
kubectl -n global-lobby-prod get pod kafka-kafka-2 -o yaml > test_kafka-kafka-2.yml
# Проброс порта из сервиса (пода) в локальную машину
kubectl -n global-lobby-dev port-forward harvester-ignite-main-0 56789:8080
/////////////////////////////////
# хранилище pv/pvc
kubectl -n global-lobby-prod get pvc
# расширенная инфа
kubectl -n global-lobby-prod describe pvc data-0-kafka-kafka-0
# resources.requests.storage - запрашиваемое место
/////////////////////
# перезапуск контейнеров, всех ignite видимо
kubectl -n global-lobby-prod rollout restart sts ignite
/////// Приложения
////////////////////////////////////////////////////////////
kubectl -n global-lobby-dev get [statefulsets | deployments]
# Откат в пред состояние или рестарт, деплоймент, стейтфулсет
(...) rollout
# например перезапуск игнайтов
kubectl -n global-lobby-prod rollout restart sts harvester-ignite
# изменить стейтфулл сет
kubectl -n global-lobby-prod scale statefulsets harvester-ignite --replicas=0
# либо это вроде тоже самое
kubectl -n global-lobby-prod scale --replicas=0 sts harvester-ignite
# изменить деплоймент
kubectl -n global-lobby-prod scale deployment --replicas=0 harvester
==== Настройка консоли ====
Установка обязательно под админом\\
- Установите kubectl (https://kubernetes.io/ru/docs/tasks/tools/install-kubectl/)\\
- Установите krew (https://krew.sigs.k8s.io/docs/user-guide/setup/install/)\\
- Установите kubelogin (https://github.com/int128/kubelogin)\\
kubectl krew install oidc-login\\
Скачать ехе kubectl, добавить в %PATH%\\
Скачать krew, из консоли запустить "им же установку его же" (krew.exe install krew)\\
добавить в %PATH% созданную директорию (home/.krew/bin)\\
затем выполнить команду "kubectl krew install oidc-login"\\
:!: Пример .kube/config
Авторизация по токену сервисного юзера
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://api.site.com
name: dapp-cluster
contexts:
- context:
cluster: dapp-cluster
namespace: my-ns-1
user: deployer
name: my-kube-default
current-context: my-kube-default
kind: Config
users:
- name: deployer
user:
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjdtMTZ
Несколько контекстов
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://api.site.com
name: drop-app-cluster
contexts:
- context:
cluster:app-cluster
namespace: ns-1
user: deployer
name: my-contx-1
- context:
cluster: app-cluster
namespace: ns-2
user: deployer-dev
name: my-contx-2
current-context: my-contx-2
kind: Config
preferences: {}
users:
- name: deployer
user:
token:
- name: deployer-dev
user:
token: