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