[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/install-kubectl-on-linux":3,"mdc--kn0kxy-key":643,"mdc--7tx5oh-key":661,"mdc--pk3yb6-key":669,"mdc-c0s7ol-key":677,"mdc--3r22rx-key":693,"mdc-kshbe1-key":701,"mdc--l9ep5o-key":718,"mdc--8jenuc-key":726,"related-/guides/linux/install-kubernetes-on-linux,/guides/linux/configure-kubectl-context,/errors/linux/kubectl-command-not-found":742},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":578,"code":578,"createdAt":579,"description":580,"difficulty":581,"draft":582,"estimatedTime":583,"extension":584,"faq":585,"howToSteps":598,"howToTotalTime":611,"image":578,"keywords":612,"locale":623,"meta":624,"navigation":625,"path":626,"platform":627,"related":628,"section":632,"seo":633,"severity":578,"stem":634,"summary":635,"tags":636,"twitterCreator":578,"twitterSite":578,"type":641,"updatedAt":579,"__hash__":642},"content_ru/guides/linux/install-kubectl-on-linux.md","Установка kubectl на Linux: пошаговое руководство для начинающих",[7,8,9,10],"Ubuntu 18.04+","CentOS 7+","Debian 10+","Fedora 30+","FixPedia Team",{"type":13,"value":14,"toc":559},"minimark",[15,20,24,28,31,80,84,89,92,97,143,148,173,176,190,194,197,213,217,224,229,248,253,256,283,298,330,333,350,354,357,372,375,383,386,389,393,396,411,414,421,425,429,435,441,455,459,464,472,476,481,485,500,504,509,513,537,541,546,555],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"kubectl — это ключевой инструмент командной строки для работы с Kubernetes. Он позволяет развертывать приложения, управлять ресурсами кластера и отлаживать проблемы. Установка kubectl на Linux — первый шаг к управлению Kubernetes из терминала вашей системы. После выполнения этого гайда вы сможете взаимодействовать с любым Kubernetes кластером, имея корректный kubeconfig.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[21,29,30],{},"Перед началом установки убедитесь, что ваша система соответствует следующим требованиям:",[32,33,34,42,48,70],"ul",{},[35,36,37,41],"li",{},[38,39,40],"strong",{},"Операционная система",": Linux (Ubuntu, CentOS, Debian, Fedora или совместимый дистрибутив)",[35,43,44,47],{},[38,45,46],{},"Права доступа",": Для установки в системные директории (например, /usr/local/bin) требуются права sudo. Если вы устанавливаете в домашнюю директорию, sudo не нужен.",[35,49,50,53,54,58,59,62,63,58,66,69],{},[38,51,52],{},"Сетевые утилиты",": Установите ",[55,56,57],"code",{},"curl"," или ",[55,60,61],{},"wget"," для загрузки файлов. Проверьте наличие командами ",[55,64,65],{},"curl --version",[55,67,68],{},"wget --version",".",[35,71,72,75,76,79],{},[38,73,74],{},"Архитектура",": Данная инструкция предполагает использование архитектуры amd64 (x86_64). Для других архитектур (arm64) замените ",[55,77,78],{},"amd64"," на соответствующую в URL.",[16,81,83],{"id":82},"пошаговая-инструкция","Пошаговая инструкция",[85,86,88],"h3",{"id":87},"шаг-1-скачайте-бинарный-файл-kubectl","Шаг 1: Скачайте бинарный файл kubectl",[21,90,91],{},"Скачайте последнюю стабильную версию kubectl с официального репозитория Kubernetes. Используйте одну из команд ниже:",[21,93,94],{},[38,95,96],{},"С помощью curl:",[98,99,104],"pre",{"className":100,"code":101,"language":102,"meta":103,"style":103},"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","",[55,105,106],{"__ignoreMap":103},[107,108,111,114,118,122,126,128,131,134,137,140],"span",{"class":109,"line":110},"line",1,[107,112,57],{"class":113},"sScJk",[107,115,117],{"class":116},"sj4cs"," -LO",[107,119,121],{"class":120},"sZZnC"," https://dl.k8s.io/release/",[107,123,125],{"class":124},"sVt8B","$(",[107,127,57],{"class":113},[107,129,130],{"class":116}," -L",[107,132,133],{"class":116}," -s",[107,135,136],{"class":120}," https://dl.k8s.io/release/stable.txt",[107,138,139],{"class":124},")",[107,141,142],{"class":120},"/bin/linux/amd64/kubectl\n",[21,144,145],{},[38,146,147],{},"С помощью wget:",[98,149,151],{"className":100,"code":150,"language":102,"meta":103,"style":103},"wget https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\n",[55,152,153],{"__ignoreMap":103},[107,154,155,157,159,161,163,165,167,169,171],{"class":109,"line":110},[107,156,61],{"class":113},[107,158,121],{"class":120},[107,160,125],{"class":124},[107,162,57],{"class":113},[107,164,130],{"class":116},[107,166,133],{"class":116},[107,168,136],{"class":120},[107,170,139],{"class":124},[107,172,142],{"class":120},[21,174,175],{},"Эти команды автоматически определяют последнюю стабильную версию. Если требуется конкретная версия (например, v1.24.0), укажите её явно:",[98,177,179],{"className":100,"code":178,"language":102,"meta":103,"style":103},"curl -LO https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl\n",[55,180,181],{"__ignoreMap":103},[107,182,183,185,187],{"class":109,"line":110},[107,184,57],{"class":113},[107,186,117],{"class":116},[107,188,189],{"class":120}," https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl\n",[85,191,193],{"id":192},"шаг-2-сделайте-файл-исполняемым","Шаг 2: Сделайте файл исполняемым",[21,195,196],{},"Предоставьте права на выполнение для скачанного файла:",[98,198,200],{"className":100,"code":199,"language":102,"meta":103,"style":103},"chmod +x kubectl\n",[55,201,202],{"__ignoreMap":103},[107,203,204,207,210],{"class":109,"line":110},[107,205,206],{"class":113},"chmod",[107,208,209],{"class":120}," +x",[107,211,212],{"class":120}," kubectl\n",[85,214,216],{"id":215},"шаг-3-переместите-kubectl-в-директорию-path","Шаг 3: Переместите kubectl в директорию PATH",[21,218,219,220,223],{},"Для того чтобы команда ",[55,221,222],{},"kubectl"," была доступна из любого места в терминале, переместите исполняемый файл в директорию, указанную в переменной PATH.",[21,225,226],{},[38,227,228],{},"Вариант A: Установка в системную директорию (требует sudo)",[98,230,232],{"className":100,"code":231,"language":102,"meta":103,"style":103},"sudo mv kubectl /usr/local/bin/\n",[55,233,234],{"__ignoreMap":103},[107,235,236,239,242,245],{"class":109,"line":110},[107,237,238],{"class":113},"sudo",[107,240,241],{"class":120}," mv",[107,243,244],{"class":120}," kubectl",[107,246,247],{"class":120}," /usr/local/bin/\n",[21,249,250],{},[38,251,252],{},"Вариант B: Установка в домашнюю директорию (без sudo)",[21,254,255],{},"Если у вас нет прав sudo, создайте локальную директорию и переместите туда kubectl:",[98,257,259],{"className":100,"code":258,"language":102,"meta":103,"style":103},"mkdir -p ~/.local/bin\nmv kubectl ~/.local/bin/\n",[55,260,261,272],{"__ignoreMap":103},[107,262,263,266,269],{"class":109,"line":110},[107,264,265],{"class":113},"mkdir",[107,267,268],{"class":116}," -p",[107,270,271],{"class":120}," ~/.local/bin\n",[107,273,275,278,280],{"class":109,"line":274},2,[107,276,277],{"class":113},"mv",[107,279,244],{"class":120},[107,281,282],{"class":120}," ~/.local/bin/\n",[21,284,285,286,289,290,293,294,297],{},"Затем добавьте ",[55,287,288],{},"~/.local/bin"," в переменную PATH. Отредактируйте файл ",[55,291,292],{},"~/.bashrc"," (для Bash) или ",[55,295,296],{},"~/.zshrc"," (для Zsh) и добавьте строку:",[98,299,301],{"className":100,"code":300,"language":102,"meta":103,"style":103},"export PATH=\"$HOME/.local/bin:$PATH\"\n",[55,302,303],{"__ignoreMap":103},[107,304,305,309,312,315,318,321,324,327],{"class":109,"line":110},[107,306,308],{"class":307},"szBVR","export",[107,310,311],{"class":124}," PATH",[107,313,314],{"class":307},"=",[107,316,317],{"class":120},"\"",[107,319,320],{"class":124},"$HOME",[107,322,323],{"class":120},"/.local/bin:",[107,325,326],{"class":124},"$PATH",[107,328,329],{"class":120},"\"\n",[21,331,332],{},"Примените изменения, выполнив:",[98,334,336],{"className":100,"code":335,"language":102,"meta":103,"style":103},"source ~/.bashrc  # или source ~/.zshrc\n",[55,337,338],{"__ignoreMap":103},[107,339,340,343,346],{"class":109,"line":110},[107,341,342],{"class":116},"source",[107,344,345],{"class":120}," ~/.bashrc",[107,347,349],{"class":348},"sJ8bj","  # или source ~/.zshrc\n",[85,351,353],{"id":352},"шаг-4-проверьте-установку","Шаг 4: Проверьте установку",[21,355,356],{},"Убедитесь, что kubectl установлен правильно, выполнив:",[98,358,360],{"className":100,"code":359,"language":102,"meta":103,"style":103},"kubectl version --client\n",[55,361,362],{"__ignoreMap":103},[107,363,364,366,369],{"class":109,"line":110},[107,365,222],{"class":113},[107,367,368],{"class":120}," version",[107,370,371],{"class":116}," --client\n",[21,373,374],{},"Команда должна вывести версию клиента, например:",[98,376,381],{"className":377,"code":379,"language":380},[378],"language-text","Client Version: version.Info{Major:\"1\", Minor:\"24\", GitVersion:\"v1.24.0\", ...}\n","text",[55,382,379],{"__ignoreMap":103},[21,384,385],{},"Если вы видите ошибку \"command not found\", перепроверьте, что директория с kubectl добавлена в PATH.",[387,388],"in-article-ad",{},[16,390,392],{"id":391},"проверка-результата","Проверка результата",[21,394,395],{},"После успешной установки kubectl, вы можете проверить его работоспособность, подключившись к Kubernetes кластеру. Для этого необходим настроенный файл kubeconfig (обычно в ~/.kube/config). Если кластер уже доступен, выполните:",[98,397,399],{"className":100,"code":398,"language":102,"meta":103,"style":103},"kubectl get nodes\n",[55,400,401],{"__ignoreMap":103},[107,402,403,405,408],{"class":109,"line":110},[107,404,222],{"class":113},[107,406,407],{"class":120}," get",[107,409,410],{"class":120}," nodes\n",[21,412,413],{},"Если команда возвращает список нод кластера, установка прошла успешно и вы готовы управлять кластером. Если kubeconfig не настроен, вы получите ошибку подключения, но это не связано с установкой kubectl.",[21,415,416,417,420],{},"Для минимальной проверки без кластера, команда ",[55,418,419],{},"kubectl version --client"," уже подтвердила установку.",[16,422,424],{"id":423},"возможные-проблемы","Возможные проблемы",[85,426,428],{"id":427},"ошибка-kubectl-command-not-found-после-установки","Ошибка \"kubectl: command not found\" после установки",[21,430,431,434],{},[38,432,433],{},"Причина",": Директория с kubectl не добавлена в PATH.",[21,436,437,440],{},[38,438,439],{},"Решение",":",[32,442,443,449],{},[35,444,445,446,69],{},"Если вы установили kubectl в /usr/local/bin, эта директория обычно уже в PATH. Если нет, добавьте её в ~/.bashrc: ",[55,447,448],{},"export PATH=\"/usr/local/bin:$PATH\"",[35,450,451,452,69],{},"Если установили в ~/.local/bin, убедитесь, что вы добавили эту директорию в PATH и выполнили ",[55,453,454],{},"source ~/.bashrc",[85,456,458],{"id":457},"ошибка-прав-доступа-при-перемещении-файла","Ошибка прав доступа при перемещении файла",[21,460,461,463],{},[38,462,433],{},": Недостаточно прав для записи в системную директорию.",[21,465,466,468,469,471],{},[38,467,439],{},": Используйте ",[55,470,238],{}," для перемещения в /usr/local/bin, или установите kubectl в домашнюю директорию без sudo, как описано в шаге 3 (Вариант B).",[85,473,475],{"id":474},"несовместимость-версий-kubectl-и-kubernetes-кластера","Несовместимость версий kubectl и Kubernetes кластера",[21,477,478,480],{},[38,479,433],{},": kubectl должен быть совместим с версией API кластера. Рекомендуется, чтобы минорные версии отличались не более чем на одну.",[21,482,483,440],{},[38,484,439],{},[32,486,487,494,497],{},[35,488,489,490,493],{},"Проверьте версию кластера: ",[55,491,492],{},"kubectl version --short"," (если подключен) или спросите у администратора.",[35,495,496],{},"Скачайте соответствующую версию kubectl, указав версию явно в URL (см. шаг 1).",[35,498,499],{},"Например, для кластера v1.23 используйте kubectl v1.22, v1.23 или v1.24.",[85,501,503],{"id":502},"проблемы-с-загрузкой-файла-curl-или-wget","Проблемы с загрузкой файла (curl или wget)",[21,505,506,508],{},[38,507,433],{},": Сетевые проблемы или недоступность URL.",[21,510,511,440],{},[38,512,439],{},[32,514,515,518,527],{},[35,516,517],{},"Проверьте интернет-соединение.",[35,519,520,521,69],{},"Попробуйте использовать другой браузер для загрузки вручную с ",[522,523,524],"a",{"href":524,"rel":525},"https://dl.k8s.io/release/",[526],"nofollow",[35,528,529,530,532,533,536],{},"Убедитесь, что вы используете правильную архитектуру (amd64). Для arm64 замените ",[55,531,78],{}," на ",[55,534,535],{},"arm64"," в URL.",[85,538,540],{"id":539},"kubectl-работает-но-не-может-подключиться-к-кластеру","kubectl работает, но не может подключиться к кластеру",[21,542,543,545],{},[38,544,433],{},": Отсутствует или неверный kubeconfig.",[21,547,548,550,551,554],{},[38,549,439],{},": Настройте kubeconfig, получив файл конфигурации от администратора кластера или используя ",[55,552,553],{},"kubeadm","/облачные инструменты. Проверьте, что переменная KUBECONFIG указана правильно или файл находится в ~/.kube/config.",[556,557,558],"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 pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":103,"searchDepth":274,"depth":274,"links":560},[561,562,563,570,571],{"id":18,"depth":274,"text":19},{"id":26,"depth":274,"text":27},{"id":82,"depth":274,"text":83,"children":564},[565,567,568,569],{"id":87,"depth":566,"text":88},3,{"id":192,"depth":566,"text":193},{"id":215,"depth":566,"text":216},{"id":352,"depth":566,"text":353},{"id":391,"depth":274,"text":392},{"id":423,"depth":274,"text":424,"children":572},[573,574,575,576,577],{"id":427,"depth":566,"text":428},{"id":457,"depth":566,"text":458},{"id":474,"depth":566,"text":475},{"id":502,"depth":566,"text":503},{"id":539,"depth":566,"text":540},null,"2026-02-16 10:19:49","Установите kubectl на Linux за 5 минут с нашей подробной инструкцией. Поддержка Ubuntu, CentOS, Debian и других дистрибутивов. Начните управлять Kubernetes кластерами уже сегодня!","easy",false,"5-10 мин","md",[586,589,592,595],{"question":587,"answer":588},"Как проверить, установлен ли уже kubectl?","Выполните команду `kubectl version --client` в терминале. Если команда возвращает версию клиента, kubectl установлен корректно.",{"question":590,"answer":591},"Можно ли установить kubectl без sudo?","Да, можно установить kubectl в домашнюю директорию, например, в ~/.local/bin, и добавить этот путь в переменную PATH.",{"question":593,"answer":594},"Какая версия kubectl совместима с моим кластером Kubernetes?","kubectl должен отличаться не более чем на одну минорную версию от сервера API кластера. Например, kubectl v1.24 работает с кластерами v1.23, v1.24, v1.25.",{"question":596,"answer":597},"Что делать, если после установки команда kubectl не распознаётся?","Убедитесь, что директория с kubectl добавлена в PATH. Для немедленного использования можно указать полный путь, например, `/usr/local/bin/kubectl`.",[599,602,605,608],{"name":600,"text":601},"Скачайте бинарный файл kubectl","Используйте curl или wget для загрузки последней стабильной версии kubectl с официального сайта Kubernetes.",{"name":603,"text":604},"Сделайте файл исполняемым","Выполните `chmod +x kubectl`, чтобы предоставить права на выполнение бинарному файлу.",{"name":606,"text":607},"Переместите kubectl в директорию PATH","Переместите исполняемый файл в системную директорию, например, /usr/local/bin, с помощью sudo.",{"name":609,"text":610},"Проверьте установку","Запустите `kubectl version --client` для подтверждения успешной установки и проверки версии.","PT10M",[613,614,615,616,617,618,619,620,621,622],"установка kubectl linux","как установить kubectl на ubuntu","скачать kubectl для linux","установка kubectl на centos","kubectl команда не найдена","инструкция по kubectl для начинающих","kubectl linux terminal","установка kubernetes cli","kubectl версия установки","настройка kubectl после установки","ru_RU",{},true,"/guides/linux/install-kubectl-on-linux","linux",[629,630,631],"/guides/linux/install-kubernetes-on-linux","/guides/linux/configure-kubectl-context","/errors/linux/kubectl-command-not-found","Гайды Linux",{"title":5,"description":580},"guides/linux/install-kubectl-on-linux","Этот гайд описывает, как установить kubectl — CLI инструмент для Kubernetes — на Linux. Вы сможете выполнять команды для управления кластерами Kubernetes.",[222,637,627,638,639,640],"kubernetes","установка","cli","devops","guide","53GmhC3aFsut__Y0NdTAb3qQ0K479EyAnjbt7U2D1us",{"data":644,"body":645},{},{"type":646,"children":647},"root",[648],{"type":649,"tag":21,"props":650,"children":651},"element",{},[652,654,659],{"type":380,"value":653},"Выполните команду ",{"type":649,"tag":55,"props":655,"children":657},{"className":656},[],[658],{"type":380,"value":419},{"type":380,"value":660}," в терминале. Если команда возвращает версию клиента, kubectl установлен корректно.",{"data":662,"body":663},{},{"type":646,"children":664},[665],{"type":649,"tag":21,"props":666,"children":667},{},[668],{"type":380,"value":591},{"data":670,"body":671},{},{"type":646,"children":672},[673],{"type":649,"tag":21,"props":674,"children":675},{},[676],{"type":380,"value":594},{"data":678,"body":679},{},{"type":646,"children":680},[681],{"type":649,"tag":21,"props":682,"children":683},{},[684,686,692],{"type":380,"value":685},"Убедитесь, что директория с kubectl добавлена в PATH. Для немедленного использования можно указать полный путь, например, ",{"type":649,"tag":55,"props":687,"children":689},{"className":688},[],[690],{"type":380,"value":691},"/usr/local/bin/kubectl",{"type":380,"value":69},{"data":694,"body":695},{},{"type":646,"children":696},[697],{"type":649,"tag":21,"props":698,"children":699},{},[700],{"type":380,"value":601},{"data":702,"body":703},{},{"type":646,"children":704},[705],{"type":649,"tag":21,"props":706,"children":707},{},[708,710,716],{"type":380,"value":709},"Выполните ",{"type":649,"tag":55,"props":711,"children":713},{"className":712},[],[714],{"type":380,"value":715},"chmod +x kubectl",{"type":380,"value":717},", чтобы предоставить права на выполнение бинарному файлу.",{"data":719,"body":720},{},{"type":646,"children":721},[722],{"type":649,"tag":21,"props":723,"children":724},{},[725],{"type":380,"value":607},{"data":727,"body":728},{},{"type":646,"children":729},[730],{"type":649,"tag":21,"props":731,"children":732},{},[733,735,740],{"type":380,"value":734},"Запустите ",{"type":649,"tag":55,"props":736,"children":738},{"className":737},[],[739],{"type":380,"value":419},{"type":380,"value":741}," для подтверждения успешной установки и проверки версии.",[743,1487,2247],{"id":744,"title":745,"appliesTo":746,"author":11,"body":750,"canonical":578,"code":578,"createdAt":1432,"description":1433,"difficulty":1434,"draft":582,"estimatedTime":1435,"extension":584,"faq":1436,"howToSteps":1449,"howToTotalTime":1465,"image":578,"keywords":1466,"locale":623,"meta":1474,"navigation":625,"path":629,"platform":627,"related":1475,"section":632,"seo":1479,"severity":578,"stem":1480,"summary":1481,"tags":1482,"twitterCreator":578,"twitterSite":578,"type":641,"updatedAt":1432,"__hash__":1486},"content_ru/guides/linux/install-kubernetes-on-linux.md","Установка Kubernetes на Linux: развёртывание кластера с нуля",[747,748,749],"Ubuntu 22.04 LTS / 24.04 LTS","Debian 12","Kubernetes v1.30+",{"type":13,"value":751,"toc":1421},[752,754,757,759,765,769,772,787,798,822,825,886,890,897,927,930,966,981,1009,1011,1015,1018,1068,1071,1093,1096,1146,1158,1162,1169,1186,1193,1260,1264,1267,1285,1288,1300,1306,1308,1311,1329,1332,1351,1365,1367,1418],[16,753,19],{"id":18},[21,755,756],{},"Kubernetes стал де-факто стандартом для оркестрации контейнеров в производственной среде. Развернув его на Linux, вы получаете масштабируемую платформу, которая автоматически управляет жизненным циклом ваших приложений, балансирует нагрузку и восстанавливает сервисы при сбоях. Этот гайд поможет вам собрать стабильный кластер с помощью официальных пакетов kubeadm, минуя устаревшие обёртки и сложные скрипты.",[16,758,27],{"id":26},[21,760,761,762,764],{},"Перед началом убедитесь, что у вас есть как минимум один сервер или виртуальная машина. Минимальные ресурсы — 2 CPU и 2 ГБ ОЗУ. Вам потребуется доступ по SSH с правами ",[55,763,238],{},", стабильное интернет-соединение для загрузки пакетов и открытые порты 6443, 80, 443, 10250–10252. Если вы планируете масштабировать кластер, подготовьте дополнительные узлы с теми же параметрами.",[16,766,768],{"id":767},"шаг-1-подготовка-системы-и-отключение-подкачки","Шаг 1: Подготовка системы и отключение подкачки",[21,770,771],{},"Kubernetes требует отключённого swap для корректного планирования ресурсов. Выполните команду:",[98,773,775],{"className":100,"code":774,"language":102,"meta":103,"style":103},"sudo swapoff -a\n",[55,776,777],{"__ignoreMap":103},[107,778,779,781,784],{"class":109,"line":110},[107,780,238],{"class":113},[107,782,783],{"class":120}," swapoff",[107,785,786],{"class":116}," -a\n",[21,788,789,790,793,794,797],{},"Чтобы изменение сохранялось после перезагрузки, откройте ",[55,791,792],{},"/etc/fstab"," и закомментируйте строку, содержащую ",[55,795,796],{},"swap",". Также убедитесь, что модули ядра для сетевых фильтров загружены:",[98,799,801],{"className":100,"code":800,"language":102,"meta":103,"style":103},"sudo modprobe overlay\nsudo modprobe br_netfilter\n",[55,802,803,813],{"__ignoreMap":103},[107,804,805,807,810],{"class":109,"line":110},[107,806,238],{"class":113},[107,808,809],{"class":120}," modprobe",[107,811,812],{"class":120}," overlay\n",[107,814,815,817,819],{"class":109,"line":274},[107,816,238],{"class":113},[107,818,809],{"class":120},[107,820,821],{"class":120}," br_netfilter\n",[21,823,824],{},"Примените параметры ядра для проброса трафика между интерфейсами:",[98,826,828],{"className":100,"code":827,"language":102,"meta":103,"style":103},"cat \u003C\u003CEOF | sudo tee /etc/sysctl.d/k8s.conf\nnet.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1\nEOF\nsudo sysctl --system\n",[55,829,830,853,858,863,869,875],{"__ignoreMap":103},[107,831,832,835,838,841,844,847,850],{"class":109,"line":110},[107,833,834],{"class":113},"cat",[107,836,837],{"class":307}," \u003C\u003C",[107,839,840],{"class":120},"EOF",[107,842,843],{"class":307}," |",[107,845,846],{"class":113}," sudo",[107,848,849],{"class":120}," tee",[107,851,852],{"class":120}," /etc/sysctl.d/k8s.conf\n",[107,854,855],{"class":109,"line":274},[107,856,857],{"class":120},"net.bridge.bridge-nf-call-ip6tables = 1\n",[107,859,860],{"class":109,"line":566},[107,861,862],{"class":120},"net.bridge.bridge-nf-call-iptables = 1\n",[107,864,866],{"class":109,"line":865},4,[107,867,868],{"class":120},"net.ipv4.ip_forward = 1\n",[107,870,872],{"class":109,"line":871},5,[107,873,874],{"class":120},"EOF\n",[107,876,878,880,883],{"class":109,"line":877},6,[107,879,238],{"class":113},[107,881,882],{"class":120}," sysctl",[107,884,885],{"class":116}," --system\n",[16,887,889],{"id":888},"шаг-2-установка-и-настройка-container-runtime","Шаг 2: Установка и настройка Container Runtime",[21,891,892,893,896],{},"Для работы Kubernetes требуется среда выполнения контейнеров. Мы используем ",[55,894,895],{},"containerd"," как наиболее стабильный вариант, рекомендованный сообществом.",[98,898,900],{"className":100,"code":899,"language":102,"meta":103,"style":103},"sudo apt update\nsudo apt install -y containerd\n",[55,901,902,912],{"__ignoreMap":103},[107,903,904,906,909],{"class":109,"line":110},[107,905,238],{"class":113},[107,907,908],{"class":120}," apt",[107,910,911],{"class":120}," update\n",[107,913,914,916,918,921,924],{"class":109,"line":274},[107,915,238],{"class":113},[107,917,908],{"class":120},[107,919,920],{"class":120}," install",[107,922,923],{"class":116}," -y",[107,925,926],{"class":120}," containerd\n",[21,928,929],{},"Создайте конфигурационный файл по умолчанию:",[98,931,933],{"className":100,"code":932,"language":102,"meta":103,"style":103},"sudo mkdir -p /etc/containerd\ncontainerd config default | sudo tee /etc/containerd/config.toml\n",[55,934,935,947],{"__ignoreMap":103},[107,936,937,939,942,944],{"class":109,"line":110},[107,938,238],{"class":113},[107,940,941],{"class":120}," mkdir",[107,943,268],{"class":116},[107,945,946],{"class":120}," /etc/containerd\n",[107,948,949,951,954,957,959,961,963],{"class":109,"line":274},[107,950,895],{"class":113},[107,952,953],{"class":120}," config",[107,955,956],{"class":120}," default",[107,958,843],{"class":307},[107,960,846],{"class":113},[107,962,849],{"class":120},[107,964,965],{"class":120}," /etc/containerd/config.toml\n",[21,967,968,969,972,973,976,977,980],{},"Откройте файл ",[55,970,971],{},"/etc/containerd/config.toml",", найдите секцию ",[55,974,975],{},"[plugins.\"io.containerd.grpc.v1.cri\"]"," и установите ",[55,978,979],{},"SystemdCgroup = true",". Без этого kubelet не сможет корректно управлять cgroup. Перезапустите и включите службу:",[98,982,984],{"className":100,"code":983,"language":102,"meta":103,"style":103},"sudo systemctl restart containerd\nsudo systemctl enable containerd\n",[55,985,986,998],{"__ignoreMap":103},[107,987,988,990,993,996],{"class":109,"line":110},[107,989,238],{"class":113},[107,991,992],{"class":120}," systemctl",[107,994,995],{"class":120}," restart",[107,997,926],{"class":120},[107,999,1000,1002,1004,1007],{"class":109,"line":274},[107,1001,238],{"class":113},[107,1003,992],{"class":120},[107,1005,1006],{"class":120}," enable",[107,1008,926],{"class":120},[387,1010],{},[16,1012,1014],{"id":1013},"шаг-3-добавление-репозитория-и-установка-компонентов-k8s","Шаг 3: Добавление репозитория и установка компонентов k8s",[21,1016,1017],{},"Установите утилиты для работы с HTTPS и добавьте официальный ключ Kubernetes:",[98,1019,1021],{"className":100,"code":1020,"language":102,"meta":103,"style":103},"sudo apt install -y apt-transport-https ca-certificates curl\ncurl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg\n",[55,1022,1023,1042],{"__ignoreMap":103},[107,1024,1025,1027,1029,1031,1033,1036,1039],{"class":109,"line":110},[107,1026,238],{"class":113},[107,1028,908],{"class":120},[107,1030,920],{"class":120},[107,1032,923],{"class":116},[107,1034,1035],{"class":120}," apt-transport-https",[107,1037,1038],{"class":120}," ca-certificates",[107,1040,1041],{"class":120}," curl\n",[107,1043,1044,1046,1049,1052,1054,1056,1059,1062,1065],{"class":109,"line":274},[107,1045,57],{"class":113},[107,1047,1048],{"class":116}," -fsSL",[107,1050,1051],{"class":120}," https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key",[107,1053,843],{"class":307},[107,1055,846],{"class":113},[107,1057,1058],{"class":120}," gpg",[107,1060,1061],{"class":116}," --dearmor",[107,1063,1064],{"class":116}," -o",[107,1066,1067],{"class":120}," /etc/apt/keyrings/kubernetes-apt-keyring.gpg\n",[21,1069,1070],{},"Добавьте репозиторий в список источников:",[98,1072,1074],{"className":100,"code":1073,"language":102,"meta":103,"style":103},"echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list\n",[55,1075,1076],{"__ignoreMap":103},[107,1077,1078,1081,1084,1086,1088,1090],{"class":109,"line":110},[107,1079,1080],{"class":116},"echo",[107,1082,1083],{"class":120}," 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /'",[107,1085,843],{"class":307},[107,1087,846],{"class":113},[107,1089,849],{"class":120},[107,1091,1092],{"class":120}," /etc/apt/sources.list.d/kubernetes.list\n",[21,1094,1095],{},"Установите компоненты, зафиксировав версию, чтобы избежать автоматических обновлений, нарушающих работу кластера:",[98,1097,1099],{"className":100,"code":1098,"language":102,"meta":103,"style":103},"sudo apt update\nsudo apt install -y kubelet=1.30.0-1.1 kubeadm=1.30.0-1.1 kubectl=1.30.0-1.1\nsudo apt-mark hold kubelet kubeadm kubectl\n",[55,1100,1101,1109,1128],{"__ignoreMap":103},[107,1102,1103,1105,1107],{"class":109,"line":110},[107,1104,238],{"class":113},[107,1106,908],{"class":120},[107,1108,911],{"class":120},[107,1110,1111,1113,1115,1117,1119,1122,1125],{"class":109,"line":274},[107,1112,238],{"class":113},[107,1114,908],{"class":120},[107,1116,920],{"class":120},[107,1118,923],{"class":116},[107,1120,1121],{"class":120}," kubelet=1.30.0-1.1",[107,1123,1124],{"class":120}," kubeadm=1.30.0-1.1",[107,1126,1127],{"class":120}," kubectl=1.30.0-1.1\n",[107,1129,1130,1132,1135,1138,1141,1144],{"class":109,"line":566},[107,1131,238],{"class":113},[107,1133,1134],{"class":120}," apt-mark",[107,1136,1137],{"class":120}," hold",[107,1139,1140],{"class":120}," kubelet",[107,1142,1143],{"class":120}," kubeadm",[107,1145,212],{"class":120},[21,1147,1148,1150,1151,1154,1155,1157],{},[55,1149,553],{}," разворачивает кластер, ",[55,1152,1153],{},"kubelet"," управляет контейнерами на узле, а ",[55,1156,222],{}," — ваш CLI-инструмент для общения с API-сервером.",[16,1159,1161],{"id":1160},"шаг-4-инициализация-управляющего-узла","Шаг 4: Инициализация управляющего узла",[21,1163,1164,1165,1168],{},"Запустите инициализацию. Параметр ",[55,1166,1167],{},"--pod-network-cidr"," задаёт подсеть для внутренних подов, она обязательна для большинства плагинов:",[98,1170,1172],{"className":100,"code":1171,"language":102,"meta":103,"style":103},"sudo kubeadm init --pod-network-cidr=10.244.0.0/16\n",[55,1173,1174],{"__ignoreMap":103},[107,1175,1176,1178,1180,1183],{"class":109,"line":110},[107,1177,238],{"class":113},[107,1179,1143],{"class":120},[107,1181,1182],{"class":120}," init",[107,1184,1185],{"class":116}," --pod-network-cidr=10.244.0.0/16\n",[21,1187,1188,1189,1192],{},"Дождитесь завершения. В терминале появится команда для копирования конфигурации администратора и строка ",[55,1190,1191],{},"kubeadm join"," для подключения дополнительных узлов. Сохраните их в безопасном месте.\nНастройте доступ для текущего пользователя:",[98,1194,1196],{"className":100,"code":1195,"language":102,"meta":103,"style":103},"mkdir -p $HOME/.kube\nsudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n",[55,1197,1198,1210,1228],{"__ignoreMap":103},[107,1199,1200,1202,1204,1207],{"class":109,"line":110},[107,1201,265],{"class":113},[107,1203,268],{"class":116},[107,1205,1206],{"class":124}," $HOME",[107,1208,1209],{"class":120},"/.kube\n",[107,1211,1212,1214,1217,1220,1223,1225],{"class":109,"line":274},[107,1213,238],{"class":113},[107,1215,1216],{"class":120}," cp",[107,1218,1219],{"class":116}," -i",[107,1221,1222],{"class":120}," /etc/kubernetes/admin.conf",[107,1224,1206],{"class":124},[107,1226,1227],{"class":120},"/.kube/config\n",[107,1229,1230,1232,1235,1238,1241,1244,1246,1248,1250,1252,1255,1258],{"class":109,"line":566},[107,1231,238],{"class":113},[107,1233,1234],{"class":120}," chown",[107,1236,1237],{"class":124}," $(",[107,1239,1240],{"class":113},"id",[107,1242,1243],{"class":116}," -u",[107,1245,139],{"class":124},[107,1247,440],{"class":120},[107,1249,125],{"class":124},[107,1251,1240],{"class":113},[107,1253,1254],{"class":116}," -g",[107,1256,1257],{"class":124},") $HOME",[107,1259,1227],{"class":120},[16,1261,1263],{"id":1262},"шаг-5-подключение-сетевого-плагина-и-проверка-работоспособности","Шаг 5: Подключение сетевого плагина и проверка работоспособности",[21,1265,1266],{},"Без CNI-плагина поды не получат IP-адреса. Установим Flannel, так как он не требует дополнительных настроек:",[98,1268,1270],{"className":100,"code":1269,"language":102,"meta":103,"style":103},"kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml\n",[55,1271,1272],{"__ignoreMap":103},[107,1273,1274,1276,1279,1282],{"class":109,"line":110},[107,1275,222],{"class":113},[107,1277,1278],{"class":120}," apply",[107,1280,1281],{"class":116}," -f",[107,1283,1284],{"class":120}," https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml\n",[21,1286,1287],{},"Подождите 1–2 минуты. Проверьте статус ядра:",[98,1289,1290],{"className":100,"code":398,"language":102,"meta":103,"style":103},[55,1291,1292],{"__ignoreMap":103},[107,1293,1294,1296,1298],{"class":109,"line":110},[107,1295,222],{"class":113},[107,1297,407],{"class":120},[107,1299,410],{"class":120},[21,1301,1302,1303,69],{},"Все узлы должны перейти в состояние ",[55,1304,1305],{},"Ready",[16,1307,392],{"id":391},[21,1309,1310],{},"Разверните тестовый под, чтобы убедиться, что планировщик и сеть работают:",[98,1312,1314],{"className":100,"code":1313,"language":102,"meta":103,"style":103},"kubectl run nginx-test --image=nginx:latest\n",[55,1315,1316],{"__ignoreMap":103},[107,1317,1318,1320,1323,1326],{"class":109,"line":110},[107,1319,222],{"class":113},[107,1321,1322],{"class":120}," run",[107,1324,1325],{"class":120}," nginx-test",[107,1327,1328],{"class":116}," --image=nginx:latest\n",[21,1330,1331],{},"Проверьте статус и внутренний IP:",[98,1333,1335],{"className":100,"code":1334,"language":102,"meta":103,"style":103},"kubectl get pods -o wide\n",[55,1336,1337],{"__ignoreMap":103},[107,1338,1339,1341,1343,1346,1348],{"class":109,"line":110},[107,1340,222],{"class":113},[107,1342,407],{"class":120},[107,1344,1345],{"class":120}," pods",[107,1347,1064],{"class":116},[107,1349,1350],{"class":120}," wide\n",[21,1352,1353,1354,1357,1358,1361,1362,69],{},"Если вы видите статус ",[55,1355,1356],{},"Running"," и назначенный адрес из подсети ",[55,1359,1360],{},"10.244.x.x",", кластер полностью готов к развёртыванию ваших сервисов. Удалите тестовый объект: ",[55,1363,1364],{},"kubectl delete pod nginx-test",[16,1366,424],{"id":423},[32,1368,1369,1385,1399],{},[35,1370,1371,1374,1375,1377,1378,1381,1382,69],{},[55,1372,1373],{},"Error: failed to run Kubelet: failed to create kubelet: failed to get container info for \"/system.slice/kubelet.service\"",": проверьте, что ",[55,1376,895],{}," запущен и параметр ",[55,1379,1380],{},"SystemdCgroup"," установлен в ",[55,1383,1384],{},"true",[35,1386,1387,1388,58,1391,1394,1395,1398],{},"Узел остаётся в статусе ",[55,1389,1390],{},"NotReady",[55,1392,1393],{},"NetworkUnavailable",": убедитесь, что команда ",[55,1396,1397],{},"kubectl apply -f ..."," для CNI-плагина выполнилась успешно. Ошибка часто возникает при блокировке портов 8472 и 4789 фаерволом.",[35,1400,1401,1404,1405,1374,1408,1410,1411,1413,1414,1417],{},[55,1402,1403],{},"kubeadm init"," падает на этапе ",[55,1406,1407],{},"kubelet-start",[55,1409,796],{}," действительно отключён, а версия ",[55,1412,895],{}," совместима с Kubernetes v1.30. Вывод ",[55,1415,1416],{},"journalctl -u kubelet -f"," покажет точную причину сбоя.",[556,1419,1420],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":103,"searchDepth":274,"depth":274,"links":1422},[1423,1424,1425,1426,1427,1428,1429,1430,1431],{"id":18,"depth":274,"text":19},{"id":26,"depth":274,"text":27},{"id":767,"depth":274,"text":768},{"id":888,"depth":274,"text":889},{"id":1013,"depth":274,"text":1014},{"id":1160,"depth":274,"text":1161},{"id":1262,"depth":274,"text":1263},{"id":391,"depth":274,"text":392},{"id":423,"depth":274,"text":424},"2026-04-06 16:21:35","Пошаговая инструкция по установке Kubernetes на Linux. Разверните кластер за 15 минут с проверенными командами. Начните оркестрацию прямо сейчас!","medium","15-30 мин",[1437,1440,1443,1446],{"question":1438,"answer":1439},"Можно ли установить Kubernetes на домашний ПК?","Да, для локальных экспериментов используйте Minikube или Kind. Они создают легковесный одноузловой кластер без сложной сетевой настройки.",{"question":1441,"answer":1442},"Обязательно ли отключать подкачку (swap) для работы k8s?","Да, kubelet по умолчанию отказывается запускаться при включённом swap. Временно отключите его командой `swapoff -a` или используйте флаг `--fail-swap-on=false`.",{"question":1444,"answer":1445},"Какой сетевой плагин (CNI) выбрать новичку?","Рекомендуем Flannel для быстрой и простой настройки. Если вам нужны сетевые политики и изоляция трафика между неймспейсами, выбирайте Calico.",{"question":1447,"answer":1448},"Нужны ли права root для установки компонентов?","Да, для настройки системных служб, репозиториев и инициализации кластера требуются привилегии суперпользователя или команда `sudo`.",[1450,1453,1456,1459,1462],{"name":1451,"text":1452},"Подготовка системы и отключение swap","Отключите подкачку памяти, обновите индексы пакетов и установите необходимые утилиты для работы контейнеров и сети.",{"name":1454,"text":1455},"Установка компонента Container Runtime","Разверните containerd, настройте конфигурационный файл и включите автозагрузку службы.",{"name":1457,"text":1458},"Установка kubeadm, kubelet и kubectl","Добавьте официальный репозиторий Kubernetes, установите пакеты управления кластером и зафиксируйте их версии.",{"name":1460,"text":1461},"Инициализация управляющего узла","Запустите команду kubeadm init, сохраните вывод с токеном для присоединения рабочих узлов и настройте конфигурацию kubectl.",{"name":1463,"text":1464},"Подключение сетевого плагина и проверка","Установите манифест CNI-сети, дождитесь статуса Ready для узлов и разверните тестовое приложение.","PT20M",[1467,1468,1469,1470,1471,1472,1473],"установка kubernetes на linux","настройка кластера k8s ubuntu","kubeadm init debian","установить kubectl linux","оркестрация контейнеров руководство","настройка containerd kubernetes","развертывание pod в kubernetes",{},[1476,1477,1478],"/guides/linux/install-docker-on-linux","/guides/linux/setup-minikube-local","/guides/linux/configure-kubectl-cli",{"title":745,"description":1433},"guides/linux/install-kubernetes-on-linux","В этом руководстве вы настроите рабочий кластер Kubernetes на базе Ubuntu или Debian с использованием kubeadm. Вы получите готовую к запуску среду для оркестрации контейнеров.",[627,637,640,1483,895,1484,1485],"оркестрация","k8s","администрирование","6zANoTUzfy8rxswWfYY1zpeGVQabZLSc45gYAH5uvGg",{"id":1488,"title":1489,"appliesTo":1490,"author":11,"body":1495,"canonical":578,"code":578,"createdAt":2195,"description":2196,"difficulty":581,"draft":582,"estimatedTime":2197,"extension":584,"faq":2198,"howToSteps":2211,"howToTotalTime":2224,"image":578,"keywords":2225,"locale":623,"meta":2234,"navigation":625,"path":630,"platform":627,"related":2235,"section":2238,"seo":2239,"severity":578,"stem":2240,"summary":2241,"tags":2242,"twitterCreator":578,"twitterSite":578,"type":641,"updatedAt":2195,"__hash__":2246},"content_ru/guides/linux/configure-kubectl-context.md","Настройка контекста kubectl в Linux: полное руководство",[1491,1492,1493,1494],"kubectl 1.20+","Kubernetes 1.20+","Ubuntu 20.04+","CentOS 8+",{"type":13,"value":1496,"toc":2169},[1497,1499,1506,1509,1523,1525,1528,1562,1564,1568,1571,1590,1593,1599,1610,1616,1630,1633,1637,1640,1656,1666,1705,1710,1741,1757,1761,1764,1781,1799,1803,1808,1822,1827,1832,1844,1850,1855,1869,1879,1883,1886,1902,1926,1928,1931,1962,1964,1971,1983,1989,2004,2010,2028,2032,2048,2050,2054,2070,2074,2078,2081,2123,2126,2130,2133,2161,2166],[16,1498,19],{"id":18},[21,1500,1501,1502,1505],{},"Работая с Kubernetes, особенно в продакшн-среде или при наличии нескольких кластеров (dev, staging, prod), вам постоянно нужно переключаться между ними. ",[38,1503,1504],{},"Контекст kubectl"," — это именно тот механизм, который хранит комбинацию «кластер + пользователь + namespace» и позволяет мгновенно переключаться между разными окружениями одной командой.",[21,1507,1508],{},"После выполнения этого гайда вы сможете:",[32,1510,1511,1514,1517,1520],{},[35,1512,1513],{},"Просматривать все доступные контексты.",[35,1515,1516],{},"Создавать и настраивать новые контексты.",[35,1518,1519],{},"Быстро переключаться между кластерами.",[35,1521,1522],{},"Управлять пространствами имён по умолчанию для каждого контекста.",[16,1524,27],{"id":26},[21,1526,1527],{},"Перед началом убедитесь, что:",[1529,1530,1531,1537,1544,1555],"ol",{},[35,1532,1533,1534,1536],{},"Установлен и работоспособен ",[38,1535,222],{}," (версия 1.20 или выше).",[35,1538,1539,1540,1543],{},"У вас уже есть доступ как минимум к одному Kubernetes-кластеру (т.е. в ",[55,1541,1542],{},"~/.kube/config"," уже есть хотя бы один рабочий контекст).",[35,1545,1546,1547,1550,1551,1554],{},"Вы обладаете необходимыми правами для доступа к кластерам (обычно через ",[55,1548,1549],{},"kubeconfig","-файл или ",[55,1552,1553],{},"aws eks"," и т.п.).",[35,1556,1557,1558,1561],{},"Вы работаете в ",[38,1559,1560],{},"Linux","-окружении (Ubuntu, CentOS, Fedora и др.) сbash-совместимой оболочкой.",[16,1563,83],{"id":82},[85,1565,1567],{"id":1566},"шаг-1-проверьте-текущую-конфигурацию","Шаг 1: Проверьте текущую конфигурацию",[21,1569,1570],{},"Сначала узнайте, что уже есть в вашей конфигурации.",[98,1572,1574],{"className":100,"code":1573,"language":102,"meta":103,"style":103},"# Показать все контексты из текущего kubeconfig\nkubectl config get-contexts\n",[55,1575,1576,1581],{"__ignoreMap":103},[107,1577,1578],{"class":109,"line":110},[107,1579,1580],{"class":348},"# Показать все контексты из текущего kubeconfig\n",[107,1582,1583,1585,1587],{"class":109,"line":274},[107,1584,222],{"class":113},[107,1586,953],{"class":120},[107,1588,1589],{"class":120}," get-contexts\n",[21,1591,1592],{},"Вывод будет похож на таблицу:",[98,1594,1597],{"className":1595,"code":1596,"language":380},[378],"CURRENT   NAME                      CLUSTER                   AUTHINFO                  NAMESPACE\n*         my-prod-cluster           prod-cluster.example.com  prod-user                 default\n          my-dev-cluster            dev-cluster.example.com   dev-user                  staging\n",[55,1598,1596],{"__ignoreMap":103},[21,1600,1601,1602,1605,1606,1609],{},"Звёздочка (",[55,1603,1604],{},"*",") в колонке ",[55,1607,1608],{},"CURRENT"," указывает на активный в данный момент контекст.",[21,1611,1612,1613,440],{},"Также полезно посмотреть ",[38,1614,1615],{},"полный файл конфигурации",[98,1617,1619],{"className":100,"code":1618,"language":102,"meta":103,"style":103},"kubectl config view\n",[55,1620,1621],{"__ignoreMap":103},[107,1622,1623,1625,1627],{"class":109,"line":110},[107,1624,222],{"class":113},[107,1626,953],{"class":120},[107,1628,1629],{"class":120}," view\n",[21,1631,1632],{},"Этот вывод в формате YAML покажет все кластеры, пользователей (credentials) и контексты.",[85,1634,1636],{"id":1635},"шаг-2-создайте-новый-контекст","Шаг 2: Создайте новый контекст",[21,1638,1639],{},"Предположим, у вас уже есть:",[32,1641,1642,1649],{},[35,1643,1644,1645,1648],{},"Кластер с именем ",[55,1646,1647],{},"staging-cluster"," (уже добавлен в config).",[35,1650,1651,1652,1655],{},"Пользователь (auth info) с именем ",[55,1653,1654],{},"admin-staging"," (уже добавлен).",[21,1657,1658,1659,1662,1663,440],{},"Теперь создадим контекст ",[55,1660,1661],{},"staging-admin",", который по умолчанию будет использовать пространство имён ",[55,1664,1665],{},"monitoring",[98,1667,1669],{"className":100,"code":1668,"language":102,"meta":103,"style":103},"kubectl config set-context staging-admin \\\n  --cluster=staging-cluster \\\n  --user=admin-staging \\\n  --namespace=monitoring\n",[55,1670,1671,1686,1693,1700],{"__ignoreMap":103},[107,1672,1673,1675,1677,1680,1683],{"class":109,"line":110},[107,1674,222],{"class":113},[107,1676,953],{"class":120},[107,1678,1679],{"class":120}," set-context",[107,1681,1682],{"class":120}," staging-admin",[107,1684,1685],{"class":116}," \\\n",[107,1687,1688,1691],{"class":109,"line":274},[107,1689,1690],{"class":116},"  --cluster=staging-cluster",[107,1692,1685],{"class":116},[107,1694,1695,1698],{"class":109,"line":566},[107,1696,1697],{"class":116},"  --user=admin-staging",[107,1699,1685],{"class":116},[107,1701,1702],{"class":109,"line":865},[107,1703,1704],{"class":116},"  --namespace=monitoring\n",[21,1706,1707],{},[38,1708,1709],{},"Что делает эта команда:",[32,1711,1712,1718,1723,1735],{},[35,1713,1714,1717],{},[55,1715,1716],{},"set-context"," — операция создания/обновления контекста.",[35,1719,1720,1722],{},[55,1721,1661],{}," — имя нового контекста.",[35,1724,1725,1728,1729,1732,1733,69],{},[55,1726,1727],{},"--cluster",", ",[55,1730,1731],{},"--user"," — ссылаются на уже существующие записи в ",[55,1734,1549],{},[35,1736,1737,1740],{},[55,1738,1739],{},"--namespace"," — устанавливает пространство имён по умолчанию для этого контекста (необязательный параметр).",[1742,1743,1744],"blockquote",{},[21,1745,1746,1747,1750,1751,1753,1754,69],{},"💡 ",[38,1748,1749],{},"Совет",": Если вы хотите, чтобы контекст не имел пространства имён по умолчанию, просто не используйте флаг ",[55,1752,1739],{},". Тогда будет использоваться ",[55,1755,1756],{},"default",[85,1758,1760],{"id":1759},"шаг-3-переключитесь-на-новый-контекст","Шаг 3: Переключитесь на новый контекст",[21,1762,1763],{},"Теперь сделайте только что созданный контекст активным:",[98,1765,1767],{"className":100,"code":1766,"language":102,"meta":103,"style":103},"kubectl config use-context staging-admin\n",[55,1768,1769],{"__ignoreMap":103},[107,1770,1771,1773,1775,1778],{"class":109,"line":110},[107,1772,222],{"class":113},[107,1774,953],{"class":120},[107,1776,1777],{"class":120}," use-context",[107,1779,1780],{"class":120}," staging-admin\n",[21,1782,1783,1784,1786,1787,1790,1791,1793,1794,1796,1797,69],{},"После этого все последующие команды ",[55,1785,222],{}," (например, ",[55,1788,1789],{},"kubectl get pods",") будут выполняться против кластера ",[55,1792,1647],{}," с пользователем ",[55,1795,1654],{}," и в namespace ",[55,1798,1665],{},[85,1800,1802],{"id":1801},"шаг-4-проверьте-результат","Шаг 4: Проверьте результат",[1529,1804,1805],{},[35,1806,1807],{},"Убедитесь, что контекст изменился:",[98,1809,1811],{"className":100,"code":1810,"language":102,"meta":103,"style":103},"kubectl config current-context\n",[55,1812,1813],{"__ignoreMap":103},[107,1814,1815,1817,1819],{"class":109,"line":110},[107,1816,222],{"class":113},[107,1818,953],{"class":120},[107,1820,1821],{"class":120}," current-context\n",[21,1823,1824,1825],{},"Вывод должен быть: ",[55,1826,1661],{},[1529,1828,1829],{"start":274},[35,1830,1831],{},"Сделайте тестовый запрос к API кластера:",[98,1833,1834],{"className":100,"code":398,"language":102,"meta":103,"style":103},[55,1835,1836],{"__ignoreMap":103},[107,1837,1838,1840,1842],{"class":109,"line":110},[107,1839,222],{"class":113},[107,1841,407],{"class":120},[107,1843,410],{"class":120},[21,1845,1846,1847,1849],{},"Если вы видите список нод вашего ",[55,1848,1647],{}," — контекст работает корректно.",[1529,1851,1852],{"start":566},[35,1853,1854],{},"Проверьте, что пространство имён по умолчанию установлено:",[98,1856,1858],{"className":100,"code":1857,"language":102,"meta":103,"style":103},"kubectl get pods\n",[55,1859,1860],{"__ignoreMap":103},[107,1861,1862,1864,1866],{"class":109,"line":110},[107,1863,222],{"class":113},[107,1865,407],{"class":120},[107,1867,1868],{"class":120}," pods\n",[21,1870,1871,1872,1875,1876,1878],{},"Команда покажет поды ",[38,1873,1874],{},"только"," из namespace ",[55,1877,1665],{}," (если они там есть).",[85,1880,1882],{"id":1881},"шаг-5-опционально-удалите-ненужный-контекст","Шаг 5: (Опционально) Удалите ненужный контекст",[21,1884,1885],{},"Если контекст больше не нужен, удалите его из конфигурации:",[98,1887,1889],{"className":100,"code":1888,"language":102,"meta":103,"style":103},"kubectl config delete-context staging-admin\n",[55,1890,1891],{"__ignoreMap":103},[107,1892,1893,1895,1897,1900],{"class":109,"line":110},[107,1894,222],{"class":113},[107,1896,953],{"class":120},[107,1898,1899],{"class":120}," delete-context",[107,1901,1780],{"class":120},[1742,1903,1904],{},[21,1905,1906,1907,1910,1911,1914,1915,1918,1919,1922,1923,1925],{},"⚠️ ",[38,1908,1909],{},"Важно",": Эта команда удаляет только запись о контексте, но ",[38,1912,1913],{},"не удаляет"," сами записи о кластере (",[55,1916,1917],{},"clusters.staging-cluster",") и пользователе (",[55,1920,1921],{},"users.admin-staging",") из файла ",[55,1924,1549],{},". Они останутся и могут использоваться в других контекстах.",[16,1927,392],{"id":391},[21,1929,1930],{},"Критерии успешной настройки:",[1529,1932,1933,1939,1946,1952],{},[35,1934,1935,1938],{},[55,1936,1937],{},"kubectl config current-context"," возвращает имя вашего нового контекста.",[35,1940,1941,1942,1945],{},"Команды ",[55,1943,1944],{},"kubectl get ..."," взаимодействуют с правильным кластером.",[35,1947,1948,1949,1951],{},"(Если задан namespace) ",[55,1950,1789],{}," показывает ресурсы только в указанном пространстве имён.",[35,1953,1954,1955,1957,1958,1961],{},"Файл ",[55,1956,1542],{}," содержит новую секцию ",[55,1959,1960],{},"contexts:"," с вашими параметрами.",[16,1963,424],{"id":423},[85,1965,1967,1968],{"id":1966},"ошибка-error-no-context-exists-with-name","Ошибка: ",[55,1969,1970],{},"error: no context exists with name ...",[21,1972,1973,1975,1976,1978,1979,1982],{},[38,1974,433],{},": Контекст с таким именем не найден в конфигурации.\n",[38,1977,439],{},": Проверьте имя через ",[55,1980,1981],{},"kubectl config get-contexts"," и используйте точное написание.",[85,1984,1967,1986],{"id":1985},"ошибка-unable-to-connect-to-the-server-dial-tcp-io-timeout",[55,1987,1988],{},"Unable to connect to the server: dial tcp ...: i/o timeout",[21,1990,1991,1993,1994,1996,1997,1999,2000,2003],{},[38,1992,433],{},": Контекст указывает на неверный кластер или кластер недоступен.\n",[38,1995,439],{},": Проверьте, что в ",[55,1998,1727],{}," указано правильное имя кластера из ",[55,2001,2002],{},"kubectl config get-clusters",". Убедитесь, что у вас есть сетевой доступ к API-серверу кластера.",[85,2005,1967,2007],{"id":2006},"ошибка-you-must-be-logged-in-to-the-server-unauthorized",[55,2008,2009],{},"You must be logged in to the server (Unauthorized)",[21,2011,2012,2014,2015,2017,2018,2020,2021,2023,2024,2027],{},[38,2013,433],{},": Контекст использует пользователя (auth info), у которого нет прав или отсутствуют корректные credentials.\n",[38,2016,439],{},": Проверьте, что пользователь (",[55,2019,1731],{},") существует в конфиге и что для него заданы правильные токены/certificates. Возможно, нужно обновить ",[55,2022,1549],{}," через ",[55,2025,2026],{},"aws eks update-kubeconfig"," или аналогичный инструмент.",[85,2029,2031],{"id":2030},"контекст-переключился-но-команды-всё-равно-идут-на-старый-кластер","Контекст переключился, но команды всё равно идут на старый кластер",[21,2033,2034,2036,2037,2040,2041,2044,2045,2047],{},[38,2035,433],{},": В команде явно указан флаг ",[55,2038,2039],{},"--context"," или переменная окружения ",[55,2042,2043],{},"KUBECONTEXT",".\n",[38,2046,439],{},": Убедитесь, что вы не переопределяете контекст в самой команде или в алиасах/скриптах.",[387,2049],{},[85,2051,2053],{"id":2052},"пространство-имён-по-умолчанию-не-применяется","Пространство имён по умолчанию не применяется",[21,2055,2056,2058,2059,2061,2062,2044,2064,2066,2067,69],{},[38,2057,433],{},": Контекст был создан без флага ",[55,2060,1739],{},", или в команде явно указан ",[55,2063,1739],{},[38,2065,439],{},": Пересоздайте контекст с нужным namespace или явно указывайте namespace в каждой команде: ",[55,2068,2069],{},"kubectl get pods -n monitoring",[16,2071,2073],{"id":2072},"дополнительные-возможности","Дополнительные возможности",[85,2075,2077],{"id":2076},"использование-нескольких-файлов-kubeconfig","Использование нескольких файлов kubeconfig",[21,2079,2080],{},"Вы можете объединять конфигурации из разных файлов:",[98,2082,2084],{"className":100,"code":2083,"language":102,"meta":103,"style":103},"export KUBECONFIG=~/.kube/config:~/.kube/eks-config\nkubectl config view --flatten > merged-config\n",[55,2085,2086,2105],{"__ignoreMap":103},[107,2087,2088,2090,2093,2096,2099,2102],{"class":109,"line":110},[107,2089,308],{"class":307},[107,2091,2092],{"class":124}," KUBECONFIG",[107,2094,2095],{"class":307},"=~",[107,2097,2098],{"class":124},"/.kube/config:",[107,2100,2101],{"class":307},"~",[107,2103,2104],{"class":124},"/.kube/eks-config\n",[107,2106,2107,2109,2111,2114,2117,2120],{"class":109,"line":274},[107,2108,222],{"class":113},[107,2110,953],{"class":120},[107,2112,2113],{"class":120}," view",[107,2115,2116],{"class":116}," --flatten",[107,2118,2119],{"class":307}," >",[107,2121,2122],{"class":120}," merged-config\n",[21,2124,2125],{},"Это удобно, если у вас отдельные конфиги для EKS, GKE и on-premise кластеров.",[85,2127,2129],{"id":2128},"установка-контекста-для-конкретного-namespace-без-создания-нового-контекста","Установка контекста для конкретного namespace без создания нового контекста",[21,2131,2132],{},"Если вам нужно разово выполнить команду в другом namespace, не меняя контекст, используйте:",[98,2134,2136],{"className":100,"code":2135,"language":102,"meta":103,"style":103},"kubectl get pods -n \u003Cnamespace>\n",[55,2137,2138],{"__ignoreMap":103},[107,2139,2140,2142,2144,2146,2149,2152,2155,2158],{"class":109,"line":110},[107,2141,222],{"class":113},[107,2143,407],{"class":120},[107,2145,1345],{"class":120},[107,2147,2148],{"class":116}," -n",[107,2150,2151],{"class":307}," \u003C",[107,2153,2154],{"class":120},"namespac",[107,2156,2157],{"class":124},"e",[107,2159,2160],{"class":307},">\n",[21,2162,2163,2164,69],{},"Но для частого переключения между разными проектами в одном кластере всё же удобнее создать отдельные контексты с разными ",[55,2165,1739],{},[556,2167,2168],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":103,"searchDepth":274,"depth":274,"links":2170},[2171,2172,2173,2180,2181,2191],{"id":18,"depth":274,"text":19},{"id":26,"depth":274,"text":27},{"id":82,"depth":274,"text":83,"children":2174},[2175,2176,2177,2178,2179],{"id":1566,"depth":566,"text":1567},{"id":1635,"depth":566,"text":1636},{"id":1759,"depth":566,"text":1760},{"id":1801,"depth":566,"text":1802},{"id":1881,"depth":566,"text":1882},{"id":391,"depth":274,"text":392},{"id":423,"depth":274,"text":424,"children":2182},[2183,2185,2187,2189,2190],{"id":1966,"depth":566,"text":2184},"Ошибка: error: no context exists with name ...",{"id":1985,"depth":566,"text":2186},"Ошибка: Unable to connect to the server: dial tcp ...: i/o timeout",{"id":2006,"depth":566,"text":2188},"Ошибка: You must be logged in to the server (Unauthorized)",{"id":2030,"depth":566,"text":2031},{"id":2052,"depth":566,"text":2053},{"id":2072,"depth":274,"text":2073,"children":2192},[2193,2194],{"id":2076,"depth":566,"text":2077},{"id":2128,"depth":566,"text":2129},"2026-02-16 10:33:08","Узнайте, как создавать, переключать и управлять контекстами kubectl для работы с несколькими Kubernetes-кластерами. Пошаговая инструкция с примерами команд.","10-15 мин",[2199,2202,2205,2208],{"question":2200,"answer":2201},"Что такое контекст в kubectl и зачем он нужен?","Контекст — это набор параметров (кластер, пользователь, пространство имён), который позволяет быстро переключаться между разными окружениями Kubernetes без повторного ввода команд.",{"question":2203,"answer":2204},"Как посмотреть все доступные контексты?","Выполните команду `kubectl config get-contexts`. Она покажет список всех контекстов из вашего файла `kubeconfig` и отметит текущий активный.",{"question":2206,"answer":2207},"Где хранится файл конфигурации kubectl (kubeconfig)?","По умолчанию — в `~/.kube/config`. Вы можете задать другой путь через переменную окружения `KUBECONFIG` или флаг `--kubeconfig`.",{"question":2209,"answer":2210},"Как временно переключиться на другой контекст без изменения файла config?","Используйте флаг `--context` в команде, например: `kubectl get pods --context=my-dev-cluster`. Это не меняет текущий контекст по умолчанию.",[2212,2215,2218,2221],{"name":2213,"text":2214},"Проверьте текущую конфигурацию","Узнайте, какой контекст активен сейчас и какие контексты уже доступны в вашем файле `kubeconfig`.",{"name":2216,"text":2217},"Создайте новый контекст","Скомбинируйте существующие кластер и пользователь в новый контекст с понятным именем.",{"name":2219,"text":2220},"Переключитесь на новый контекст","Сделайте созданный контекст активным по умолчанию для всех последующих команд kubectl.",{"name":2222,"text":2223},"Убедитесь в работоспособности","Выполните простой запрос к кластеру, чтобы проверить, что контекст настроен правильно.","PT15M",[2226,2227,2228,2229,2230,2231,2232,2233],"kubectl config set-context","переключение контекста kubectl","kubeconfig файл linux","как создать контекст kubectl","управление несколькими кластерами kubectl","kubectl use-context пример","kubectl get-contexts","конфигурация kubectl linux",{},[2236,2237,631],"/guides/linux/install-kubectl-linux","/guides/linux/kubectl-commands-cheatsheet","Гайды Kubernetes",{"title":1489,"description":2196},"guides/linux/configure-kubectl-context","Это руководство поможет вам настроить и использовать контексты kubectl в Linux, чтобы легко переключаться между разными Kubernetes-кластерами, пользователями и пространствами имён.",[637,222,2243,1484,2244,2245,627],"конфигурация","context","cluster","syFO4qYULEFBJLdxMYii-lqdZbRz7_uoNDqGzKmxj8E",{"id":2248,"title":2249,"appliesTo":2250,"author":11,"body":2252,"canonical":578,"code":2287,"createdAt":2903,"description":2904,"difficulty":1434,"draft":582,"estimatedTime":2197,"extension":584,"faq":2905,"howToSteps":2918,"howToTotalTime":2224,"image":578,"keywords":2934,"locale":623,"meta":2945,"navigation":625,"path":631,"platform":627,"related":2946,"section":2948,"seo":2949,"severity":2950,"stem":2951,"summary":2952,"tags":2953,"twitterCreator":578,"twitterSite":578,"type":2958,"updatedAt":2903,"__hash__":2959},"content_ru/errors/linux/kubectl-command-not-found.md","Решение ошибки 'kubectl command not found' на Linux",[1493,8,9,2251],"Fedora 35+",{"type":13,"value":2253,"toc":2893},[2254,2258,2282,2289,2293,2354,2358,2362,2368,2373,2412,2416,2437,2441,2462,2466,2472,2558,2562,2569,2775,2779,2792,2833,2837,2891],[16,2255,2257],{"id":2256},"что-означает-ошибка-kubectl-command-not-found","Что означает ошибка 'kubectl: command not found'",[21,2259,2260,2261,2264,2265,2268,2269,2271,2272,2275,2276,2278,2279,2281],{},"Ошибка ",[38,2262,2263],{},"'kubectl: command not found'"," (или ",[38,2266,2267],{},"'bash: kubectl: command not found'",") возникает в терминале Linux, когда система не может найти исполняемый файл команды ",[55,2270,222],{}," в директориях, перечисленных в переменной окружения ",[55,2273,2274],{},"PATH",". Это означает, что либо ",[55,2277,222],{}," не установлен на вашей системе, либо он установлен, но его путь не добавлен в ",[55,2280,2274],{},", либо путь указан некорректно.",[21,2283,2284,2285,2288],{},"Ошибка обычно сопровождается кодом выхода ",[38,2286,2287],{},"127"," (в bash), что указывает на то, что команда не найдена.",[16,2290,2292],{"id":2291},"причины-возникновения","Причины возникновения",[1529,2294,2295,2304,2322,2334,2348],{},[35,2296,2297,2300,2301,2303],{},[38,2298,2299],{},"Kubectl не установлен",". Вы пытаетесь использовать ",[55,2302,222],{}," без предварительной установки клиента Kubernetes.",[35,2305,2306,2309,2310,2312,2313,58,2316,2319,2320,69],{},[38,2307,2308],{},"Kubectl установлен, но не в PATH",". Возможно, вы установили ",[55,2311,222],{}," в кастомную директорию (например, ",[55,2314,2315],{},"~/bin",[55,2317,2318],{},"/opt/kubectl","), но эта директория не включена в переменную ",[55,2321,2274],{},[35,2323,2324,2327,2328,2330,2331,2333],{},[38,2325,2326],{},"Неправильный путь в PATH",". В ",[55,2329,2274],{}," указан неверный путь к исполняемому файлу ",[55,2332,222],{},", например, из-за опечатки или изменения расположения файла.",[35,2335,2336,2339,2340,2342,2343,2345,2346,69],{},[38,2337,2338],{},"Проблемы с оболочкой",". Используется оболочка, которая не загружает конфигурационные файлы (например, ",[55,2341,292],{},"), где добавлен ",[55,2344,222],{}," в ",[55,2347,2274],{},[35,2349,2350,2353],{},[38,2351,2352],{},"Повреждение установки",". Kubectl установлен, но исполняемый файл отсутствует или поврежден.",[16,2355,2357],{"id":2356},"способы-решения","Способы решения",[85,2359,2361],{"id":2360},"способ-1-установка-kubectl","Способ 1: Установка kubectl",[21,2363,2364,2365,2367],{},"Если ",[55,2366,222],{}," не установлен, необходимо его установить. Существует несколько способов установки в зависимости от дистрибутива Linux.",[2369,2370,2372],"h4",{"id":2371},"для-ubuntudebian","Для Ubuntu/Debian:",[98,2374,2376],{"className":100,"code":2375,"language":102,"meta":103,"style":103},"# Обновление индекса пакетов\nsudo apt-get update\n\n# Установка kubectl\nsudo apt-get install kubectl\n",[55,2377,2378,2383,2392,2397,2402],{"__ignoreMap":103},[107,2379,2380],{"class":109,"line":110},[107,2381,2382],{"class":348},"# Обновление индекса пакетов\n",[107,2384,2385,2387,2390],{"class":109,"line":274},[107,2386,238],{"class":113},[107,2388,2389],{"class":120}," apt-get",[107,2391,911],{"class":120},[107,2393,2394],{"class":109,"line":566},[107,2395,2396],{"emptyLinePlaceholder":625},"\n",[107,2398,2399],{"class":109,"line":865},[107,2400,2401],{"class":348},"# Установка kubectl\n",[107,2403,2404,2406,2408,2410],{"class":109,"line":871},[107,2405,238],{"class":113},[107,2407,2389],{"class":120},[107,2409,920],{"class":120},[107,2411,212],{"class":120},[2369,2413,2415],{"id":2414},"для-centosrhel","Для CentOS/RHEL:",[98,2417,2419],{"className":100,"code":2418,"language":102,"meta":103,"style":103},"# Установка kubectl через yum\nsudo yum install kubectl\n",[55,2420,2421,2426],{"__ignoreMap":103},[107,2422,2423],{"class":109,"line":110},[107,2424,2425],{"class":348},"# Установка kubectl через yum\n",[107,2427,2428,2430,2433,2435],{"class":109,"line":274},[107,2429,238],{"class":113},[107,2431,2432],{"class":120}," yum",[107,2434,920],{"class":120},[107,2436,212],{"class":120},[2369,2438,2440],{"id":2439},"для-fedora","Для Fedora:",[98,2442,2444],{"className":100,"code":2443,"language":102,"meta":103,"style":103},"# Установка kubectl через dnf\nsudo dnf install kubectl\n",[55,2445,2446,2451],{"__ignoreMap":103},[107,2447,2448],{"class":109,"line":110},[107,2449,2450],{"class":348},"# Установка kubectl через dnf\n",[107,2452,2453,2455,2458,2460],{"class":109,"line":274},[107,2454,238],{"class":113},[107,2456,2457],{"class":120}," dnf",[107,2459,920],{"class":120},[107,2461,212],{"class":120},[2369,2463,2465],{"id":2464},"альтернативная-установка-через-официальный-репозиторий-kubernetes","Альтернативная установка через официальный репозиторий Kubernetes:",[21,2467,2468,2469,2471],{},"Вы можете установить ",[55,2470,222],{}," напрямую с сайта Kubernetes, что гарантирует последнюю версию:",[98,2473,2475],{"className":100,"code":2474,"language":102,"meta":103,"style":103},"# Скачивание последней стабильной версии (пример для amd64)\ncurl -LO \"https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n\n# Добавление прав на выполнение\nchmod +x kubectl\n\n# Перемещение в директорию в PATH (например, /usr/local/bin)\nsudo mv kubectl /usr/local/bin/\n\n# Проверка установки\nkubectl version --client\n",[55,2476,2477,2482,2500,2504,2509,2517,2521,2527,2538,2543,2549],{"__ignoreMap":103},[107,2478,2479],{"class":109,"line":110},[107,2480,2481],{"class":348},"# Скачивание последней стабильной версии (пример для amd64)\n",[107,2483,2484,2486,2488,2491,2493,2495,2497],{"class":109,"line":274},[107,2485,57],{"class":113},[107,2487,117],{"class":116},[107,2489,2490],{"class":120}," \"https://dl.k8s.io/release/$(",[107,2492,57],{"class":113},[107,2494,130],{"class":116},[107,2496,133],{"class":116},[107,2498,2499],{"class":120}," https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n",[107,2501,2502],{"class":109,"line":566},[107,2503,2396],{"emptyLinePlaceholder":625},[107,2505,2506],{"class":109,"line":865},[107,2507,2508],{"class":348},"# Добавление прав на выполнение\n",[107,2510,2511,2513,2515],{"class":109,"line":871},[107,2512,206],{"class":113},[107,2514,209],{"class":120},[107,2516,212],{"class":120},[107,2518,2519],{"class":109,"line":877},[107,2520,2396],{"emptyLinePlaceholder":625},[107,2522,2524],{"class":109,"line":2523},7,[107,2525,2526],{"class":348},"# Перемещение в директорию в PATH (например, /usr/local/bin)\n",[107,2528,2530,2532,2534,2536],{"class":109,"line":2529},8,[107,2531,238],{"class":113},[107,2533,241],{"class":120},[107,2535,244],{"class":120},[107,2537,247],{"class":120},[107,2539,2541],{"class":109,"line":2540},9,[107,2542,2396],{"emptyLinePlaceholder":625},[107,2544,2546],{"class":109,"line":2545},10,[107,2547,2548],{"class":348},"# Проверка установки\n",[107,2550,2552,2554,2556],{"class":109,"line":2551},11,[107,2553,222],{"class":113},[107,2555,368],{"class":120},[107,2557,371],{"class":116},[85,2559,2561],{"id":2560},"способ-2-настройка-переменной-path","Способ 2: Настройка переменной PATH",[21,2563,2364,2564,2566,2567,69],{},[55,2565,222],{}," уже установлен, но команда не найдена, возможно, путь к исполняемому файлу не добавлен в ",[55,2568,2274],{},[1529,2570,2571,2622,2651,2710,2747],{},[35,2572,2573,440,2578],{},[38,2574,2575,2576],{},"Найдите расположение ",[55,2577,222],{},[98,2579,2581],{"className":100,"code":2580,"language":102,"meta":103,"style":103},"# Поиск в стандартных директориях\nsudo find / -name kubectl 2>/dev/null\n# Или если знаете примерный путь\nls /usr/local/bin/kubectl\n",[55,2582,2583,2588,2609,2614],{"__ignoreMap":103},[107,2584,2585],{"class":109,"line":110},[107,2586,2587],{"class":348},"# Поиск в стандартных директориях\n",[107,2589,2590,2592,2595,2598,2601,2603,2606],{"class":109,"line":274},[107,2591,238],{"class":113},[107,2593,2594],{"class":120}," find",[107,2596,2597],{"class":120}," /",[107,2599,2600],{"class":116}," -name",[107,2602,244],{"class":120},[107,2604,2605],{"class":307}," 2>",[107,2607,2608],{"class":120},"/dev/null\n",[107,2610,2611],{"class":109,"line":566},[107,2612,2613],{"class":348},"# Или если знаете примерный путь\n",[107,2615,2616,2619],{"class":109,"line":865},[107,2617,2618],{"class":113},"ls",[107,2620,2621],{"class":120}," /usr/local/bin/kubectl\n",[35,2623,2624,440,2629,2641,2644,2645,1786,2647,2650],{},[38,2625,2626,2627],{},"Проверьте текущий ",[55,2628,2274],{},[98,2630,2632],{"className":100,"code":2631,"language":102,"meta":103,"style":103},"echo $PATH\n",[55,2633,2634],{"__ignoreMap":103},[107,2635,2636,2638],{"class":109,"line":110},[107,2637,1080],{"class":116},[107,2639,2640],{"class":124}," $PATH\n",[2642,2643],"br",{},"Убедитесь, что директория, содержащая ",[55,2646,222],{},[55,2648,2649],{},"/usr/local/bin","), присутствует в выводе.",[35,2652,2653,2659,2660,2662,2663,2665,2666,2682,2684,2685,2687,2688,2690,2691,2693,2694],{},[38,2654,2655,2656,2658],{},"Если директории нет в ",[55,2657,2274],{},", добавьте её",":\nОткройте файл ",[55,2661,292],{}," (для bash) или ",[55,2664,296],{}," (для zsh) в текстовом редакторе и добавьте строку:",[98,2667,2669],{"className":100,"code":2668,"language":102,"meta":103,"style":103},"export PATH=$PATH:/путь/к/директории\n",[55,2670,2671],{"__ignoreMap":103},[107,2672,2673,2675,2677,2679],{"class":109,"line":110},[107,2674,308],{"class":307},[107,2676,311],{"class":124},[107,2678,314],{"class":307},[107,2680,2681],{"class":124},"$PATH:/путь/к/директории\n",[2642,2683],{},"Например, если ",[55,2686,222],{}," находится в ",[55,2689,2649],{}," (что обычно так), и этой директории нет в ",[55,2692,2274],{},", добавьте:",[98,2695,2697],{"className":100,"code":2696,"language":102,"meta":103,"style":103},"export PATH=$PATH:/usr/local/bin\n",[55,2698,2699],{"__ignoreMap":103},[107,2700,2701,2703,2705,2707],{"class":109,"line":110},[107,2702,308],{"class":307},[107,2704,311],{"class":124},[107,2706,314],{"class":307},[107,2708,2709],{"class":124},"$PATH:/usr/local/bin\n",[35,2711,2712,440,2715,2744,2746],{},[38,2713,2714],{},"Примените изменения",[98,2716,2718],{"className":100,"code":2717,"language":102,"meta":103,"style":103},"source ~/.bashrc   # для bash\n# или\nsource ~/.zshrc    # для zsh\n",[55,2719,2720,2729,2734],{"__ignoreMap":103},[107,2721,2722,2724,2726],{"class":109,"line":110},[107,2723,342],{"class":116},[107,2725,345],{"class":120},[107,2727,2728],{"class":348},"   # для bash\n",[107,2730,2731],{"class":109,"line":274},[107,2732,2733],{"class":348},"# или\n",[107,2735,2736,2738,2741],{"class":109,"line":566},[107,2737,342],{"class":116},[107,2739,2740],{"class":120}," ~/.zshrc",[107,2742,2743],{"class":348},"    # для zsh\n",[2642,2745],{},"Или просто перезапустите терминал.",[35,2748,2749,440,2755],{},[38,2750,2751,2752,2754],{},"Проверьте, что ",[55,2753,222],{}," теперь доступен",[98,2756,2758],{"className":100,"code":2757,"language":102,"meta":103,"style":103},"which kubectl\nkubectl version --client\n",[55,2759,2760,2767],{"__ignoreMap":103},[107,2761,2762,2765],{"class":109,"line":110},[107,2763,2764],{"class":116},"which",[107,2766,212],{"class":120},[107,2768,2769,2771,2773],{"class":109,"line":274},[107,2770,222],{"class":113},[107,2772,368],{"class":120},[107,2774,371],{"class":116},[85,2776,2778],{"id":2777},"способ-3-создание-символьной-ссылки","Способ 3: Создание символьной ссылки",[21,2780,2364,2781,2783,2784,2786,2787,1786,2789,2791],{},[55,2782,222],{}," установлен в нестандартную директорию, и вы не хотите менять ",[55,2785,2274],{},", можно создать символьную ссылку в директории, которая уже в ",[55,2788,2274],{},[55,2790,2649],{},"):",[98,2793,2795],{"className":100,"code":2794,"language":102,"meta":103,"style":103},"# Предположим, kubectl находится в /opt/kubectl/bin/kubectl\nsudo ln -s /opt/kubectl/bin/kubectl /usr/local/bin/kubectl\n\n# Проверка\nkubectl version --client\n",[55,2796,2797,2802,2816,2820,2825],{"__ignoreMap":103},[107,2798,2799],{"class":109,"line":110},[107,2800,2801],{"class":348},"# Предположим, kubectl находится в /opt/kubectl/bin/kubectl\n",[107,2803,2804,2806,2809,2811,2814],{"class":109,"line":274},[107,2805,238],{"class":113},[107,2807,2808],{"class":120}," ln",[107,2810,133],{"class":116},[107,2812,2813],{"class":120}," /opt/kubectl/bin/kubectl",[107,2815,2621],{"class":120},[107,2817,2818],{"class":109,"line":566},[107,2819,2396],{"emptyLinePlaceholder":625},[107,2821,2822],{"class":109,"line":865},[107,2823,2824],{"class":348},"# Проверка\n",[107,2826,2827,2829,2831],{"class":109,"line":871},[107,2828,222],{"class":113},[107,2830,368],{"class":120},[107,2832,371],{"class":116},[16,2834,2836],{"id":2835},"профилактика","Профилактика",[32,2838,2839,2850,2866,2880],{},[35,2840,2841,2847,2848,69],{},[38,2842,2843,2844,2846],{},"Устанавливайте ",[55,2845,222],{}," через официальные репозитории или менеджеры пакетов",", чтобы автоматически добавлять его в ",[55,2849,2274],{},[35,2851,2852,2858,2859,2862,2863,2865],{},[38,2853,2854,2855,2857],{},"Проверяйте ",[55,2856,2274],{}," после установки"," командой ",[55,2860,2861],{},"echo $PATH",", убедитесь, что директория с ",[55,2864,222],{}," включена.",[35,2867,2868,2871,2872,58,2874,2877,2878,69],{},[38,2869,2870],{},"Используйте стандартные пути"," для установки бинарных файлов, такие как ",[55,2873,2649],{},[55,2875,2876],{},"/usr/bin",", которые обычно уже в ",[55,2879,2274],{},[35,2881,2882,2887,2888,2890],{},[38,2883,2884,2885],{},"Если устанавливаете вручную, всегда добавляйте путь в ",[55,2886,2274],{}," в конфигурационном файле оболочки (например, ",[55,2889,292],{},").",[556,2892,2168],{},{"title":103,"searchDepth":274,"depth":274,"links":2894},[2895,2896,2897,2902],{"id":2256,"depth":274,"text":2257},{"id":2291,"depth":274,"text":2292},{"id":2356,"depth":274,"text":2357,"children":2898},[2899,2900,2901],{"id":2360,"depth":566,"text":2361},{"id":2560,"depth":566,"text":2561},{"id":2777,"depth":566,"text":2778},{"id":2835,"depth":274,"text":2836},"2026-02-14 23:48:28","Исправление ошибки 'kubectl: command not found' на Linux. Пошаговая инструкция по установке kubectl и настройке PATH. Решение за 5 минут для Ubuntu, CentOS, Debian и Fedora.",[2906,2909,2912,2915],{"answer":2907,"question":2908},"Ошибка означает, что система не может найти исполняемый файл kubectl в директориях, указанных в переменной PATH. Это происходит, если kubectl не установлен или PATH настроен некорректно.","Почему возникает ошибка 'kubectl: command not found'?",{"answer":2910,"question":2911},"Выполните команду `which kubectl` или `kubectl version --client`. Если kubectl установлен, команда вернет путь к исполняемому файлу или версию клиента.","Как проверить, установлен ли kubectl?",{"answer":2913,"question":2914},"Вероятно, путь к kubectl не добавлен в переменную PATH. Добавьте директорию с kubectl в PATH или создайте символьную ссылку в /usr/local/bin.","Что делать, если kubectl установлен, но команда не найдена?",{"answer":2916,"question":2917},"Отредактируйте файл ~/.bashrc или ~/.bash_profile, добавьте строку `export PATH=$PATH:/путь/к/kubectl`, затем выполните `source ~/.bashrc`.","Как добавить kubectl в PATH?",[2919,2922,2925,2928,2931],{"name":2920,"text":2921},"Проверка наличия kubectl","Выполните `which kubectl` в терминале. Если команда возвращает путь, kubectl установлен; если ничего не выводит или сообщение 'not found', kubectl отсутствует или не в PATH.",{"name":2923,"text":2924},"Установка kubectl","В зависимости от дистрибутива, используйте менеджер пакетов: для Ubuntu/Debian `sudo apt-get install kubectl`, для CentOS/RHEF `sudo yum install kubectl`, для Fedora `sudo dnf install kubectl`. Или установите вручную с официального сайта Kubernetes.",{"name":2926,"text":2927},"Настройка PATH","Если kubectl установлен, но не найден, найдите путь к исполняемому файлу (например, /usr/local/bin/kubectl) и убедитесь, что эта директория есть в PATH. Проверьте PATH командой `echo $PATH`.",{"name":2929,"text":2930},"Добавление в PATH","Если путь отсутствует, добавьте его в ~/.bashrc: `export PATH=$PATH:/usr/local/bin`, затем выполните `source ~/.bashrc` или перезапустите терминал.",{"name":2932,"text":2933},"Проверка работы","После установки и настройки PATH выполните `kubectl version --client` для проверки версии клиента. Должна отобразиться информация о версии.",[2935,2936,2937,2938,2939,2940,2941,2942,2943,2944],"kubectl command not found","ошибка kubectl не найдена","bash kubectl command not found","установка kubectl на Linux","настроить PATH для kubectl","kubectl ошибка 127","kubectl не работает в терминале","как добавить kubectl в PATH","установить kubectl Ubuntu","kubectl command not found exit code 127",{},[626,2947,630],"/errors/linux/kubectl-crashloopbackoff","Ошибки Linux",{"title":2249,"description":2904},"high","errors/linux/kubectl-command-not-found","Статья объясняет причины ошибки 'kubectl: command not found' и предлагает пошаговые инструкции по установке kubectl и настройке переменной PATH для различных дистрибутивов Linux.",[2954,222,637,102,2955,638,2956,2957],"ошибки linux","path","terminal","command not found","error","lNssNqXJA2rgc0VGPvoIQ33tTLOU7IQhydQROLiTHPE"]