[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/install-kubernetes-on-linux":3,"mdc-8ifv80-key":804,"mdc--3sbg16-key":815,"mdc-flvvb2-key":839,"mdc--6nnzfj-key":847,"mdc-a8yizt-key":862,"mdc--2xfx7b-key":870,"mdc--nacw7m-key":878,"mdc-suut3c-key":886,"mdc--t0t7rz-key":894,"related-/guides/linux/install-docker-on-linux,/guides/linux/setup-minikube-local,/guides/linux/configure-kubectl-cli":902},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":738,"code":738,"createdAt":739,"description":740,"difficulty":741,"draft":742,"estimatedTime":743,"extension":744,"faq":745,"howToSteps":758,"howToTotalTime":774,"image":738,"keywords":775,"locale":783,"meta":784,"navigation":785,"path":786,"platform":787,"related":788,"section":792,"seo":793,"severity":738,"stem":794,"summary":795,"tags":796,"twitterCreator":738,"twitterSite":738,"type":802,"updatedAt":739,"__hash__":803},"content_ru/guides/linux/install-kubernetes-on-linux.md","Установка Kubernetes на Linux: развёртывание кластера с нуля",[7,8,9],"Ubuntu 22.04 LTS / 24.04 LTS","Debian 12","Kubernetes v1.30+","FixPedia Team",{"type":12,"value":13,"toc":727},"minimark",[14,19,23,27,35,39,42,67,78,103,106,169,173,180,210,213,250,265,293,296,300,303,354,357,379,382,433,447,451,458,475,482,554,558,561,579,582,597,604,608,611,629,632,651,665,669,723],[15,16,18],"h2",{"id":17},"введение-зачем-это-нужно","Введение / Зачем это нужно",[20,21,22],"p",{},"Kubernetes стал де-факто стандартом для оркестрации контейнеров в производственной среде. Развернув его на Linux, вы получаете масштабируемую платформу, которая автоматически управляет жизненным циклом ваших приложений, балансирует нагрузку и восстанавливает сервисы при сбоях. Этот гайд поможет вам собрать стабильный кластер с помощью официальных пакетов kubeadm, минуя устаревшие обёртки и сложные скрипты.",[15,24,26],{"id":25},"требования-подготовка","Требования / Подготовка",[20,28,29,30,34],{},"Перед началом убедитесь, что у вас есть как минимум один сервер или виртуальная машина. Минимальные ресурсы — 2 CPU и 2 ГБ ОЗУ. Вам потребуется доступ по SSH с правами ",[31,32,33],"code",{},"sudo",", стабильное интернет-соединение для загрузки пакетов и открытые порты 6443, 80, 443, 10250–10252. Если вы планируете масштабировать кластер, подготовьте дополнительные узлы с теми же параметрами.",[15,36,38],{"id":37},"шаг-1-подготовка-системы-и-отключение-подкачки","Шаг 1: Подготовка системы и отключение подкачки",[20,40,41],{},"Kubernetes требует отключённого swap для корректного планирования ресурсов. Выполните команду:",[43,44,49],"pre",{"className":45,"code":46,"language":47,"meta":48,"style":48},"language-bash shiki shiki-themes github-light github-dark","sudo swapoff -a\n","bash","",[31,50,51],{"__ignoreMap":48},[52,53,56,59,63],"span",{"class":54,"line":55},"line",1,[52,57,33],{"class":58},"sScJk",[52,60,62],{"class":61},"sZZnC"," swapoff",[52,64,66],{"class":65},"sj4cs"," -a\n",[20,68,69,70,73,74,77],{},"Чтобы изменение сохранялось после перезагрузки, откройте ",[31,71,72],{},"/etc/fstab"," и закомментируйте строку, содержащую ",[31,75,76],{},"swap",". Также убедитесь, что модули ядра для сетевых фильтров загружены:",[43,79,81],{"className":45,"code":80,"language":47,"meta":48,"style":48},"sudo modprobe overlay\nsudo modprobe br_netfilter\n",[31,82,83,93],{"__ignoreMap":48},[52,84,85,87,90],{"class":54,"line":55},[52,86,33],{"class":58},[52,88,89],{"class":61}," modprobe",[52,91,92],{"class":61}," overlay\n",[52,94,96,98,100],{"class":54,"line":95},2,[52,97,33],{"class":58},[52,99,89],{"class":61},[52,101,102],{"class":61}," br_netfilter\n",[20,104,105],{},"Примените параметры ядра для проброса трафика между интерфейсами:",[43,107,109],{"className":45,"code":108,"language":47,"meta":48,"style":48},"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",[31,110,111,135,140,146,152,158],{"__ignoreMap":48},[52,112,113,116,120,123,126,129,132],{"class":54,"line":55},[52,114,115],{"class":58},"cat",[52,117,119],{"class":118},"szBVR"," \u003C\u003C",[52,121,122],{"class":61},"EOF",[52,124,125],{"class":118}," |",[52,127,128],{"class":58}," sudo",[52,130,131],{"class":61}," tee",[52,133,134],{"class":61}," /etc/sysctl.d/k8s.conf\n",[52,136,137],{"class":54,"line":95},[52,138,139],{"class":61},"net.bridge.bridge-nf-call-ip6tables = 1\n",[52,141,143],{"class":54,"line":142},3,[52,144,145],{"class":61},"net.bridge.bridge-nf-call-iptables = 1\n",[52,147,149],{"class":54,"line":148},4,[52,150,151],{"class":61},"net.ipv4.ip_forward = 1\n",[52,153,155],{"class":54,"line":154},5,[52,156,157],{"class":61},"EOF\n",[52,159,161,163,166],{"class":54,"line":160},6,[52,162,33],{"class":58},[52,164,165],{"class":61}," sysctl",[52,167,168],{"class":65}," --system\n",[15,170,172],{"id":171},"шаг-2-установка-и-настройка-container-runtime","Шаг 2: Установка и настройка Container Runtime",[20,174,175,176,179],{},"Для работы Kubernetes требуется среда выполнения контейнеров. Мы используем ",[31,177,178],{},"containerd"," как наиболее стабильный вариант, рекомендованный сообществом.",[43,181,183],{"className":45,"code":182,"language":47,"meta":48,"style":48},"sudo apt update\nsudo apt install -y containerd\n",[31,184,185,195],{"__ignoreMap":48},[52,186,187,189,192],{"class":54,"line":55},[52,188,33],{"class":58},[52,190,191],{"class":61}," apt",[52,193,194],{"class":61}," update\n",[52,196,197,199,201,204,207],{"class":54,"line":95},[52,198,33],{"class":58},[52,200,191],{"class":61},[52,202,203],{"class":61}," install",[52,205,206],{"class":65}," -y",[52,208,209],{"class":61}," containerd\n",[20,211,212],{},"Создайте конфигурационный файл по умолчанию:",[43,214,216],{"className":45,"code":215,"language":47,"meta":48,"style":48},"sudo mkdir -p /etc/containerd\ncontainerd config default | sudo tee /etc/containerd/config.toml\n",[31,217,218,231],{"__ignoreMap":48},[52,219,220,222,225,228],{"class":54,"line":55},[52,221,33],{"class":58},[52,223,224],{"class":61}," mkdir",[52,226,227],{"class":65}," -p",[52,229,230],{"class":61}," /etc/containerd\n",[52,232,233,235,238,241,243,245,247],{"class":54,"line":95},[52,234,178],{"class":58},[52,236,237],{"class":61}," config",[52,239,240],{"class":61}," default",[52,242,125],{"class":118},[52,244,128],{"class":58},[52,246,131],{"class":61},[52,248,249],{"class":61}," /etc/containerd/config.toml\n",[20,251,252,253,256,257,260,261,264],{},"Откройте файл ",[31,254,255],{},"/etc/containerd/config.toml",", найдите секцию ",[31,258,259],{},"[plugins.\"io.containerd.grpc.v1.cri\"]"," и установите ",[31,262,263],{},"SystemdCgroup = true",". Без этого kubelet не сможет корректно управлять cgroup. Перезапустите и включите службу:",[43,266,268],{"className":45,"code":267,"language":47,"meta":48,"style":48},"sudo systemctl restart containerd\nsudo systemctl enable containerd\n",[31,269,270,282],{"__ignoreMap":48},[52,271,272,274,277,280],{"class":54,"line":55},[52,273,33],{"class":58},[52,275,276],{"class":61}," systemctl",[52,278,279],{"class":61}," restart",[52,281,209],{"class":61},[52,283,284,286,288,291],{"class":54,"line":95},[52,285,33],{"class":58},[52,287,276],{"class":61},[52,289,290],{"class":61}," enable",[52,292,209],{"class":61},[294,295],"in-article-ad",{},[15,297,299],{"id":298},"шаг-3-добавление-репозитория-и-установка-компонентов-k8s","Шаг 3: Добавление репозитория и установка компонентов k8s",[20,301,302],{},"Установите утилиты для работы с HTTPS и добавьте официальный ключ Kubernetes:",[43,304,306],{"className":45,"code":305,"language":47,"meta":48,"style":48},"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",[31,307,308,327],{"__ignoreMap":48},[52,309,310,312,314,316,318,321,324],{"class":54,"line":55},[52,311,33],{"class":58},[52,313,191],{"class":61},[52,315,203],{"class":61},[52,317,206],{"class":65},[52,319,320],{"class":61}," apt-transport-https",[52,322,323],{"class":61}," ca-certificates",[52,325,326],{"class":61}," curl\n",[52,328,329,332,335,338,340,342,345,348,351],{"class":54,"line":95},[52,330,331],{"class":58},"curl",[52,333,334],{"class":65}," -fsSL",[52,336,337],{"class":61}," https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key",[52,339,125],{"class":118},[52,341,128],{"class":58},[52,343,344],{"class":61}," gpg",[52,346,347],{"class":65}," --dearmor",[52,349,350],{"class":65}," -o",[52,352,353],{"class":61}," /etc/apt/keyrings/kubernetes-apt-keyring.gpg\n",[20,355,356],{},"Добавьте репозиторий в список источников:",[43,358,360],{"className":45,"code":359,"language":47,"meta":48,"style":48},"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",[31,361,362],{"__ignoreMap":48},[52,363,364,367,370,372,374,376],{"class":54,"line":55},[52,365,366],{"class":65},"echo",[52,368,369],{"class":61}," 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /'",[52,371,125],{"class":118},[52,373,128],{"class":58},[52,375,131],{"class":61},[52,377,378],{"class":61}," /etc/apt/sources.list.d/kubernetes.list\n",[20,380,381],{},"Установите компоненты, зафиксировав версию, чтобы избежать автоматических обновлений, нарушающих работу кластера:",[43,383,385],{"className":45,"code":384,"language":47,"meta":48,"style":48},"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",[31,386,387,395,414],{"__ignoreMap":48},[52,388,389,391,393],{"class":54,"line":55},[52,390,33],{"class":58},[52,392,191],{"class":61},[52,394,194],{"class":61},[52,396,397,399,401,403,405,408,411],{"class":54,"line":95},[52,398,33],{"class":58},[52,400,191],{"class":61},[52,402,203],{"class":61},[52,404,206],{"class":65},[52,406,407],{"class":61}," kubelet=1.30.0-1.1",[52,409,410],{"class":61}," kubeadm=1.30.0-1.1",[52,412,413],{"class":61}," kubectl=1.30.0-1.1\n",[52,415,416,418,421,424,427,430],{"class":54,"line":142},[52,417,33],{"class":58},[52,419,420],{"class":61}," apt-mark",[52,422,423],{"class":61}," hold",[52,425,426],{"class":61}," kubelet",[52,428,429],{"class":61}," kubeadm",[52,431,432],{"class":61}," kubectl\n",[20,434,435,438,439,442,443,446],{},[31,436,437],{},"kubeadm"," разворачивает кластер, ",[31,440,441],{},"kubelet"," управляет контейнерами на узле, а ",[31,444,445],{},"kubectl"," — ваш CLI-инструмент для общения с API-сервером.",[15,448,450],{"id":449},"шаг-4-инициализация-управляющего-узла","Шаг 4: Инициализация управляющего узла",[20,452,453,454,457],{},"Запустите инициализацию. Параметр ",[31,455,456],{},"--pod-network-cidr"," задаёт подсеть для внутренних подов, она обязательна для большинства плагинов:",[43,459,461],{"className":45,"code":460,"language":47,"meta":48,"style":48},"sudo kubeadm init --pod-network-cidr=10.244.0.0/16\n",[31,462,463],{"__ignoreMap":48},[52,464,465,467,469,472],{"class":54,"line":55},[52,466,33],{"class":58},[52,468,429],{"class":61},[52,470,471],{"class":61}," init",[52,473,474],{"class":65}," --pod-network-cidr=10.244.0.0/16\n",[20,476,477,478,481],{},"Дождитесь завершения. В терминале появится команда для копирования конфигурации администратора и строка ",[31,479,480],{},"kubeadm join"," для подключения дополнительных узлов. Сохраните их в безопасном месте.\nНастройте доступ для текущего пользователя:",[43,483,485],{"className":45,"code":484,"language":47,"meta":48,"style":48},"mkdir -p $HOME/.kube\nsudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n",[31,486,487,501,519],{"__ignoreMap":48},[52,488,489,492,494,498],{"class":54,"line":55},[52,490,491],{"class":58},"mkdir",[52,493,227],{"class":65},[52,495,497],{"class":496},"sVt8B"," $HOME",[52,499,500],{"class":61},"/.kube\n",[52,502,503,505,508,511,514,516],{"class":54,"line":95},[52,504,33],{"class":58},[52,506,507],{"class":61}," cp",[52,509,510],{"class":65}," -i",[52,512,513],{"class":61}," /etc/kubernetes/admin.conf",[52,515,497],{"class":496},[52,517,518],{"class":61},"/.kube/config\n",[52,520,521,523,526,529,532,535,538,541,544,546,549,552],{"class":54,"line":142},[52,522,33],{"class":58},[52,524,525],{"class":61}," chown",[52,527,528],{"class":496}," $(",[52,530,531],{"class":58},"id",[52,533,534],{"class":65}," -u",[52,536,537],{"class":496},")",[52,539,540],{"class":61},":",[52,542,543],{"class":496},"$(",[52,545,531],{"class":58},[52,547,548],{"class":65}," -g",[52,550,551],{"class":496},") $HOME",[52,553,518],{"class":61},[15,555,557],{"id":556},"шаг-5-подключение-сетевого-плагина-и-проверка-работоспособности","Шаг 5: Подключение сетевого плагина и проверка работоспособности",[20,559,560],{},"Без CNI-плагина поды не получат IP-адреса. Установим Flannel, так как он не требует дополнительных настроек:",[43,562,564],{"className":45,"code":563,"language":47,"meta":48,"style":48},"kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml\n",[31,565,566],{"__ignoreMap":48},[52,567,568,570,573,576],{"class":54,"line":55},[52,569,445],{"class":58},[52,571,572],{"class":61}," apply",[52,574,575],{"class":65}," -f",[52,577,578],{"class":61}," https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml\n",[20,580,581],{},"Подождите 1–2 минуты. Проверьте статус ядра:",[43,583,585],{"className":45,"code":584,"language":47,"meta":48,"style":48},"kubectl get nodes\n",[31,586,587],{"__ignoreMap":48},[52,588,589,591,594],{"class":54,"line":55},[52,590,445],{"class":58},[52,592,593],{"class":61}," get",[52,595,596],{"class":61}," nodes\n",[20,598,599,600,603],{},"Все узлы должны перейти в состояние ",[31,601,602],{},"Ready",".",[15,605,607],{"id":606},"проверка-результата","Проверка результата",[20,609,610],{},"Разверните тестовый под, чтобы убедиться, что планировщик и сеть работают:",[43,612,614],{"className":45,"code":613,"language":47,"meta":48,"style":48},"kubectl run nginx-test --image=nginx:latest\n",[31,615,616],{"__ignoreMap":48},[52,617,618,620,623,626],{"class":54,"line":55},[52,619,445],{"class":58},[52,621,622],{"class":61}," run",[52,624,625],{"class":61}," nginx-test",[52,627,628],{"class":65}," --image=nginx:latest\n",[20,630,631],{},"Проверьте статус и внутренний IP:",[43,633,635],{"className":45,"code":634,"language":47,"meta":48,"style":48},"kubectl get pods -o wide\n",[31,636,637],{"__ignoreMap":48},[52,638,639,641,643,646,648],{"class":54,"line":55},[52,640,445],{"class":58},[52,642,593],{"class":61},[52,644,645],{"class":61}," pods",[52,647,350],{"class":65},[52,649,650],{"class":61}," wide\n",[20,652,653,654,657,658,661,662,603],{},"Если вы видите статус ",[31,655,656],{},"Running"," и назначенный адрес из подсети ",[31,659,660],{},"10.244.x.x",", кластер полностью готов к развёртыванию ваших сервисов. Удалите тестовый объект: ",[31,663,664],{},"kubectl delete pod nginx-test",[15,666,668],{"id":667},"возможные-проблемы","Возможные проблемы",[670,671,672,689,704],"ul",{},[673,674,675,678,679,681,682,685,686,603],"li",{},[31,676,677],{},"Error: failed to run Kubelet: failed to create kubelet: failed to get container info for \"/system.slice/kubelet.service\"",": проверьте, что ",[31,680,178],{}," запущен и параметр ",[31,683,684],{},"SystemdCgroup"," установлен в ",[31,687,688],{},"true",[673,690,691,692,695,696,699,700,703],{},"Узел остаётся в статусе ",[31,693,694],{},"NotReady"," или ",[31,697,698],{},"NetworkUnavailable",": убедитесь, что команда ",[31,701,702],{},"kubectl apply -f ..."," для CNI-плагина выполнилась успешно. Ошибка часто возникает при блокировке портов 8472 и 4789 фаерволом.",[673,705,706,709,710,678,713,715,716,718,719,722],{},[31,707,708],{},"kubeadm init"," падает на этапе ",[31,711,712],{},"kubelet-start",[31,714,76],{}," действительно отключён, а версия ",[31,717,178],{}," совместима с Kubernetes v1.30. Вывод ",[31,720,721],{},"journalctl -u kubelet -f"," покажет точную причину сбоя.",[724,725,726],"style",{},"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":48,"searchDepth":95,"depth":95,"links":728},[729,730,731,732,733,734,735,736,737],{"id":17,"depth":95,"text":18},{"id":25,"depth":95,"text":26},{"id":37,"depth":95,"text":38},{"id":171,"depth":95,"text":172},{"id":298,"depth":95,"text":299},{"id":449,"depth":95,"text":450},{"id":556,"depth":95,"text":557},{"id":606,"depth":95,"text":607},{"id":667,"depth":95,"text":668},null,"2026-04-06 16:21:35","Пошаговая инструкция по установке Kubernetes на Linux. Разверните кластер за 15 минут с проверенными командами. Начните оркестрацию прямо сейчас!","medium",false,"15-30 мин","md",[746,749,752,755],{"question":747,"answer":748},"Можно ли установить Kubernetes на домашний ПК?","Да, для локальных экспериментов используйте Minikube или Kind. Они создают легковесный одноузловой кластер без сложной сетевой настройки.",{"question":750,"answer":751},"Обязательно ли отключать подкачку (swap) для работы k8s?","Да, kubelet по умолчанию отказывается запускаться при включённом swap. Временно отключите его командой `swapoff -a` или используйте флаг `--fail-swap-on=false`.",{"question":753,"answer":754},"Какой сетевой плагин (CNI) выбрать новичку?","Рекомендуем Flannel для быстрой и простой настройки. Если вам нужны сетевые политики и изоляция трафика между неймспейсами, выбирайте Calico.",{"question":756,"answer":757},"Нужны ли права root для установки компонентов?","Да, для настройки системных служб, репозиториев и инициализации кластера требуются привилегии суперпользователя или команда `sudo`.",[759,762,765,768,771],{"name":760,"text":761},"Подготовка системы и отключение swap","Отключите подкачку памяти, обновите индексы пакетов и установите необходимые утилиты для работы контейнеров и сети.",{"name":763,"text":764},"Установка компонента Container Runtime","Разверните containerd, настройте конфигурационный файл и включите автозагрузку службы.",{"name":766,"text":767},"Установка kubeadm, kubelet и kubectl","Добавьте официальный репозиторий Kubernetes, установите пакеты управления кластером и зафиксируйте их версии.",{"name":769,"text":770},"Инициализация управляющего узла","Запустите команду kubeadm init, сохраните вывод с токеном для присоединения рабочих узлов и настройте конфигурацию kubectl.",{"name":772,"text":773},"Подключение сетевого плагина и проверка","Установите манифест CNI-сети, дождитесь статуса Ready для узлов и разверните тестовое приложение.","PT20M",[776,777,778,779,780,781,782],"установка kubernetes на linux","настройка кластера k8s ubuntu","kubeadm init debian","установить kubectl linux","оркестрация контейнеров руководство","настройка containerd kubernetes","развертывание pod в kubernetes","ru_RU",{},true,"/guides/linux/install-kubernetes-on-linux","linux",[789,790,791],"/guides/linux/install-docker-on-linux","/guides/linux/setup-minikube-local","/guides/linux/configure-kubectl-cli","Гайды Linux",{"title":5,"description":740},"guides/linux/install-kubernetes-on-linux","В этом руководстве вы настроите рабочий кластер Kubernetes на базе Ubuntu или Debian с использованием kubeadm. Вы получите готовую к запуску среду для оркестрации контейнеров.",[787,797,798,799,178,800,801],"kubernetes","devops","оркестрация","k8s","администрирование","guide","6zANoTUzfy8rxswWfYY1zpeGVQabZLSc45gYAH5uvGg",{"data":805,"body":806},{},{"type":807,"children":808},"root",[809],{"type":810,"tag":20,"props":811,"children":812},"element",{},[813],{"type":814,"value":748},"text",{"data":816,"body":817},{},{"type":807,"children":818},[819],{"type":810,"tag":20,"props":820,"children":821},{},[822,824,830,832,838],{"type":814,"value":823},"Да, kubelet по умолчанию отказывается запускаться при включённом swap. Временно отключите его командой ",{"type":810,"tag":31,"props":825,"children":827},{"className":826},[],[828],{"type":814,"value":829},"swapoff -a",{"type":814,"value":831}," или используйте флаг ",{"type":810,"tag":31,"props":833,"children":835},{"className":834},[],[836],{"type":814,"value":837},"--fail-swap-on=false",{"type":814,"value":603},{"data":840,"body":841},{},{"type":807,"children":842},[843],{"type":810,"tag":20,"props":844,"children":845},{},[846],{"type":814,"value":754},{"data":848,"body":849},{},{"type":807,"children":850},[851],{"type":810,"tag":20,"props":852,"children":853},{},[854,856,861],{"type":814,"value":855},"Да, для настройки системных служб, репозиториев и инициализации кластера требуются привилегии суперпользователя или команда ",{"type":810,"tag":31,"props":857,"children":859},{"className":858},[],[860],{"type":814,"value":33},{"type":814,"value":603},{"data":863,"body":864},{},{"type":807,"children":865},[866],{"type":810,"tag":20,"props":867,"children":868},{},[869],{"type":814,"value":761},{"data":871,"body":872},{},{"type":807,"children":873},[874],{"type":810,"tag":20,"props":875,"children":876},{},[877],{"type":814,"value":764},{"data":879,"body":880},{},{"type":807,"children":881},[882],{"type":810,"tag":20,"props":883,"children":884},{},[885],{"type":814,"value":767},{"data":887,"body":888},{},{"type":807,"children":889},[890],{"type":810,"tag":20,"props":891,"children":892},{},[893],{"type":814,"value":770},{"data":895,"body":896},{},{"type":807,"children":897},[898],{"type":810,"tag":20,"props":899,"children":900},{},[901],{"type":814,"value":773},[903],{"id":904,"title":905,"appliesTo":906,"author":10,"body":911,"canonical":738,"code":738,"createdAt":1332,"description":1333,"difficulty":741,"draft":742,"estimatedTime":1334,"extension":744,"faq":1335,"howToSteps":1345,"howToTotalTime":1358,"image":738,"keywords":1359,"locale":783,"meta":1368,"navigation":785,"path":791,"platform":787,"related":1369,"section":792,"seo":1373,"severity":738,"stem":1374,"summary":1375,"tags":1376,"twitterCreator":738,"twitterSite":738,"type":802,"updatedAt":1332,"__hash__":1381},"content_ru/guides/linux/configure-kubectl-cli.md","Настройка kubectl в Linux: установка и конфигурация CLI",[907,908,909,910],"Ubuntu 22.04+","Debian 11+","Fedora 38+","RHEL 9+",{"type":12,"value":912,"toc":1322},[913,915,920,922,945,947,951,957,983,994,998,1008,1040,1046,1060,1064,1071,1127,1138,1142,1148,1174,1177,1201,1215,1217,1220,1242,1249,1251,1319],[15,914,18],{"id":17},[20,916,917,919],{},[31,918,445],{}," — это официальный инструмент командной строки для взаимодействия с кластерами Kubernetes. Без правильно настроенного CLI вы не сможете деплоить приложения, масштабировать поды или анализировать логи контейнеров. В этом гайде мы разберём безопасную установку бинарного файла, настройку аутентификации и базовую проверку работы. Следуя инструкции, вы получите полностью готовую к работе среду управления кластером.",[15,921,26],{"id":25},[670,923,924,927,932,938],{},[673,925,926],{},"Рабочая установка Linux (Ubuntu, Debian, Fedora, RHEL или их производные).",[673,928,929,930,603],{},"Доступ к терминалу и права обычного пользователя. Установка в системные каталоги потребует ",[31,931,33],{},[673,933,934,935,937],{},"Утилита ",[31,936,331],{}," уже предустановлена в большинстве современных дистрибутивов.",[673,939,940,941,944],{},"Файл конфигурации кластера (",[31,942,943],{},"kubeconfig","), который обычно предоставляет администратор или генерирует облачная платформа.",[294,946],{},[15,948,950],{"id":949},"шаг-1-загрузка-актуальной-версии","Шаг 1: Загрузка актуальной версии",[20,952,953,954,956],{},"Всегда загружайте ",[31,955,445],{}," с официальных серверов Kubernetes, чтобы избежать использования модифицированных бинарников. Откройте терминал и выполните:",[43,958,960],{"className":45,"code":959,"language":47,"meta":48,"style":48},"curl -LO \"https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n",[31,961,962],{"__ignoreMap":48},[52,963,964,966,969,972,974,977,980],{"class":54,"line":55},[52,965,331],{"class":58},[52,967,968],{"class":65}," -LO",[52,970,971],{"class":61}," \"https://dl.k8s.io/release/$(",[52,973,331],{"class":58},[52,975,976],{"class":65}," -L",[52,978,979],{"class":65}," -s",[52,981,982],{"class":61}," https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl\"\n",[20,984,985,986,989,990,993],{},"Если ваш сервер работает на архитектуре ARM (например, Raspberry Pi или серверы на Graviton), замените ",[31,987,988],{},"amd64"," на ",[31,991,992],{},"arm64",". Команда автоматически определит стабильную версию и скачает соответствующий файл.",[15,995,997],{"id":996},"шаг-2-установка-в-системный-каталог","Шаг 2: Установка в системный каталог",[20,999,1000,1001,1004,1005,1007],{},"Переместите исполняемый файл в директорию, входящую в переменную окружения ",[31,1002,1003],{},"PATH",". Это позволит запускать ",[31,1006,445],{}," из любой точки файловой системы без указания полного пути.",[43,1009,1011],{"className":45,"code":1010,"language":47,"meta":48,"style":48},"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl\n",[31,1012,1013],{"__ignoreMap":48},[52,1014,1015,1017,1019,1021,1024,1026,1028,1031,1034,1037],{"class":54,"line":55},[52,1016,33],{"class":58},[52,1018,203],{"class":61},[52,1020,350],{"class":65},[52,1022,1023],{"class":61}," root",[52,1025,548],{"class":65},[52,1027,1023],{"class":61},[52,1029,1030],{"class":65}," -m",[52,1032,1033],{"class":65}," 0755",[52,1035,1036],{"class":61}," kubectl",[52,1038,1039],{"class":61}," /usr/local/bin/kubectl\n",[20,1041,1042,1043,603],{},"После выполнения можно удалить исходный файл из текущей директории: ",[31,1044,1045],{},"rm -f kubectl",[1047,1048,1049],"blockquote",{},[20,1050,1051,1052,1055,1056,1059],{},"💡 Совет: Команда ",[31,1053,1054],{},"install"," не только копирует файл, но и сразу задаёт правильные права ",[31,1057,1058],{},"755",", что делает его доступным для всех пользователей, но изменяемым только root.",[15,1061,1063],{"id":1062},"шаг-3-настройка-конфигурации-доступа","Шаг 3: Настройка конфигурации доступа",[20,1065,1066,1067,1070],{},"Инструмент ищет настройки в файле ",[31,1068,1069],{},"~/.kube/config",". Создайте структуру и скопируйте в неё данные вашего кластера:",[43,1072,1074],{"className":45,"code":1073,"language":47,"meta":48,"style":48},"mkdir -p $HOME/.kube\nsudo cp -i /path/to/your/kubeconfig $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n",[31,1075,1076,1086,1101],{"__ignoreMap":48},[52,1077,1078,1080,1082,1084],{"class":54,"line":55},[52,1079,491],{"class":58},[52,1081,227],{"class":65},[52,1083,497],{"class":496},[52,1085,500],{"class":61},[52,1087,1088,1090,1092,1094,1097,1099],{"class":54,"line":95},[52,1089,33],{"class":58},[52,1091,507],{"class":61},[52,1093,510],{"class":65},[52,1095,1096],{"class":61}," /path/to/your/kubeconfig",[52,1098,497],{"class":496},[52,1100,518],{"class":61},[52,1102,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125],{"class":54,"line":142},[52,1104,33],{"class":58},[52,1106,525],{"class":61},[52,1108,528],{"class":496},[52,1110,531],{"class":58},[52,1112,534],{"class":65},[52,1114,537],{"class":496},[52,1116,540],{"class":61},[52,1118,543],{"class":496},[52,1120,531],{"class":58},[52,1122,548],{"class":65},[52,1124,551],{"class":496},[52,1126,518],{"class":61},[20,1128,1129,1130,1133,1134,1137],{},"Замените ",[31,1131,1132],{},"/path/to/your/kubeconfig"," на реальный путь к файлу. Команда ",[31,1135,1136],{},"chown"," гарантирует, что у вашего пользователя будут полные права на чтение и запись конфигурации, что предотвращает ошибки доступа при выполнении команд.",[15,1139,1141],{"id":1140},"шаг-4-включение-автодополнения","Шаг 4: Включение автодополнения",[20,1143,1144,1145,1147],{},"Работа с ",[31,1146,445],{}," значительно ускоряется с автозавершением команд. Для Bash выполните:",[43,1149,1151],{"className":45,"code":1150,"language":47,"meta":48,"style":48},"echo 'source \u003C(kubectl completion bash)' >>~/.bashrc\nsource ~/.bashrc\n",[31,1152,1153,1166],{"__ignoreMap":48},[52,1154,1155,1157,1160,1163],{"class":54,"line":55},[52,1156,366],{"class":65},[52,1158,1159],{"class":61}," 'source \u003C(kubectl completion bash)'",[52,1161,1162],{"class":118}," >>",[52,1164,1165],{"class":61},"~/.bashrc\n",[52,1167,1168,1171],{"class":54,"line":95},[52,1169,1170],{"class":65},"source",[52,1172,1173],{"class":61}," ~/.bashrc\n",[20,1175,1176],{},"Для Zsh используйте:",[43,1178,1180],{"className":45,"code":1179,"language":47,"meta":48,"style":48},"echo 'source \u003C(kubectl completion zsh)' >>~/.zshrc\nsource ~/.zshrc\n",[31,1181,1182,1194],{"__ignoreMap":48},[52,1183,1184,1186,1189,1191],{"class":54,"line":55},[52,1185,366],{"class":65},[52,1187,1188],{"class":61}," 'source \u003C(kubectl completion zsh)'",[52,1190,1162],{"class":118},[52,1192,1193],{"class":61},"~/.zshrc\n",[52,1195,1196,1198],{"class":54,"line":95},[52,1197,1170],{"class":65},[52,1199,1200],{"class":61}," ~/.zshrc\n",[20,1202,1203,1204,1207,1208,1211,1212,603],{},"Теперь при вводе ",[31,1205,1206],{},"kubectl get n"," и нажатии ",[31,1209,1210],{},"Tab"," терминал автоматически дополнит команду до ",[31,1213,1214],{},"nodes",[15,1216,607],{"id":606},[20,1218,1219],{},"Убедитесь, что утилита корректно считывает настройки и видит кластер. Выполните:",[43,1221,1223],{"className":45,"code":1222,"language":47,"meta":48,"style":48},"kubectl version --client\nkubectl cluster-info\n",[31,1224,1225,1235],{"__ignoreMap":48},[52,1226,1227,1229,1232],{"class":54,"line":55},[52,1228,445],{"class":58},[52,1230,1231],{"class":61}," version",[52,1233,1234],{"class":65}," --client\n",[52,1236,1237,1239],{"class":54,"line":95},[52,1238,445],{"class":58},[52,1240,1241],{"class":61}," cluster-info\n",[20,1243,1244,1245,1248],{},"Первая команда покажет версию установленного клиента. Вторая должна вернуть URL API-сервера и адрес KubeDNS. Если вывод содержит строки ",[31,1246,1247],{},"Kubernetes control plane is running at..."," — настройка завершена успешно.",[15,1250,668],{"id":667},[670,1252,1253,1279,1292],{},[673,1254,1255,1258,1259,1262,1263,1265,1266,1269,1270,695,1273,1276,1277,603],{},[31,1256,1257],{},"kubectl: command not found"," — ",[31,1260,1261],{},"/usr/local/bin"," отсутствует в ",[31,1264,1003],{},". Добавьте ",[31,1267,1268],{},"export PATH=/usr/local/bin:$PATH"," в ",[31,1271,1272],{},"~/.bashrc",[31,1274,1275],{},"~/.zshrc"," и примените изменения через ",[31,1278,1170],{},[673,1280,1281,1284,1285,1288,1289,1291],{},[31,1282,1283],{},"x509: certificate signed by unknown authority"," — обычно возникает при использовании самоподписанных сертификатов в тестовых средах. Временное решение: добавьте флаг ",[31,1286,1287],{},"--insecure-skip-tls-verify=true"," в команды. Надёжнее — импортировать нужный CA в ",[31,1290,1069],{}," или обновить корневые сертификаты ОС.",[673,1293,1294,1297,1298,1300,1301,1304,1305,1308,1309,1312,1313,695,1316,603],{},[31,1295,1296],{},"Forbidden: user \"system:anonymous\" cannot get nodes"," — отсутствуют RBAC-права. Убедитесь, что в ",[31,1299,943],{}," указан правильный ",[31,1302,1303],{},"user"," и ",[31,1306,1307],{},"token",", либо запросите у администратора ",[31,1310,1311],{},"ClusterRoleBinding"," с правами ",[31,1314,1315],{},"view",[31,1317,1318],{},"cluster-admin",[724,1320,1321],{},"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":48,"searchDepth":95,"depth":95,"links":1323},[1324,1325,1326,1327,1328,1329,1330,1331],{"id":17,"depth":95,"text":18},{"id":25,"depth":95,"text":26},{"id":949,"depth":95,"text":950},{"id":996,"depth":95,"text":997},{"id":1062,"depth":95,"text":1063},{"id":1140,"depth":95,"text":1141},{"id":606,"depth":95,"text":607},{"id":667,"depth":95,"text":668},"2026-04-08 00:06:54","Узнайте, как быстро установить и настроить kubectl в Linux. Пошаговая инструкция по подключению к кластеру, проверке доступа и решению частых проблем.","10-15 мин",[1336,1339,1342],{"question":1337,"answer":1338},"Где хранится файл конфигурации kubectl?","По умолчанию он находится в домашней директории пользователя: `~/.kube/config`. Вы можете изменить путь с помощью переменной окружения `KUBECONFIG` или флага `--kubeconfig`.",{"question":1340,"answer":1341},"Почему возникает ошибка `Unable to connect to the server`?","Чаще всего это указывает на неверный адрес сервера, истёкший сертификат или проблемы с сетью. Проверьте содержимое `~/.kube/config` и убедитесь, что кластер доступен по сети.",{"question":1343,"answer":1344},"Можно ли использовать kubectl без прав root?","Да, утилита предназначена для работы от обычного пользователя. Установка бинарника и создание директории `~/.kube` не требуют `sudo`, если вы работаете в домашней папке.",[1346,1349,1352,1355],{"name":1347,"text":1348},"Скачайте бинарный файл","Используйте официальную команду `curl` для загрузки актуальной версии kubectl, соответствующей вашей архитектуре (amd64 или arm64).",{"name":1350,"text":1351},"Установите исполняемый файл","Переместите загруженный файл в `/usr/local/bin` и сделайте его исполняемым с помощью `chmod +x`.",{"name":1353,"text":1354},"Создайте конфигурационную директорию","Создайте скрытую папку `~/.kube` и скопируйте в неё файл `config`, полученный от администратора кластера или через облачный провайдер.",{"name":1356,"text":1357},"Проверьте подключение","Выполните `kubectl get nodes` или `kubectl cluster-info`, чтобы убедиться, что CLI успешно подключился к кластеру и отображает его состояние.","PT15M",[1360,1361,1362,1363,1364,1365,1366,1367],"установка kubectl linux","настройка kubectl ubuntu","как подключить kubectl к кластеру","kubectl config linux","настройка kubeconfig","утилита kubectl команды","ошибка kubectl не работает","настройка контекста kubectl",{},[1370,1371,1372],"/guides/linux/install-minikube","/guides/general/kubernetes-basics","/guides/linux/troubleshoot-kubeconfig",{"title":905,"description":1333},"guides/linux/configure-kubectl-cli","В этом руководстве мы подробно разберём процесс установки и первичной настройки утилиты kubectl в Linux. Вы научитесь подключаться к Kubernetes-кластерам, управлять контекстами и проверять соединение за несколько минут.",[1377,1378,445,1379,1380,798,801],"Linux","Kubernetes","CLI","утилиты","NG1yaqUW471XvIRry5TKnpM0LHedaYxZXE4_hZMmbC8"]