ℹ️ Ситуация: потерялся файл kubeconfig, доступ к кластеру утерян, а SSH доступ к мастер-ноде есть. Вместо того чтобы пытаться восстанавливать его вручную из памяти или документации, воспользуйтесь следующим трюком.
-
👨💻 1. Зайдите на мастер-ноду Kubernetes через SSH
-
📑 2. Извлеките kubeconfig напрямую из etcd (*)
ETCDCTL_API=3 etcdctl get /registry/secrets/kube-system/default-token-<suffix> \ --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key❔ -
если конфигурация там хранится -
📂 3. Быстрое восстановление через директорию конфигурации
Если
etcdсложен, воспользуйтесь дефолтнымadmin.conf, который Kubernetes сам создаёт при инициализации.sudo cat /etc/kubernetes/admin.conf > ~/.kube/configℹ️ После этого вы сразу получите доступ к кластеру.
-
✅ 4. Создайте новый сервис-аккаунт с нужными правами
kubectl create serviceaccount recovery-account -n kube-system kubectl create clusterrolebinding recovery-binding --clusterrole=cluster-admin --serviceaccount=kube-system:recovery-account kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep recovery-account | awk '{print $1}')ℹ️ Из вывода возьмите токен и создайте минимальный
kubeconfigдля доступа.
✳️ Этот способ не только спасёт нервы, но и ускорит восстановление доступа без необходимости перепроверки документации.
tags: #полезно #k8s
🧭 @recura_tech



