[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/configure-kubectl-cli":3,"mdc--iuw4nc-key":549,"mdc-ctzrlx-key":583,"mdc--o3pnvj-key":599,"mdc--jvdu33-key":623,"mdc--vegck4-key":639,"mdc-yqwmvm-key":662,"mdc-2nbnc7-key":686,"related-/guides/linux/install-minikube,/guides/general/kubernetes-basics,/guides/linux/troubleshoot-kubeconfig":710},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":487,"code":487,"createdAt":488,"description":489,"difficulty":490,"draft":491,"estimatedTime":492,"extension":493,"faq":494,"howToSteps":504,"howToTotalTime":517,"image":487,"keywords":518,"locale":527,"meta":528,"navigation":529,"path":530,"platform":531,"related":532,"section":536,"seo":537,"severity":487,"stem":538,"summary":539,"tags":540,"twitterCreator":487,"twitterSite":487,"type":547,"updatedAt":488,"__hash__":548},"content_ru/guides/linux/configure-kubectl-cli.md","Настройка kubectl в Linux: установка и конфигурация CLI",[7,8,9,10],"Ubuntu 22.04+","Debian 11+","Fedora 38+","RHEL 9+","FixPedia Team",{"type":13,"value":14,"toc":477},"minimark",[15,20,28,32,60,63,67,73,109,120,124,134,169,175,189,193,200,274,285,289,295,323,326,350,364,368,371,393,400,404,473],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23,27],"p",{},[24,25,26],"code",{},"kubectl"," — это официальный инструмент командной строки для взаимодействия с кластерами Kubernetes. Без правильно настроенного CLI вы не сможете деплоить приложения, масштабировать поды или анализировать логи контейнеров. В этом гайде мы разберём безопасную установку бинарного файла, настройку аутентификации и базовую проверку работы. Следуя инструкции, вы получите полностью готовую к работе среду управления кластером.",[16,29,31],{"id":30},"требования-подготовка","Требования / Подготовка",[33,34,35,39,46,53],"ul",{},[36,37,38],"li",{},"Рабочая установка Linux (Ubuntu, Debian, Fedora, RHEL или их производные).",[36,40,41,42,45],{},"Доступ к терминалу и права обычного пользователя. Установка в системные каталоги потребует ",[24,43,44],{},"sudo",".",[36,47,48,49,52],{},"Утилита ",[24,50,51],{},"curl"," уже предустановлена в большинстве современных дистрибутивов.",[36,54,55,56,59],{},"Файл конфигурации кластера (",[24,57,58],{},"kubeconfig","), который обычно предоставляет администратор или генерирует облачная платформа.",[61,62],"in-article-ad",{},[16,64,66],{"id":65},"шаг-1-загрузка-актуальной-версии","Шаг 1: Загрузка актуальной версии",[21,68,69,70,72],{},"Всегда загружайте ",[24,71,26],{}," с официальных серверов Kubernetes, чтобы избежать использования модифицированных бинарников. Откройте терминал и выполните:",[74,75,80],"pre",{"className":76,"code":77,"language":78,"meta":79,"style":79},"language-bash shiki shiki-themes github-light github-dark","curl -LO \"https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n","bash","",[24,81,82],{"__ignoreMap":79},[83,84,87,90,94,98,100,103,106],"span",{"class":85,"line":86},"line",1,[83,88,51],{"class":89},"sScJk",[83,91,93],{"class":92},"sj4cs"," -LO",[83,95,97],{"class":96},"sZZnC"," \"https://dl.k8s.io/release/$(",[83,99,51],{"class":89},[83,101,102],{"class":92}," -L",[83,104,105],{"class":92}," -s",[83,107,108],{"class":96}," https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n",[21,110,111,112,115,116,119],{},"Если ваш сервер работает на архитектуре ARM (например, Raspberry Pi или серверы на Graviton), замените ",[24,113,114],{},"amd64"," на ",[24,117,118],{},"arm64",". Команда автоматически определит стабильную версию и скачает соответствующий файл.",[16,121,123],{"id":122},"шаг-2-установка-в-системный-каталог","Шаг 2: Установка в системный каталог",[21,125,126,127,130,131,133],{},"Переместите исполняемый файл в директорию, входящую в переменную окружения ",[24,128,129],{},"PATH",". Это позволит запускать ",[24,132,26],{}," из любой точки файловой системы без указания полного пути.",[74,135,137],{"className":76,"code":136,"language":78,"meta":79,"style":79},"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl\n",[24,138,139],{"__ignoreMap":79},[83,140,141,143,146,149,152,155,157,160,163,166],{"class":85,"line":86},[83,142,44],{"class":89},[83,144,145],{"class":96}," install",[83,147,148],{"class":92}," -o",[83,150,151],{"class":96}," root",[83,153,154],{"class":92}," -g",[83,156,151],{"class":96},[83,158,159],{"class":92}," -m",[83,161,162],{"class":92}," 0755",[83,164,165],{"class":96}," kubectl",[83,167,168],{"class":96}," /usr/local/bin/kubectl\n",[21,170,171,172,45],{},"После выполнения можно удалить исходный файл из текущей директории: ",[24,173,174],{},"rm -f kubectl",[176,177,178],"blockquote",{},[21,179,180,181,184,185,188],{},"💡 Совет: Команда ",[24,182,183],{},"install"," не только копирует файл, но и сразу задаёт правильные права ",[24,186,187],{},"755",", что делает его доступным для всех пользователей, но изменяемым только root.",[16,190,192],{"id":191},"шаг-3-настройка-конфигурации-доступа","Шаг 3: Настройка конфигурации доступа",[21,194,195,196,199],{},"Инструмент ищет настройки в файле ",[24,197,198],{},"~/.kube/config",". Создайте структуру и скопируйте в неё данные вашего кластера:",[74,201,203],{"className":76,"code":202,"language":78,"meta":79,"style":79},"mkdir -p $HOME/.kube\nsudo cp -i /path/to/your/kubeconfig $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n",[24,204,205,220,239],{"__ignoreMap":79},[83,206,207,210,213,217],{"class":85,"line":86},[83,208,209],{"class":89},"mkdir",[83,211,212],{"class":92}," -p",[83,214,216],{"class":215},"sVt8B"," $HOME",[83,218,219],{"class":96},"/.kube\n",[83,221,223,225,228,231,234,236],{"class":85,"line":222},2,[83,224,44],{"class":89},[83,226,227],{"class":96}," cp",[83,229,230],{"class":92}," -i",[83,232,233],{"class":96}," /path/to/your/kubeconfig",[83,235,216],{"class":215},[83,237,238],{"class":96},"/.kube/config\n",[83,240,242,244,247,250,253,256,259,262,265,267,269,272],{"class":85,"line":241},3,[83,243,44],{"class":89},[83,245,246],{"class":96}," chown",[83,248,249],{"class":215}," $(",[83,251,252],{"class":89},"id",[83,254,255],{"class":92}," -u",[83,257,258],{"class":215},")",[83,260,261],{"class":96},":",[83,263,264],{"class":215},"$(",[83,266,252],{"class":89},[83,268,154],{"class":92},[83,270,271],{"class":215},") $HOME",[83,273,238],{"class":96},[21,275,276,277,280,281,284],{},"Замените ",[24,278,279],{},"/path/to/your/kubeconfig"," на реальный путь к файлу. Команда ",[24,282,283],{},"chown"," гарантирует, что у вашего пользователя будут полные права на чтение и запись конфигурации, что предотвращает ошибки доступа при выполнении команд.",[16,286,288],{"id":287},"шаг-4-включение-автодополнения","Шаг 4: Включение автодополнения",[21,290,291,292,294],{},"Работа с ",[24,293,26],{}," значительно ускоряется с автозавершением команд. Для Bash выполните:",[74,296,298],{"className":76,"code":297,"language":78,"meta":79,"style":79},"echo 'source \u003C(kubectl completion bash)' >>~/.bashrc\nsource ~/.bashrc\n",[24,299,300,315],{"__ignoreMap":79},[83,301,302,305,308,312],{"class":85,"line":86},[83,303,304],{"class":92},"echo",[83,306,307],{"class":96}," 'source \u003C(kubectl completion bash)'",[83,309,311],{"class":310},"szBVR"," >>",[83,313,314],{"class":96},"~/.bashrc\n",[83,316,317,320],{"class":85,"line":222},[83,318,319],{"class":92},"source",[83,321,322],{"class":96}," ~/.bashrc\n",[21,324,325],{},"Для Zsh используйте:",[74,327,329],{"className":76,"code":328,"language":78,"meta":79,"style":79},"echo 'source \u003C(kubectl completion zsh)' >>~/.zshrc\nsource ~/.zshrc\n",[24,330,331,343],{"__ignoreMap":79},[83,332,333,335,338,340],{"class":85,"line":86},[83,334,304],{"class":92},[83,336,337],{"class":96}," 'source \u003C(kubectl completion zsh)'",[83,339,311],{"class":310},[83,341,342],{"class":96},"~/.zshrc\n",[83,344,345,347],{"class":85,"line":222},[83,346,319],{"class":92},[83,348,349],{"class":96}," ~/.zshrc\n",[21,351,352,353,356,357,360,361,45],{},"Теперь при вводе ",[24,354,355],{},"kubectl get n"," и нажатии ",[24,358,359],{},"Tab"," терминал автоматически дополнит команду до ",[24,362,363],{},"nodes",[16,365,367],{"id":366},"проверка-результата","Проверка результата",[21,369,370],{},"Убедитесь, что утилита корректно считывает настройки и видит кластер. Выполните:",[74,372,374],{"className":76,"code":373,"language":78,"meta":79,"style":79},"kubectl version --client\nkubectl cluster-info\n",[24,375,376,386],{"__ignoreMap":79},[83,377,378,380,383],{"class":85,"line":86},[83,379,26],{"class":89},[83,381,382],{"class":96}," version",[83,384,385],{"class":92}," --client\n",[83,387,388,390],{"class":85,"line":222},[83,389,26],{"class":89},[83,391,392],{"class":96}," cluster-info\n",[21,394,395,396,399],{},"Первая команда покажет версию установленного клиента. Вторая должна вернуть URL API-сервера и адрес KubeDNS. Если вывод содержит строки ",[24,397,398],{},"Kubernetes control plane is running at..."," — настройка завершена успешно.",[16,401,403],{"id":402},"возможные-проблемы","Возможные проблемы",[33,405,406,433,446],{},[36,407,408,411,412,415,416,418,419,422,423,426,427,430,431,45],{},[24,409,410],{},"kubectl: command not found"," — ",[24,413,414],{},"/usr/local/bin"," отсутствует в ",[24,417,129],{},". Добавьте ",[24,420,421],{},"export PATH=/usr/local/bin:$PATH"," в ",[24,424,425],{},"~/.bashrc"," или ",[24,428,429],{},"~/.zshrc"," и примените изменения через ",[24,432,319],{},[36,434,435,438,439,442,443,445],{},[24,436,437],{},"x509: certificate signed by unknown authority"," — обычно возникает при использовании самоподписанных сертификатов в тестовых средах. Временное решение: добавьте флаг ",[24,440,441],{},"--insecure-skip-tls-verify=true"," в команды. Надёжнее — импортировать нужный CA в ",[24,444,198],{}," или обновить корневые сертификаты ОС.",[36,447,448,451,452,454,455,458,459,462,463,466,467,426,470,45],{},[24,449,450],{},"Forbidden: user \"system:anonymous\" cannot get nodes"," — отсутствуют RBAC-права. Убедитесь, что в ",[24,453,58],{}," указан правильный ",[24,456,457],{},"user"," и ",[24,460,461],{},"token",", либо запросите у администратора ",[24,464,465],{},"ClusterRoleBinding"," с правами ",[24,468,469],{},"view",[24,471,472],{},"cluster-admin",[474,475,476],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":79,"searchDepth":222,"depth":222,"links":478},[479,480,481,482,483,484,485,486],{"id":18,"depth":222,"text":19},{"id":30,"depth":222,"text":31},{"id":65,"depth":222,"text":66},{"id":122,"depth":222,"text":123},{"id":191,"depth":222,"text":192},{"id":287,"depth":222,"text":288},{"id":366,"depth":222,"text":367},{"id":402,"depth":222,"text":403},null,"2026-04-08 00:06:54","Узнайте, как быстро установить и настроить kubectl в Linux. Пошаговая инструкция по подключению к кластеру, проверке доступа и решению частых проблем.","medium",false,"10-15 мин","md",[495,498,501],{"question":496,"answer":497},"Где хранится файл конфигурации kubectl?","По умолчанию он находится в домашней директории пользователя: `~/.kube/config`. Вы можете изменить путь с помощью переменной окружения `KUBECONFIG` или флага `--kubeconfig`.",{"question":499,"answer":500},"Почему возникает ошибка `Unable to connect to the server`?","Чаще всего это указывает на неверный адрес сервера, истёкший сертификат или проблемы с сетью. Проверьте содержимое `~/.kube/config` и убедитесь, что кластер доступен по сети.",{"question":502,"answer":503},"Можно ли использовать kubectl без прав root?","Да, утилита предназначена для работы от обычного пользователя. Установка бинарника и создание директории `~/.kube` не требуют `sudo`, если вы работаете в домашней папке.",[505,508,511,514],{"name":506,"text":507},"Скачайте бинарный файл","Используйте официальную команду `curl` для загрузки актуальной версии kubectl, соответствующей вашей архитектуре (amd64 или arm64).",{"name":509,"text":510},"Установите исполняемый файл","Переместите загруженный файл в `/usr/local/bin` и сделайте его исполняемым с помощью `chmod +x`.",{"name":512,"text":513},"Создайте конфигурационную директорию","Создайте скрытую папку `~/.kube` и скопируйте в неё файл `config`, полученный от администратора кластера или через облачный провайдер.",{"name":515,"text":516},"Проверьте подключение","Выполните `kubectl get nodes` или `kubectl cluster-info`, чтобы убедиться, что CLI успешно подключился к кластеру и отображает его состояние.","PT15M",[519,520,521,522,523,524,525,526],"установка kubectl linux","настройка kubectl ubuntu","как подключить kubectl к кластеру","kubectl config linux","настройка kubeconfig","утилита kubectl команды","ошибка kubectl не работает","настройка контекста kubectl","ru_RU",{},true,"/guides/linux/configure-kubectl-cli","linux",[533,534,535],"/guides/linux/install-minikube","/guides/general/kubernetes-basics","/guides/linux/troubleshoot-kubeconfig","Гайды Linux",{"title":5,"description":489},"guides/linux/configure-kubectl-cli","В этом руководстве мы подробно разберём процесс установки и первичной настройки утилиты kubectl в Linux. Вы научитесь подключаться к Kubernetes-кластерам, управлять контекстами и проверять соединение за несколько минут.",[541,542,26,543,544,545,546],"Linux","Kubernetes","CLI","утилиты","devops","администрирование","guide","NG1yaqUW471XvIRry5TKnpM0LHedaYxZXE4_hZMmbC8",{"data":550,"body":551},{},{"type":552,"children":553},"root",[554],{"type":555,"tag":21,"props":556,"children":557},"element",{},[558,561,566,568,574,576,582],{"type":559,"value":560},"text","По умолчанию он находится в домашней директории пользователя: ",{"type":555,"tag":24,"props":562,"children":564},{"className":563},[],[565],{"type":559,"value":198},{"type":559,"value":567},". Вы можете изменить путь с помощью переменной окружения ",{"type":555,"tag":24,"props":569,"children":571},{"className":570},[],[572],{"type":559,"value":573},"KUBECONFIG",{"type":559,"value":575}," или флага ",{"type":555,"tag":24,"props":577,"children":579},{"className":578},[],[580],{"type":559,"value":581},"--kubeconfig",{"type":559,"value":45},{"data":584,"body":585},{},{"type":552,"children":586},[587],{"type":555,"tag":21,"props":588,"children":589},{},[590,592,597],{"type":559,"value":591},"Чаще всего это указывает на неверный адрес сервера, истёкший сертификат или проблемы с сетью. Проверьте содержимое ",{"type":555,"tag":24,"props":593,"children":595},{"className":594},[],[596],{"type":559,"value":198},{"type":559,"value":598}," и убедитесь, что кластер доступен по сети.",{"data":600,"body":601},{},{"type":552,"children":602},[603],{"type":555,"tag":21,"props":604,"children":605},{},[606,608,614,616,621],{"type":559,"value":607},"Да, утилита предназначена для работы от обычного пользователя. Установка бинарника и создание директории ",{"type":555,"tag":24,"props":609,"children":611},{"className":610},[],[612],{"type":559,"value":613},"~/.kube",{"type":559,"value":615}," не требуют ",{"type":555,"tag":24,"props":617,"children":619},{"className":618},[],[620],{"type":559,"value":44},{"type":559,"value":622},", если вы работаете в домашней папке.",{"data":624,"body":625},{},{"type":552,"children":626},[627],{"type":555,"tag":21,"props":628,"children":629},{},[630,632,637],{"type":559,"value":631},"Используйте официальную команду ",{"type":555,"tag":24,"props":633,"children":635},{"className":634},[],[636],{"type":559,"value":51},{"type":559,"value":638}," для загрузки актуальной версии kubectl, соответствующей вашей архитектуре (amd64 или arm64).",{"data":640,"body":641},{},{"type":552,"children":642},[643],{"type":555,"tag":21,"props":644,"children":645},{},[646,648,653,655,661],{"type":559,"value":647},"Переместите загруженный файл в ",{"type":555,"tag":24,"props":649,"children":651},{"className":650},[],[652],{"type":559,"value":414},{"type":559,"value":654}," и сделайте его исполняемым с помощью ",{"type":555,"tag":24,"props":656,"children":658},{"className":657},[],[659],{"type":559,"value":660},"chmod +x",{"type":559,"value":45},{"data":663,"body":664},{},{"type":552,"children":665},[666],{"type":555,"tag":21,"props":667,"children":668},{},[669,671,676,678,684],{"type":559,"value":670},"Создайте скрытую папку ",{"type":555,"tag":24,"props":672,"children":674},{"className":673},[],[675],{"type":559,"value":613},{"type":559,"value":677}," и скопируйте в неё файл ",{"type":555,"tag":24,"props":679,"children":681},{"className":680},[],[682],{"type":559,"value":683},"config",{"type":559,"value":685},", полученный от администратора кластера или через облачный провайдер.",{"data":687,"body":688},{},{"type":552,"children":689},[690],{"type":555,"tag":21,"props":691,"children":692},{},[693,695,701,702,708],{"type":559,"value":694},"Выполните ",{"type":555,"tag":24,"props":696,"children":698},{"className":697},[],[699],{"type":559,"value":700},"kubectl get nodes",{"type":559,"value":426},{"type":555,"tag":24,"props":703,"children":705},{"className":704},[],[706],{"type":559,"value":707},"kubectl cluster-info",{"type":559,"value":709},", чтобы убедиться, что CLI успешно подключился к кластеру и отображает его состояние.",[]]