[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/kubernetes-installation":3,"mdc--d30r8l-key":1113,"mdc--qmx342-key":1124,"mdc--tly4ox-key":1132,"mdc--imfudf-key":1157,"mdc-o0ejve-key":1174,"mdc--kc4ypa-key":1182,"mdc--r658nd-key":1190,"mdc-ktksuw-key":1206,"mdc-wvg499-key":1214,"related-/guides/linux/docker-installation,/guides/linux/kubeadm-guide,/errors/linux/kubectl-not-found":1230},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1048,"code":1048,"createdAt":1049,"description":1050,"difficulty":1051,"draft":1052,"estimatedTime":1053,"extension":1054,"faq":1055,"howToSteps":1068,"howToTotalTime":1084,"image":1048,"keywords":1085,"locale":1094,"meta":1095,"navigation":167,"path":1096,"platform":1097,"related":1098,"section":1102,"seo":1103,"severity":1048,"stem":1104,"summary":1105,"tags":1106,"twitterCreator":1048,"twitterSite":1048,"type":1111,"updatedAt":1049,"__hash__":1112},"content_ru/guides/linux/kubernetes-installation.md","Как установить Kubernetes на Linux: пошаговое руководство для начинающих",[7,8,9,10],"Ubuntu 22.04 LTS","Ubuntu 20.04 LTS","Debian 11 Bullseye","CentOS Stream 9","FixPedia Team",{"type":13,"value":14,"toc":1035},"minimark",[15,20,24,28,80,90,94,99,106,322,326,340,489,499,502,506,516,659,662,680,684,690,709,712,727,733,737,740,870,873,898,902,922,925,929,1018,1031],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23],"p",{},"Установка Kubernetes на Linux позволяет вам создать мощную среду для оркестрации контейнеров. После завершения этого руководства вы сможете развернуть работоспособный кластер Kubernetes, добавлять рабочие узлы и проверять его работоспособность.",[16,25,27],{"id":26},"требования-подготовка","Требования / Подготовка",[29,30,31,39,50,68,74],"ul",{},[32,33,34,38],"li",{},[35,36,37],"strong",{},"Операционные системы:"," Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 11 Bullseye, CentOS Stream 9 (64-битные версии).",[32,40,41,44,45,49],{},[35,42,43],{},"Аппаратные ресурсы:"," не менее 2 CPU, 4 GB RAM, 10 GB свободного места на разделе ",[46,47,48],"code",{},"/",".",[32,51,52,55,56,59,60,63,64,67],{},[35,53,54],{},"Сеть:"," статический IP на каждом хосте, отключенный брандмауэр (",[46,57,58],{},"ufw disable"," / ",[46,61,62],{},"iptables -F","), включенное IPv4-переадресация (",[46,65,66],{},"sysctl net.ipv4.ip_forward=1",").",[32,69,70,73],{},[35,71,72],{},"Docker"," (для установок с помощью kubeadm) — последняя стабильная версия.",[32,75,76,79],{},[35,77,78],{},"Права root / sudo"," для выполнения команд.",[81,82,83],"blockquote",{},[21,84,85,86,89],{},"💡 ",[35,87,88],{},"Совет:"," Убедитесь, что у вас есть SSH-доступ для управления удалёнными хостами.",[16,91,93],{"id":92},"пошаговая-инструкция","Пошаговая инструкция",[95,96,98],"h3",{"id":97},"шаг-1-подготовка-системы","Шаг 1: Подготовка системы",[21,100,101,102,105],{},"Отключите подкачку, удалите её из ",[46,103,104],{},"fstab",", загрузите необходимые ядреные модули и настройте sysctl параметры.",[107,108,113],"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-bash shiki shiki-themes github-light github-dark","# Выключение подкачки\nsudo swapoff -a\n# Удаление записи подкачки из fstab (если есть)\nsudo sed -i '/swap/d' /etc/fstab\n\n# Загрузка модулей\nsudo modprobe br_netfilter\n\n# Создание файлов модулей\ncat \u003C\u003CEOF | sudo tee /etc/modules-load.d/k8s.conf\noverlay\nbr_netfilter\nEOF\nsudo modprobe overlay\nsudo modprobe br_netfilter\n\n# Настройка sysctl для поддержки bridge и IP-форвардинга\ncat \u003C\u003CEOF | sudo tee /etc/sysctl.d/k8s.conf\nnet.bridge.bridge-nf-call-iptables  = 1\nnet.bridge.bridge-nf-call-ip6tables = 1\nnet.ipv4.ip_forward                 = 1\nEOF\nsudo sysctl --system\n","bash","",[46,114,115,124,139,145,162,169,175,186,191,197,222,228,234,240,250,259,264,270,288,294,300,306,311],{"__ignoreMap":112},[116,117,120],"span",{"class":118,"line":119},"line",1,[116,121,123],{"class":122},"sJ8bj","# Выключение подкачки\n",[116,125,127,131,135],{"class":118,"line":126},2,[116,128,130],{"class":129},"sScJk","sudo",[116,132,134],{"class":133},"sZZnC"," swapoff",[116,136,138],{"class":137},"sj4cs"," -a\n",[116,140,142],{"class":118,"line":141},3,[116,143,144],{"class":122},"# Удаление записи подкачки из fstab (если есть)\n",[116,146,148,150,153,156,159],{"class":118,"line":147},4,[116,149,130],{"class":129},[116,151,152],{"class":133}," sed",[116,154,155],{"class":137}," -i",[116,157,158],{"class":133}," '/swap/d'",[116,160,161],{"class":133}," /etc/fstab\n",[116,163,165],{"class":118,"line":164},5,[116,166,168],{"emptyLinePlaceholder":167},true,"\n",[116,170,172],{"class":118,"line":171},6,[116,173,174],{"class":122},"# Загрузка модулей\n",[116,176,178,180,183],{"class":118,"line":177},7,[116,179,130],{"class":129},[116,181,182],{"class":133}," modprobe",[116,184,185],{"class":133}," br_netfilter\n",[116,187,189],{"class":118,"line":188},8,[116,190,168],{"emptyLinePlaceholder":167},[116,192,194],{"class":118,"line":193},9,[116,195,196],{"class":122},"# Создание файлов модулей\n",[116,198,200,203,207,210,213,216,219],{"class":118,"line":199},10,[116,201,202],{"class":129},"cat",[116,204,206],{"class":205},"szBVR"," \u003C\u003C",[116,208,209],{"class":133},"EOF",[116,211,212],{"class":205}," |",[116,214,215],{"class":129}," sudo",[116,217,218],{"class":133}," tee",[116,220,221],{"class":133}," /etc/modules-load.d/k8s.conf\n",[116,223,225],{"class":118,"line":224},11,[116,226,227],{"class":133},"overlay\n",[116,229,231],{"class":118,"line":230},12,[116,232,233],{"class":133},"br_netfilter\n",[116,235,237],{"class":118,"line":236},13,[116,238,239],{"class":133},"EOF\n",[116,241,243,245,247],{"class":118,"line":242},14,[116,244,130],{"class":129},[116,246,182],{"class":133},[116,248,249],{"class":133}," overlay\n",[116,251,253,255,257],{"class":118,"line":252},15,[116,254,130],{"class":129},[116,256,182],{"class":133},[116,258,185],{"class":133},[116,260,262],{"class":118,"line":261},16,[116,263,168],{"emptyLinePlaceholder":167},[116,265,267],{"class":118,"line":266},17,[116,268,269],{"class":122},"# Настройка sysctl для поддержки bridge и IP-форвардинга\n",[116,271,273,275,277,279,281,283,285],{"class":118,"line":272},18,[116,274,202],{"class":129},[116,276,206],{"class":205},[116,278,209],{"class":133},[116,280,212],{"class":205},[116,282,215],{"class":129},[116,284,218],{"class":133},[116,286,287],{"class":133}," /etc/sysctl.d/k8s.conf\n",[116,289,291],{"class":118,"line":290},19,[116,292,293],{"class":133},"net.bridge.bridge-nf-call-iptables  = 1\n",[116,295,297],{"class":118,"line":296},20,[116,298,299],{"class":133},"net.bridge.bridge-nf-call-ip6tables = 1\n",[116,301,303],{"class":118,"line":302},21,[116,304,305],{"class":133},"net.ipv4.ip_forward                 = 1\n",[116,307,309],{"class":118,"line":308},22,[116,310,239],{"class":133},[116,312,314,316,319],{"class":118,"line":313},23,[116,315,130],{"class":129},[116,317,318],{"class":133}," sysctl",[116,320,321],{"class":137}," --system\n",[95,323,325],{"id":324},"шаг-2-установка-компонентов-kubernetes","Шаг 2: Установка компонентов Kubernetes",[21,327,328,329,332,333,332,336,339],{},"Добавьте официальный репозиторий Kubernetes и установите основные утилиты (",[46,330,331],{},"kubelet",", ",[46,334,335],{},"kubeadm",[46,337,338],{},"kubectl","). Пример для Ubuntu/Debian:",[107,341,343],{"className":109,"code":342,"language":111,"meta":112,"style":112},"# Обновление пакетов и установка curl\nsudo apt-get update\nsudo apt-get install -y curl\n\n# Добавление ключа репозитория\ncurl -fsSL https://pkgs.k8s.io/repositories.releases.k8s.io/deb/release.key | sudo gpg --dearmor -o /etc/apt/keyrings/k8s-apt-keyring.gpg\n\n# Добавление репозитория\necho 'deb [signed-by=/etc/apt/keyrings/k8s-apt-keyring.gpg] https://pkgs.k8s.io/repositories.releases.k8s.io/deb/ /' | sudo tee /etc/apt/sources.list.d/k8s.list\n\n# Установка компонентов\nsudo apt-get update\nsudo apt-get install -y kubelet kubeadm kubectl\nsudo systemctl enable --now kubelet\n",[46,344,345,350,360,375,379,384,411,415,420,437,441,446,454,473],{"__ignoreMap":112},[116,346,347],{"class":118,"line":119},[116,348,349],{"class":122},"# Обновление пакетов и установка curl\n",[116,351,352,354,357],{"class":118,"line":126},[116,353,130],{"class":129},[116,355,356],{"class":133}," apt-get",[116,358,359],{"class":133}," update\n",[116,361,362,364,366,369,372],{"class":118,"line":141},[116,363,130],{"class":129},[116,365,356],{"class":133},[116,367,368],{"class":133}," install",[116,370,371],{"class":137}," -y",[116,373,374],{"class":133}," curl\n",[116,376,377],{"class":118,"line":147},[116,378,168],{"emptyLinePlaceholder":167},[116,380,381],{"class":118,"line":164},[116,382,383],{"class":122},"# Добавление ключа репозитория\n",[116,385,386,389,392,395,397,399,402,405,408],{"class":118,"line":171},[116,387,388],{"class":129},"curl",[116,390,391],{"class":137}," -fsSL",[116,393,394],{"class":133}," https://pkgs.k8s.io/repositories.releases.k8s.io/deb/release.key",[116,396,212],{"class":205},[116,398,215],{"class":129},[116,400,401],{"class":133}," gpg",[116,403,404],{"class":137}," --dearmor",[116,406,407],{"class":137}," -o",[116,409,410],{"class":133}," /etc/apt/keyrings/k8s-apt-keyring.gpg\n",[116,412,413],{"class":118,"line":177},[116,414,168],{"emptyLinePlaceholder":167},[116,416,417],{"class":118,"line":188},[116,418,419],{"class":122},"# Добавление репозитория\n",[116,421,422,425,428,430,432,434],{"class":118,"line":193},[116,423,424],{"class":137},"echo",[116,426,427],{"class":133}," 'deb [signed-by=/etc/apt/keyrings/k8s-apt-keyring.gpg] https://pkgs.k8s.io/repositories.releases.k8s.io/deb/ /'",[116,429,212],{"class":205},[116,431,215],{"class":129},[116,433,218],{"class":133},[116,435,436],{"class":133}," /etc/apt/sources.list.d/k8s.list\n",[116,438,439],{"class":118,"line":199},[116,440,168],{"emptyLinePlaceholder":167},[116,442,443],{"class":118,"line":224},[116,444,445],{"class":122},"# Установка компонентов\n",[116,447,448,450,452],{"class":118,"line":230},[116,449,130],{"class":129},[116,451,356],{"class":133},[116,453,359],{"class":133},[116,455,456,458,460,462,464,467,470],{"class":118,"line":236},[116,457,130],{"class":129},[116,459,356],{"class":133},[116,461,368],{"class":133},[116,463,371],{"class":137},[116,465,466],{"class":133}," kubelet",[116,468,469],{"class":133}," kubeadm",[116,471,472],{"class":133}," kubectl\n",[116,474,475,477,480,483,486],{"class":118,"line":242},[116,476,130],{"class":129},[116,478,479],{"class":133}," systemctl",[116,481,482],{"class":133}," enable",[116,484,485],{"class":137}," --now",[116,487,488],{"class":133}," kubelet\n",[21,490,491,492,48,495,498],{},"Для CentOS/RHEL используйте ",[46,493,494],{},"yum",[46,496,497],{},"yum-utils",". После установки убедитесь, что версии соответствуют выбранной (например, v1.28.x).",[500,501],"in-article-ad",{},[95,503,505],{"id":504},"шаг-3-инициализация-master-узла","Шаг 3: Инициализация master-узла",[21,507,508,509,512,513,515],{},"Инициализируйте master-узел с помощью ",[46,510,511],{},"kubeadm init",", сохраните команду для подключения worker-узлов и настройте ",[46,514,338],{}," для текущего пользователя.",[107,517,519],{"className":109,"code":518,"language":111,"meta":112,"style":112},"# Инициализация master-узла (замените CIDR при необходимости)\nsudo kubeadm init --pod-network-cidr=10.244.0.0/16 > kubeadm-init.log\n\n# Сохранение join-команды\nsudo kubeadm token create --print-join-command > /tmp/join-command.sh\nchmod +x /tmp/join-command.sh\n\n# Копирование конфигурации admin.conf в домашнюю директорию\nmkdir -p $HOME/.kube\nsudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nsudo chown $(id -u):$(id -g) $HOME/.kube/config\n",[46,520,521,526,544,548,553,573,583,587,592,607,624],{"__ignoreMap":112},[116,522,523],{"class":118,"line":119},[116,524,525],{"class":122},"# Инициализация master-узла (замените CIDR при необходимости)\n",[116,527,528,530,532,535,538,541],{"class":118,"line":126},[116,529,130],{"class":129},[116,531,469],{"class":133},[116,533,534],{"class":133}," init",[116,536,537],{"class":137}," --pod-network-cidr=10.244.0.0/16",[116,539,540],{"class":205}," >",[116,542,543],{"class":133}," kubeadm-init.log\n",[116,545,546],{"class":118,"line":141},[116,547,168],{"emptyLinePlaceholder":167},[116,549,550],{"class":118,"line":147},[116,551,552],{"class":122},"# Сохранение join-команды\n",[116,554,555,557,559,562,565,568,570],{"class":118,"line":164},[116,556,130],{"class":129},[116,558,469],{"class":133},[116,560,561],{"class":133}," token",[116,563,564],{"class":133}," create",[116,566,567],{"class":137}," --print-join-command",[116,569,540],{"class":205},[116,571,572],{"class":133}," /tmp/join-command.sh\n",[116,574,575,578,581],{"class":118,"line":171},[116,576,577],{"class":129},"chmod",[116,579,580],{"class":133}," +x",[116,582,572],{"class":133},[116,584,585],{"class":118,"line":177},[116,586,168],{"emptyLinePlaceholder":167},[116,588,589],{"class":118,"line":188},[116,590,591],{"class":122},"# Копирование конфигурации admin.conf в домашнюю директорию\n",[116,593,594,597,600,604],{"class":118,"line":193},[116,595,596],{"class":129},"mkdir",[116,598,599],{"class":137}," -p",[116,601,603],{"class":602},"sVt8B"," $HOME",[116,605,606],{"class":133},"/.kube\n",[116,608,609,611,614,616,619,621],{"class":118,"line":199},[116,610,130],{"class":129},[116,612,613],{"class":133}," cp",[116,615,155],{"class":137},[116,617,618],{"class":133}," /etc/kubernetes/admin.conf",[116,620,603],{"class":602},[116,622,623],{"class":133},"/.kube/config\n",[116,625,626,628,631,634,637,640,643,646,649,651,654,657],{"class":118,"line":224},[116,627,130],{"class":129},[116,629,630],{"class":133}," chown",[116,632,633],{"class":602}," $(",[116,635,636],{"class":129},"id",[116,638,639],{"class":137}," -u",[116,641,642],{"class":602},")",[116,644,645],{"class":133},":",[116,647,648],{"class":602},"$(",[116,650,636],{"class":129},[116,652,653],{"class":137}," -g",[116,655,656],{"class":602},") $HOME",[116,658,623],{"class":133},[21,660,661],{},"Разверните сетевую политику (Calico — пример):",[107,663,665],{"className":109,"code":664,"language":111,"meta":112,"style":112},"kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26/manifests/calico.yaml\n",[46,666,667],{"__ignoreMap":112},[116,668,669,671,674,677],{"class":118,"line":119},[116,670,338],{"class":129},[116,672,673],{"class":133}," apply",[116,675,676],{"class":137}," -f",[116,678,679],{"class":133}," https://raw.githubusercontent.com/projectcalico/calico/v3.26/manifests/calico.yaml\n",[95,681,683],{"id":682},"шаг-4-подготовка-worker-узлов","Шаг 4: Подготовка worker-узлов",[21,685,686,687,49],{},"На каждом дополнительном узле выполните команду, сохранённую в ",[46,688,689],{},"/tmp/join-command.sh",[107,691,693],{"className":109,"code":692,"language":111,"meta":112,"style":112},"# На worker-узле выполните следующее:\nsudo bash /tmp/join-command.sh\n",[46,694,695,700],{"__ignoreMap":112},[116,696,697],{"class":118,"line":119},[116,698,699],{"class":122},"# На worker-узле выполните следующее:\n",[116,701,702,704,707],{"class":118,"line":126},[116,703,130],{"class":129},[116,705,706],{"class":133}," bash",[116,708,572],{"class":133},[21,710,711],{},"После успешного подключения проверьте ноды:",[107,713,715],{"className":109,"code":714,"language":111,"meta":112,"style":112},"kubectl get nodes\n",[46,716,717],{"__ignoreMap":112},[116,718,719,721,724],{"class":118,"line":119},[116,720,338],{"class":129},[116,722,723],{"class":133}," get",[116,725,726],{"class":133}," nodes\n",[21,728,729,730,49],{},"Ожидаемый результат: оба узла с состоянием ",[46,731,732],{},"Ready",[95,734,736],{"id":735},"шаг-5-проверка-работоспособности","Шаг 5: Проверка работоспособности",[21,738,739],{},"Убедитесь, что кластер работает, запустите тестовый pod и при желании откройте Kubernetes Dashboard.",[107,741,743],{"className":109,"code":742,"language":111,"meta":112,"style":112},"# Проверка нод\nkubectl get nodes\n# Проверка подов во всех неймспейсах\nkubectl get pods -A\n\n# Создание простого тестового pod'а\ncat \u003C\u003CEOF | kubectl apply -f -\napiVersion: v1\nkind: Pod\nmetadata:\n  name: hello-pod\nspec:\n  containers:\n  - name: hello\n    image: nginx\n    ports:\n    - containerPort: 80\nEOF\nkubectl get pod hello-pod\n",[46,744,745,750,758,763,775,779,784,804,809,814,819,824,829,834,839,844,849,854,858],{"__ignoreMap":112},[116,746,747],{"class":118,"line":119},[116,748,749],{"class":122},"# Проверка нод\n",[116,751,752,754,756],{"class":118,"line":126},[116,753,338],{"class":129},[116,755,723],{"class":133},[116,757,726],{"class":133},[116,759,760],{"class":118,"line":141},[116,761,762],{"class":122},"# Проверка подов во всех неймспейсах\n",[116,764,765,767,769,772],{"class":118,"line":147},[116,766,338],{"class":129},[116,768,723],{"class":133},[116,770,771],{"class":133}," pods",[116,773,774],{"class":137}," -A\n",[116,776,777],{"class":118,"line":164},[116,778,168],{"emptyLinePlaceholder":167},[116,780,781],{"class":118,"line":171},[116,782,783],{"class":122},"# Создание простого тестового pod'а\n",[116,785,786,788,790,792,794,797,799,801],{"class":118,"line":177},[116,787,202],{"class":129},[116,789,206],{"class":205},[116,791,209],{"class":133},[116,793,212],{"class":205},[116,795,796],{"class":129}," kubectl",[116,798,673],{"class":133},[116,800,676],{"class":137},[116,802,803],{"class":133}," -\n",[116,805,806],{"class":118,"line":188},[116,807,808],{"class":133},"apiVersion: v1\n",[116,810,811],{"class":118,"line":193},[116,812,813],{"class":133},"kind: Pod\n",[116,815,816],{"class":118,"line":199},[116,817,818],{"class":133},"metadata:\n",[116,820,821],{"class":118,"line":224},[116,822,823],{"class":133},"  name: hello-pod\n",[116,825,826],{"class":118,"line":230},[116,827,828],{"class":133},"spec:\n",[116,830,831],{"class":118,"line":236},[116,832,833],{"class":133},"  containers:\n",[116,835,836],{"class":118,"line":242},[116,837,838],{"class":133},"  - name: hello\n",[116,840,841],{"class":118,"line":252},[116,842,843],{"class":133},"    image: nginx\n",[116,845,846],{"class":118,"line":261},[116,847,848],{"class":133},"    ports:\n",[116,850,851],{"class":118,"line":266},[116,852,853],{"class":133},"    - containerPort: 80\n",[116,855,856],{"class":118,"line":272},[116,857,239],{"class":133},[116,859,860,862,864,867],{"class":118,"line":290},[116,861,338],{"class":129},[116,863,723],{"class":133},[116,865,866],{"class":133}," pod",[116,868,869],{"class":133}," hello-pod\n",[21,871,872],{},"Для доступа к панели управления:",[107,874,876],{"className":109,"code":875,"language":111,"meta":112,"style":112},"# Запустите прокси (в отдельном терминале)\nkubectl proxy &\n# Откройте http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/\n",[46,877,878,883,893],{"__ignoreMap":112},[116,879,880],{"class":118,"line":119},[116,881,882],{"class":122},"# Запустите прокси (в отдельном терминале)\n",[116,884,885,887,890],{"class":118,"line":126},[116,886,338],{"class":129},[116,888,889],{"class":133}," proxy",[116,891,892],{"class":602}," &\n",[116,894,895],{"class":118,"line":141},[116,896,897],{"class":122},"# Откройте http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/\n",[16,899,901],{"id":900},"проверка-результата","Проверка результата",[29,903,904,909,915],{},[32,905,906,907,49],{},"Оба узла отображаются как ",[46,908,732],{},[32,910,911,912,49],{},"Поды kube-system (сеть, контроллер менеджер и т.д.) находятся в состоянии ",[46,913,914],{},"Running",[32,916,917,918,921],{},"Тестовый pod ",[46,919,920],{},"hello-pod"," работает и может быть достигнут по имени.",[21,923,924],{},"Если все пункты выполнены, кластер Kubernetes готов к использованию.",[16,926,928],{"id":927},"возможные-проблемы","Возможные проблемы",[930,931,932,945],"table",{},[933,934,935],"thead",{},[936,937,938,942],"tr",{},[939,940,941],"th",{},"Проблема",[939,943,944],{},"Решение",[946,947,948,968,984,1004],"tbody",{},[936,949,950,958],{},[951,952,953],"td",{},[35,954,955],{},[46,956,957],{},"/etc/modules-load.d/k8s.conf: Нет такого файла или каталога",[951,959,960,961,964,965,49],{},"Убедитесь, что параметры sysctl записаны в файл, перезапустите систему или вручную выполните ",[46,962,963],{},"modprobe overlay"," и ",[46,966,967],{},"modprobe br_netfilter",[936,969,970,977],{},[951,971,972],{},[35,973,974],{},[46,975,976],{},"kubeadm: ошибка: не удалось проверить конфигурацию: 'не удалось загрузить пакеты для требуемого 'kubelet'",[951,978,979,980,983],{},"Обновите пакеты: ",[46,981,982],{},"sudo apt-get upgrade kubelet kubeadm kubectl"," (Debian/Ubuntu) или переустановите их.",[936,985,986,993],{},[951,987,988],{},[35,989,990],{},[46,991,992],{},"kubectl: невозможно связаться с сервером: получено недоступное для подключения",[951,994,995,996,999,1000,1003],{},"Проверьте, что master-узел запущен (",[46,997,998],{},"sudo systemctl status kubelet","), и что ",[46,1001,1002],{},"/etc/kubernetes/admin.conf"," доступен.",[936,1005,1006,1011],{},[951,1007,1008],{},[35,1009,1010],{},"Calico не устанавливает pod-сеть",[951,1012,1013,1014,1017],{},"Проверьте, что CIDR (",[46,1015,1016],{},"--pod-network-cidr",") совпадает с конфигурацией Calico, убедитесь, что сетевые интерфейсы не имеют конфликтов IP, и что IP-форвардинг включён.",[81,1019,1020],{},[21,1021,1022,1023,1026,1027,1030],{},"⚠️ ",[35,1024,1025],{},"Важно:"," После любых изменений в сети или конфигурации перезапустите сервисы (",[46,1028,1029],{},"sudo systemctl restart kubelet","), чтобы изменения вступили в силу.",[1032,1033,1034],"style",{},"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 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 .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}",{"title":112,"searchDepth":126,"depth":126,"links":1036},[1037,1038,1039,1046,1047],{"id":18,"depth":126,"text":19},{"id":26,"depth":126,"text":27},{"id":92,"depth":126,"text":93,"children":1040},[1041,1042,1043,1044,1045],{"id":97,"depth":141,"text":98},{"id":324,"depth":141,"text":325},{"id":504,"depth":141,"text":505},{"id":682,"depth":141,"text":683},{"id":735,"depth":141,"text":736},{"id":900,"depth":126,"text":901},{"id":927,"depth":126,"text":928},null,"2026-07-31 13:22:31","Узнайте, как быстро установить Kubernetes на Linux с помощью этого подробного руководства. Следуйте простым шагам и получите работающее кластер за 10 минут.","medium",false,"10-15 мин","md",[1056,1059,1062,1065],{"question":1057,"answer":1058},"Какие системные требования нужны для установки Kubernetes?","Требуются 64-битная система x86-64, не менее 2 CPU, 4 GB RAM, 10 GB свободного места на дисковом разделе, отключенный брандмауэр и включенное IPv4-переадресация.",{"question":1060,"answer":1061},"Почему я должен использовать kubeadm вместо других инструментов?","Kubeadm — это официальный инструмент сообщества Kubernetes, который обеспечивает быстрый, надежный и поддерживаемый способ установки, обновления и удаления кластера на всех основных дистрибутивах Linux.",{"question":1063,"answer":1064},"Как проверить, что кластер Kubernetes работает?","Запустите команду `kubectl get nodes` — если ноды отображаются как Ready, кластер работает корректно. Также можно открыть панель управления Kubernetes Dashboard (`kubectl proxy` + UI).",{"question":1066,"answer":1067},"Что делать, если установка не удалась из-за ошибок сетевого интерфейса?","Убедитесь, что сетевые интерфейсы имеют статический IP, отключена STP, включено IPv4-переадресация, а bridge-utils настроены правильно (`brctl show`). Перезапустите сетевые службы после изменений.",[1069,1072,1075,1078,1081],{"name":1070,"text":1071},"Подготовка системы","Отключите подкачку, загрузите сетевые модули, настройте sysctl параметры для поддержки bridge и IP-форвардинга.",{"name":1073,"text":1074},"Установка компонентов Kubernetes","Добавьте репозиторий Kubernetes, установите kubeadm, kubelet и kubectl, включите и запустите сервис kubelet.",{"name":1076,"text":1077},"Инициализация master-узла","Выполните `kubeadm init`, сохраните join-команду, настройте kubectl для текущего пользователя и разверните сетевую политику (Calico).",{"name":1079,"text":1080},"Подготовка worker-узлов","На каждом worker-узле выполните join-команду, полученную на master-узле, и проверьте подключение нод.",{"name":1082,"text":1083},"Проверка работоспособности","Проверьте статус нод (`kubectl get nodes`), запустите тестовый под, опционально откройте Kubernetes Dashboard.","PT15M",[1086,1087,1088,1089,1090,1091,1092,1093],"установка Kubernetes на Linux","инсталляция Kubernetes с нуля","Kubernetes руководство для начинающих","Kubernetes master node setup","Kubernetes worker node installation","проверка работоспособности Kubernetes кластера","установка Kubernetes Ubuntu 22.04","установка Kubernetes с помощью kubeadm","ru_RU",{},"/guides/linux/kubernetes-installation","linux",[1099,1100,1101],"/guides/linux/docker-installation","/guides/linux/kubeadm-guide","/errors/linux/kubectl-not-found","Гайды Linux",{"title":5,"description":1050},"guides/linux/kubernetes-installation","В этом руководстве описаны пошаговые инструкции по установке Kubernetes на Linux, включая подготовку системы, настройку master-узла и worker-узлов, а также проверку работоспособности кластера.",[1107,1108,1109,335,1110],"Linux","Kubernetes","инсталляция","clustering","guide","ruiUXVgWZr7jlW8eaM0Aqi4xC9VhpmBzis_3UvPzOrw",{"data":1114,"body":1115},{},{"type":1116,"children":1117},"root",[1118],{"type":1119,"tag":21,"props":1120,"children":1121},"element",{},[1122],{"type":1123,"value":1058},"text",{"data":1125,"body":1126},{},{"type":1116,"children":1127},[1128],{"type":1119,"tag":21,"props":1129,"children":1130},{},[1131],{"type":1123,"value":1061},{"data":1133,"body":1134},{},{"type":1116,"children":1135},[1136],{"type":1119,"tag":21,"props":1137,"children":1138},{},[1139,1141,1147,1149,1155],{"type":1123,"value":1140},"Запустите команду ",{"type":1119,"tag":46,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":1123,"value":1146},"kubectl get nodes",{"type":1123,"value":1148}," — если ноды отображаются как Ready, кластер работает корректно. Также можно открыть панель управления Kubernetes Dashboard (",{"type":1119,"tag":46,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":1123,"value":1154},"kubectl proxy",{"type":1123,"value":1156}," + UI).",{"data":1158,"body":1159},{},{"type":1116,"children":1160},[1161],{"type":1119,"tag":21,"props":1162,"children":1163},{},[1164,1166,1172],{"type":1123,"value":1165},"Убедитесь, что сетевые интерфейсы имеют статический IP, отключена STP, включено IPv4-переадресация, а bridge-utils настроены правильно (",{"type":1119,"tag":46,"props":1167,"children":1169},{"className":1168},[],[1170],{"type":1123,"value":1171},"brctl show",{"type":1123,"value":1173},"). Перезапустите сетевые службы после изменений.",{"data":1175,"body":1176},{},{"type":1116,"children":1177},[1178],{"type":1119,"tag":21,"props":1179,"children":1180},{},[1181],{"type":1123,"value":1071},{"data":1183,"body":1184},{},{"type":1116,"children":1185},[1186],{"type":1119,"tag":21,"props":1187,"children":1188},{},[1189],{"type":1123,"value":1074},{"data":1191,"body":1192},{},{"type":1116,"children":1193},[1194],{"type":1119,"tag":21,"props":1195,"children":1196},{},[1197,1199,1204],{"type":1123,"value":1198},"Выполните ",{"type":1119,"tag":46,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":1123,"value":511},{"type":1123,"value":1205},", сохраните join-команду, настройте kubectl для текущего пользователя и разверните сетевую политику (Calico).",{"data":1207,"body":1208},{},{"type":1116,"children":1209},[1210],{"type":1119,"tag":21,"props":1211,"children":1212},{},[1213],{"type":1123,"value":1080},{"data":1215,"body":1216},{},{"type":1116,"children":1217},[1218],{"type":1119,"tag":21,"props":1219,"children":1220},{},[1221,1223,1228],{"type":1123,"value":1222},"Проверьте статус нод (",{"type":1119,"tag":46,"props":1224,"children":1226},{"className":1225},[],[1227],{"type":1123,"value":1146},{"type":1123,"value":1229},"), запустите тестовый под, опционально откройте Kubernetes Dashboard.",[1231],{"id":1232,"title":1233,"appliesTo":1234,"author":11,"body":1241,"canonical":1048,"code":1048,"createdAt":2315,"description":2316,"difficulty":2317,"draft":1052,"estimatedTime":2318,"extension":1054,"faq":2319,"howToSteps":2332,"howToTotalTime":2348,"image":1048,"keywords":2349,"locale":1094,"meta":2360,"navigation":167,"path":1099,"platform":1097,"related":2361,"section":2365,"seo":2366,"severity":1048,"stem":2367,"summary":2368,"tags":2369,"twitterCreator":1048,"twitterSite":1048,"type":1111,"updatedAt":2315,"__hash__":2376},"content_ru/guides/linux/docker-installation.md","Установите Docker на Linux: пошаговая инструкция для Ubuntu, CentOS и других",[1235,1236,1237,1238,1239,1240],"Ubuntu 20.04/22.04/24.04","Debian 11/12","CentOS 7/8","RHEL 8/9","Fedora 35+","Arch Linux",{"type":13,"value":1242,"toc":2288},[1243,1245,1248,1250,1253,1283,1287,1294,1369,1371,1374,1378,1383,1570,1574,1624,1628,1635,1722,1725,1775,1779,1822,1826,1830,1905,1915,1919,1949,1951,1954,1990,1992,1996,2004,2009,2053,2060,2065,2079,2115,2122,2130,2135,2147,2154,2162,2170,2172,2176,2180,2186,2222,2228,2232,2239,2243,2246,2275,2285],[16,1244,19],{"id":18},[21,1246,1247],{},"Docker — это платформа для контейнеризации, которая позволяет упаковывать приложения и их зависимости в изолированные окружения. Установка Docker на Linux — это первый шаг к разработке, тестированию и развёртыванию современных облачных приложений. После выполнения этого гайда вы сможете запускать контейнеры, создавать образы и использовать весь экосистемный инструментарий Docker.",[16,1249,27],{"id":26},[21,1251,1252],{},"Перед началом убедитесь, что:",[29,1254,1255,1261,1264,1271],{},[32,1256,1257,1258,1260],{},"У вас есть доступ к учётной записи с правами ",[35,1259,130],{}," (или root).",[32,1262,1263],{},"Система подключена к интернету для загрузки пакетов.",[32,1265,1266,1267,1270],{},"Дистрибутив поддерживается Docker (список см. в ",[46,1268,1269],{},"appliesTo"," выше).",[32,1272,1273,1274,332,1276,1279,1280,1282],{},"Установлены базовые утилиты: ",[46,1275,388],{},[46,1277,1278],{},"gnupg"," (для Ubuntu/Debian) или ",[46,1281,497],{}," (для CentOS/RHEL).",[95,1284,1286],{"id":1285},"удаление-конфликтующих-пакетов-опционально","Удаление конфликтующих пакетов (опционально)",[21,1288,1289,1290,1293],{},"Если на системе ранее устанавливался Docker из репозитория дистрибутива (например, пакет ",[46,1291,1292],{},"docker.io","), удалите его:",[107,1295,1297],{"className":109,"code":1296,"language":111,"meta":112,"style":112},"# Для Ubuntu/Debian\nsudo apt-get remove docker docker-engine docker.io containerd runc\n\n# Для CentOS/RHEL/Fedora\nsudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine\n",[46,1298,1299,1304,1328,1332,1337],{"__ignoreMap":112},[116,1300,1301],{"class":118,"line":119},[116,1302,1303],{"class":122},"# Для Ubuntu/Debian\n",[116,1305,1306,1308,1310,1313,1316,1319,1322,1325],{"class":118,"line":126},[116,1307,130],{"class":129},[116,1309,356],{"class":133},[116,1311,1312],{"class":133}," remove",[116,1314,1315],{"class":133}," docker",[116,1317,1318],{"class":133}," docker-engine",[116,1320,1321],{"class":133}," docker.io",[116,1323,1324],{"class":133}," containerd",[116,1326,1327],{"class":133}," runc\n",[116,1329,1330],{"class":118,"line":141},[116,1331,168],{"emptyLinePlaceholder":167},[116,1333,1334],{"class":118,"line":147},[116,1335,1336],{"class":122},"# Для CentOS/RHEL/Fedora\n",[116,1338,1339,1341,1344,1346,1348,1351,1354,1357,1360,1363,1366],{"class":118,"line":164},[116,1340,130],{"class":129},[116,1342,1343],{"class":133}," yum",[116,1345,1312],{"class":133},[116,1347,1315],{"class":133},[116,1349,1350],{"class":133}," docker-client",[116,1352,1353],{"class":133}," docker-client-latest",[116,1355,1356],{"class":133}," docker-common",[116,1358,1359],{"class":133}," docker-latest",[116,1361,1362],{"class":133}," docker-latest-logrotate",[116,1364,1365],{"class":133}," docker-logrotate",[116,1367,1368],{"class":133}," docker-engine\n",[16,1370,93],{"id":92},[21,1372,1373],{},"Инструкции различаются в зависимости от дистрибутива. Выберите соответствующий раздел.",[95,1375,1377],{"id":1376},"для-ubuntu-debian","Для Ubuntu / Debian",[1379,1380,1382],"h4",{"id":1381},"шаг-1-установка-зависимостей-и-добавление-репозитория","Шаг 1: Установка зависимостей и добавление репозитория",[107,1384,1386],{"className":109,"code":1385,"language":111,"meta":112,"style":112},"# Обновление индекса пакетов\nsudo apt-get update\n\n# Установка необходимых пакетов для работы с HTTPS-репозиториями\nsudo apt-get install ca-certificates curl gnupg\n\n# Создание директории для ключей (если её нет)\nsudo install -m 0755 -d /etc/apt/keyrings\n\n# Импорт GPG-ключа Docker (официальный метод)\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\nsudo chmod a+r /etc/apt/keyrings/docker.gpg\n\n# Добавление репозитория Docker (замените `jammy` на вашу версию, например `focal`, `noble`)\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \\\n  $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n",[46,1387,1388,1393,1401,1405,1410,1427,1431,1436,1454,1458,1463,1485,1497,1501,1506,1513,1530,1555],{"__ignoreMap":112},[116,1389,1390],{"class":118,"line":119},[116,1391,1392],{"class":122},"# Обновление индекса пакетов\n",[116,1394,1395,1397,1399],{"class":118,"line":126},[116,1396,130],{"class":129},[116,1398,356],{"class":133},[116,1400,359],{"class":133},[116,1402,1403],{"class":118,"line":141},[116,1404,168],{"emptyLinePlaceholder":167},[116,1406,1407],{"class":118,"line":147},[116,1408,1409],{"class":122},"# Установка необходимых пакетов для работы с HTTPS-репозиториями\n",[116,1411,1412,1414,1416,1418,1421,1424],{"class":118,"line":164},[116,1413,130],{"class":129},[116,1415,356],{"class":133},[116,1417,368],{"class":133},[116,1419,1420],{"class":133}," ca-certificates",[116,1422,1423],{"class":133}," curl",[116,1425,1426],{"class":133}," gnupg\n",[116,1428,1429],{"class":118,"line":171},[116,1430,168],{"emptyLinePlaceholder":167},[116,1432,1433],{"class":118,"line":177},[116,1434,1435],{"class":122},"# Создание директории для ключей (если её нет)\n",[116,1437,1438,1440,1442,1445,1448,1451],{"class":118,"line":188},[116,1439,130],{"class":129},[116,1441,368],{"class":133},[116,1443,1444],{"class":137}," -m",[116,1446,1447],{"class":137}," 0755",[116,1449,1450],{"class":137}," -d",[116,1452,1453],{"class":133}," /etc/apt/keyrings\n",[116,1455,1456],{"class":118,"line":193},[116,1457,168],{"emptyLinePlaceholder":167},[116,1459,1460],{"class":118,"line":199},[116,1461,1462],{"class":122},"# Импорт GPG-ключа Docker (официальный метод)\n",[116,1464,1465,1467,1469,1472,1474,1476,1478,1480,1482],{"class":118,"line":224},[116,1466,388],{"class":129},[116,1468,391],{"class":137},[116,1470,1471],{"class":133}," https://download.docker.com/linux/ubuntu/gpg",[116,1473,212],{"class":205},[116,1475,215],{"class":129},[116,1477,401],{"class":133},[116,1479,404],{"class":137},[116,1481,407],{"class":137},[116,1483,1484],{"class":133}," /etc/apt/keyrings/docker.gpg\n",[116,1486,1487,1489,1492,1495],{"class":118,"line":230},[116,1488,130],{"class":129},[116,1490,1491],{"class":133}," chmod",[116,1493,1494],{"class":133}," a+r",[116,1496,1484],{"class":133},[116,1498,1499],{"class":118,"line":236},[116,1500,168],{"emptyLinePlaceholder":167},[116,1502,1503],{"class":118,"line":242},[116,1504,1505],{"class":122},"# Добавление репозитория Docker (замените `jammy` на вашу версию, например `focal`, `noble`)\n",[116,1507,1508,1510],{"class":118,"line":252},[116,1509,424],{"class":137},[116,1511,1512],{"class":137}," \\\n",[116,1514,1515,1518,1521,1524,1527],{"class":118,"line":261},[116,1516,1517],{"class":133},"  \"deb [arch=$(",[116,1519,1520],{"class":129},"dpkg",[116,1522,1523],{"class":137}," --print-architecture",[116,1525,1526],{"class":133},") signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ",[116,1528,1529],{"class":137},"\\\n",[116,1531,1532,1535,1537,1540,1542,1545,1548,1551,1553],{"class":118,"line":266},[116,1533,1534],{"class":133},"  $(",[116,1536,49],{"class":137},[116,1538,1539],{"class":133}," /etc/os-release && ",[116,1541,424],{"class":137},[116,1543,1544],{"class":133}," \"",[116,1546,1547],{"class":602},"$VERSION_CODENAME",[116,1549,1550],{"class":133},"\") stable\"",[116,1552,212],{"class":205},[116,1554,1512],{"class":137},[116,1556,1557,1560,1562,1565,1567],{"class":118,"line":272},[116,1558,1559],{"class":129},"  sudo",[116,1561,218],{"class":133},[116,1563,1564],{"class":133}," /etc/apt/sources.list.d/docker.list",[116,1566,540],{"class":205},[116,1568,1569],{"class":133}," /dev/null\n",[1379,1571,1573],{"id":1572},"шаг-2-установка-docker-engine","Шаг 2: Установка Docker Engine",[107,1575,1577],{"className":109,"code":1576,"language":111,"meta":112,"style":112},"# Обновление кэша пакетов с нового репозитория\nsudo apt-get update\n\n# Установка последней версии Docker и зависимостей\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[46,1578,1579,1584,1592,1596,1601],{"__ignoreMap":112},[116,1580,1581],{"class":118,"line":119},[116,1582,1583],{"class":122},"# Обновление кэша пакетов с нового репозитория\n",[116,1585,1586,1588,1590],{"class":118,"line":126},[116,1587,130],{"class":129},[116,1589,356],{"class":133},[116,1591,359],{"class":133},[116,1593,1594],{"class":118,"line":141},[116,1595,168],{"emptyLinePlaceholder":167},[116,1597,1598],{"class":118,"line":147},[116,1599,1600],{"class":122},"# Установка последней версии Docker и зависимостей\n",[116,1602,1603,1605,1607,1609,1612,1615,1618,1621],{"class":118,"line":164},[116,1604,130],{"class":129},[116,1606,356],{"class":133},[116,1608,368],{"class":133},[116,1610,1611],{"class":133}," docker-ce",[116,1613,1614],{"class":133}," docker-ce-cli",[116,1616,1617],{"class":133}," containerd.io",[116,1619,1620],{"class":133}," docker-buildx-plugin",[116,1622,1623],{"class":133}," docker-compose-plugin\n",[95,1625,1627],{"id":1626},"для-centos-rhel-fedora","Для CentOS / RHEL / Fedora",[1379,1629,1631,1632,1634],{"id":1630},"шаг-1-установка-yum-utils-и-добавление-репозитория","Шаг 1: Установка ",[46,1633,497],{}," и добавление репозитория",[107,1636,1638],{"className":109,"code":1637,"language":111,"meta":112,"style":112},"# Для CentOS/RHEL 7/8\nsudo yum install -y yum-utils\n\n# Для Fedora (использует dnf)\nsudo dnf install -y dnf-plugins-core\n\n# Добавление стабильного репозитория Docker\nsudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\n# Или для Fedora:\nsudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo\n",[46,1639,1640,1645,1658,1662,1667,1681,1685,1690,1703,1708],{"__ignoreMap":112},[116,1641,1642],{"class":118,"line":119},[116,1643,1644],{"class":122},"# Для CentOS/RHEL 7/8\n",[116,1646,1647,1649,1651,1653,1655],{"class":118,"line":126},[116,1648,130],{"class":129},[116,1650,1343],{"class":133},[116,1652,368],{"class":133},[116,1654,371],{"class":137},[116,1656,1657],{"class":133}," yum-utils\n",[116,1659,1660],{"class":118,"line":141},[116,1661,168],{"emptyLinePlaceholder":167},[116,1663,1664],{"class":118,"line":147},[116,1665,1666],{"class":122},"# Для Fedora (использует dnf)\n",[116,1668,1669,1671,1674,1676,1678],{"class":118,"line":164},[116,1670,130],{"class":129},[116,1672,1673],{"class":133}," dnf",[116,1675,368],{"class":133},[116,1677,371],{"class":137},[116,1679,1680],{"class":133}," dnf-plugins-core\n",[116,1682,1683],{"class":118,"line":171},[116,1684,168],{"emptyLinePlaceholder":167},[116,1686,1687],{"class":118,"line":177},[116,1688,1689],{"class":122},"# Добавление стабильного репозитория Docker\n",[116,1691,1692,1694,1697,1700],{"class":118,"line":188},[116,1693,130],{"class":129},[116,1695,1696],{"class":133}," yum-config-manager",[116,1698,1699],{"class":137}," --add-repo",[116,1701,1702],{"class":133}," https://download.docker.com/linux/centos/docker-ce.repo\n",[116,1704,1705],{"class":118,"line":193},[116,1706,1707],{"class":122},"# Или для Fedora:\n",[116,1709,1710,1712,1714,1717,1719],{"class":118,"line":199},[116,1711,130],{"class":129},[116,1713,1673],{"class":133},[116,1715,1716],{"class":133}," config-manager",[116,1718,1699],{"class":137},[116,1720,1721],{"class":133}," https://download.docker.com/linux/fedora/docker-ce.repo\n",[1379,1723,1573],{"id":1724},"шаг-2-установка-docker-engine-1",[107,1726,1728],{"className":109,"code":1727,"language":111,"meta":112,"style":112},"# Установка последней версии (для CentOS/RHEL/Fedora)\nsudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\n# Если yum сообщает о конфликтах, можно попробовать:\nsudo yum install docker-ce --allowerasing\n",[46,1729,1730,1735,1753,1757,1762],{"__ignoreMap":112},[116,1731,1732],{"class":118,"line":119},[116,1733,1734],{"class":122},"# Установка последней версии (для CentOS/RHEL/Fedora)\n",[116,1736,1737,1739,1741,1743,1745,1747,1749,1751],{"class":118,"line":126},[116,1738,130],{"class":129},[116,1740,1343],{"class":133},[116,1742,368],{"class":133},[116,1744,1611],{"class":133},[116,1746,1614],{"class":133},[116,1748,1617],{"class":133},[116,1750,1620],{"class":133},[116,1752,1623],{"class":133},[116,1754,1755],{"class":118,"line":141},[116,1756,168],{"emptyLinePlaceholder":167},[116,1758,1759],{"class":118,"line":147},[116,1760,1761],{"class":122},"# Если yum сообщает о конфликтах, можно попробовать:\n",[116,1763,1764,1766,1768,1770,1772],{"class":118,"line":164},[116,1765,130],{"class":129},[116,1767,1343],{"class":133},[116,1769,368],{"class":133},[116,1771,1611],{"class":133},[116,1773,1774],{"class":137}," --allowerasing\n",[95,1776,1778],{"id":1777},"для-arch-linux","Для Arch Linux",[107,1780,1782],{"className":109,"code":1781,"language":111,"meta":112,"style":112},"# Установка из официальных репозиториев Arch\nsudo pacman -S docker\n\n# Дополнительно можно установить docker-compose (если нужен отдельный пакет)\nsudo pacman -S docker-compose\n",[46,1783,1784,1789,1802,1806,1811],{"__ignoreMap":112},[116,1785,1786],{"class":118,"line":119},[116,1787,1788],{"class":122},"# Установка из официальных репозиториев Arch\n",[116,1790,1791,1793,1796,1799],{"class":118,"line":126},[116,1792,130],{"class":129},[116,1794,1795],{"class":133}," pacman",[116,1797,1798],{"class":137}," -S",[116,1800,1801],{"class":133}," docker\n",[116,1803,1804],{"class":118,"line":141},[116,1805,168],{"emptyLinePlaceholder":167},[116,1807,1808],{"class":118,"line":147},[116,1809,1810],{"class":122},"# Дополнительно можно установить docker-compose (если нужен отдельный пакет)\n",[116,1812,1813,1815,1817,1819],{"class":118,"line":164},[116,1814,130],{"class":129},[116,1816,1795],{"class":133},[116,1818,1798],{"class":137},[116,1820,1821],{"class":133}," docker-compose\n",[95,1823,1825],{"id":1824},"общие-шаги-для-всех-дистрибутивов","Общие шаги для всех дистрибутивов",[1379,1827,1829],{"id":1828},"шаг-3-настройка-прав-доступа-и-запуск-сервиса","Шаг 3: Настройка прав доступа и запуск сервиса",[107,1831,1833],{"className":109,"code":1832,"language":111,"meta":112,"style":112},"# Добавление текущего пользователя в группу `docker` (чтобы не использовать sudo)\nsudo usermod -aG docker $USER\n\n# Запуск демона Docker и включение автозагрузки\nsudo systemctl start docker\nsudo systemctl enable docker\n\n# Проверка статуса (должен быть `active (running)`)\nsudo systemctl status docker\n",[46,1834,1835,1840,1855,1859,1864,1875,1885,1889,1894],{"__ignoreMap":112},[116,1836,1837],{"class":118,"line":119},[116,1838,1839],{"class":122},"# Добавление текущего пользователя в группу `docker` (чтобы не использовать sudo)\n",[116,1841,1842,1844,1847,1850,1852],{"class":118,"line":126},[116,1843,130],{"class":129},[116,1845,1846],{"class":133}," usermod",[116,1848,1849],{"class":137}," -aG",[116,1851,1315],{"class":133},[116,1853,1854],{"class":602}," $USER\n",[116,1856,1857],{"class":118,"line":141},[116,1858,168],{"emptyLinePlaceholder":167},[116,1860,1861],{"class":118,"line":147},[116,1862,1863],{"class":122},"# Запуск демона Docker и включение автозагрузки\n",[116,1865,1866,1868,1870,1873],{"class":118,"line":164},[116,1867,130],{"class":129},[116,1869,479],{"class":133},[116,1871,1872],{"class":133}," start",[116,1874,1801],{"class":133},[116,1876,1877,1879,1881,1883],{"class":118,"line":171},[116,1878,130],{"class":129},[116,1880,479],{"class":133},[116,1882,482],{"class":133},[116,1884,1801],{"class":133},[116,1886,1887],{"class":118,"line":177},[116,1888,168],{"emptyLinePlaceholder":167},[116,1890,1891],{"class":118,"line":188},[116,1892,1893],{"class":122},"# Проверка статуса (должен быть `active (running)`)\n",[116,1895,1896,1898,1900,1903],{"class":118,"line":193},[116,1897,130],{"class":129},[116,1899,479],{"class":133},[116,1901,1902],{"class":133}," status",[116,1904,1801],{"class":133},[81,1906,1907],{},[21,1908,1022,1909,1911,1912,49],{},[35,1910,1025],{}," Изменения группы вступят в силу после выхода и повторного входа в систему или выполнения ",[46,1913,1914],{},"newgrp docker",[1379,1916,1918],{"id":1917},"шаг-4-проверка-установки","Шаг 4: Проверка установки",[107,1920,1922],{"className":109,"code":1921,"language":111,"meta":112,"style":112},"# Загрузка и запуск тестового контейнера `hello-world`\ndocker run hello-world\n\n# Ожидаемый вывод: сообщение об успешной загрузке образа и приветствие.\n",[46,1923,1924,1929,1940,1944],{"__ignoreMap":112},[116,1925,1926],{"class":118,"line":119},[116,1927,1928],{"class":122},"# Загрузка и запуск тестового контейнера `hello-world`\n",[116,1930,1931,1934,1937],{"class":118,"line":126},[116,1932,1933],{"class":129},"docker",[116,1935,1936],{"class":133}," run",[116,1938,1939],{"class":133}," hello-world\n",[116,1941,1942],{"class":118,"line":141},[116,1943,168],{"emptyLinePlaceholder":167},[116,1945,1946],{"class":118,"line":147},[116,1947,1948],{"class":122},"# Ожидаемый вывод: сообщение об успешной загрузке образа и приветствие.\n",[16,1950,901],{"id":900},[21,1952,1953],{},"Успешная установка подтверждается:",[1955,1956,1957,1964,1971,1981],"ol",{},[32,1958,1959,1960,1963],{},"Команда ",[46,1961,1962],{},"docker version"," показывает клиентскую и серверную версии без ошибок.",[32,1965,1966,1967,1970],{},"Контейнер ",[46,1968,1969],{},"hello-world"," запускается и выводит приветственное сообщение.",[32,1972,1973,1974,1977,1978,49],{},"Демон Docker активен: ",[46,1975,1976],{},"sudo systemctl is-active docker"," возвращает ",[46,1979,1980],{},"active",[32,1982,1983,1984,1987,1988,49],{},"Текущий пользователь может выполнять ",[46,1985,1986],{},"docker ps"," без ",[46,1989,130],{},[16,1991,928],{"id":927},[95,1993,1995],{"id":1994},"ошибка-cannot-connect-to-the-docker-daemon-at-unixvarrundockersock-is-the-docker-daemon-running","Ошибка: \"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?\"",[21,1997,1998,2001,2002,49],{},[35,1999,2000],{},"Причина:"," Демон Docker не запущен или текущий пользователь не в группе ",[46,2003,1933],{},[21,2005,2006],{},[35,2007,2008],{},"Решение:",[107,2010,2012],{"className":109,"code":2011,"language":111,"meta":112,"style":112},"sudo systemctl start docker\n# Добавьте пользователя в группу, если ещё не делали\nsudo usermod -aG docker $USER\n# Перезайдите в систему или выполните:\nnewgrp docker\n",[46,2013,2014,2024,2029,2041,2046],{"__ignoreMap":112},[116,2015,2016,2018,2020,2022],{"class":118,"line":119},[116,2017,130],{"class":129},[116,2019,479],{"class":133},[116,2021,1872],{"class":133},[116,2023,1801],{"class":133},[116,2025,2026],{"class":118,"line":126},[116,2027,2028],{"class":122},"# Добавьте пользователя в группу, если ещё не делали\n",[116,2030,2031,2033,2035,2037,2039],{"class":118,"line":141},[116,2032,130],{"class":129},[116,2034,1846],{"class":133},[116,2036,1849],{"class":137},[116,2038,1315],{"class":133},[116,2040,1854],{"class":602},[116,2042,2043],{"class":118,"line":147},[116,2044,2045],{"class":122},"# Перезайдите в систему или выполните:\n",[116,2047,2048,2051],{"class":118,"line":164},[116,2049,2050],{"class":129},"newgrp",[116,2052,1801],{"class":133},[95,2054,2056,2057],{"id":2055},"ошибка-gpg-ключ-не-найден-или-no_pubkey","Ошибка: GPG-ключ не найден или ",[46,2058,2059],{},"NO_PUBKEY",[21,2061,2062,2064],{},[35,2063,2000],{}," Не установлен или не добавлен ключ репозитория Docker.",[21,2066,2067,2070,2071,2074,2075,2078],{},[35,2068,2069],{},"Решение (Ubuntu/Debian):"," Убедитесь, что ключ скопирован в ",[46,2072,2073],{},"/etc/apt/keyrings/docker.gpg"," и имеет права ",[46,2076,2077],{},"a+r",". Для старых версий (до Ubuntu 22.04) может потребоваться:",[107,2080,2082],{"className":109,"code":2081,"language":111,"meta":112,"style":112},"sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys \u003CID_ключа>\n",[46,2083,2084],{"__ignoreMap":112},[116,2085,2086,2088,2091,2094,2097,2100,2103,2106,2109,2112],{"class":118,"line":119},[116,2087,130],{"class":129},[116,2089,2090],{"class":133}," apt-key",[116,2092,2093],{"class":133}," adv",[116,2095,2096],{"class":137}," --keyserver",[116,2098,2099],{"class":133}," keyserver.ubuntu.com",[116,2101,2102],{"class":137}," --recv-keys",[116,2104,2105],{"class":205}," \u003C",[116,2107,2108],{"class":133},"ID_ключ",[116,2110,2111],{"class":602},"а",[116,2113,2114],{"class":205},">\n",[21,2116,2117,2118,2121],{},"Но метод с ",[46,2119,2120],{},"/etc/apt/keyrings"," предпочтительнее.",[95,2123,2125,2126,2129],{"id":2124},"ошибка-error-failed-to-solve-при-попытке-запуска","Ошибка: ",[46,2127,2128],{},"Error: failed to solve: ..."," при попытке запуска",[21,2131,2132,2134],{},[35,2133,2000],{}," Недостаточно места на диске или проблемы с сетью при загрузке образа.",[21,2136,2137,2139,2140,2143,2144,49],{},[35,2138,2008],{}," Проверьте свободное место (",[46,2141,2142],{},"df -h",") и подключение к Docker Hub. Можно попробовать очистить старые образы: ",[46,2145,2146],{},"docker system prune -a",[95,2148,2150,2151],{"id":2149},"конфликт-версий-containerd","Конфликт версий ",[46,2152,2153],{},"containerd",[21,2155,2156,2158,2159,2161],{},[35,2157,2000],{}," В некоторых дистрибутивах (особенно CentOS 7) предустановленная версия ",[46,2160,2153],{}," слишком старая.",[21,2163,2164,2166,2167,2169],{},[35,2165,2008],{}," Удалите системный ",[46,2168,2153],{}," перед установкой Docker (он будет установлен как зависимость). Или используйте официальный скрипт Docker для ручной установки.",[500,2171],{},[16,2173,2175],{"id":2174},"дополнительные-настройки-опционально","Дополнительные настройки (опционально)",[95,2177,2179],{"id":2178},"настройка-dns-для-контейнеров","Настройка DNS для контейнеров",[21,2181,2182,2183,645],{},"Если контейнеры не могут разрешать имена, отредактируйте ",[46,2184,2185],{},"/etc/docker/daemon.json",[107,2187,2191],{"className":2188,"code":2189,"language":2190,"meta":112,"style":112},"language-json shiki shiki-themes github-light github-dark","{\n  \"dns\": [\"8.8.8.8\", \"1.1.1.1\"]\n}\n","json",[46,2192,2193,2198,2217],{"__ignoreMap":112},[116,2194,2195],{"class":118,"line":119},[116,2196,2197],{"class":602},"{\n",[116,2199,2200,2203,2206,2209,2211,2214],{"class":118,"line":126},[116,2201,2202],{"class":137},"  \"dns\"",[116,2204,2205],{"class":602},": [",[116,2207,2208],{"class":133},"\"8.8.8.8\"",[116,2210,332],{"class":602},[116,2212,2213],{"class":133},"\"1.1.1.1\"",[116,2215,2216],{"class":602},"]\n",[116,2218,2219],{"class":118,"line":141},[116,2220,2221],{"class":602},"}\n",[21,2223,2224,2225,49],{},"После изменений перезапустите демон: ",[46,2226,2227],{},"sudo systemctl restart docker",[95,2229,2231],{"id":2230},"увеличение-размеров-образов-для-production","Увеличение размеров образов (для production)",[21,2233,2234,2235,2238],{},"Для продакшн-сред рекомендуется настройка драйвера хранения (например, ",[46,2236,2237],{},"overlay2",") и лимитов ресурсов. См. официальную документацию Docker по настройке демона.",[16,2240,2242],{"id":2241},"заключительные-рекомендации","Заключительные рекомендации",[21,2244,2245],{},"Теперь, когда Docker установлен, вы можете:",[1955,2247,2248,2262,2269],{},[32,2249,2250,2251,332,2254,332,2257,332,2259,49],{},"Изучить базовые команды: ",[46,2252,2253],{},"docker pull",[46,2255,2256],{},"docker run",[46,2258,1986],{},[46,2260,2261],{},"docker exec",[32,2263,2264,2265,2268],{},"Написать свой первый ",[46,2266,2267],{},"Dockerfile"," и собрать образ.",[32,2270,2271,2272,67],{},"Установить Docker Compose для оркестрации многоконтейнерных приложений (входит в пакет ",[46,2273,2274],{},"docker-compose-plugin",[21,2276,2277,2278,332,2281,2284],{},"Для обновления Docker в будущем используйте стандартный менеджер пакетов (",[46,2279,2280],{},"apt upgrade",[46,2282,2283],{},"yum update","). Регулярно проверяйте обновления безопасности.",[1032,2286,2287],{},"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":112,"searchDepth":126,"depth":126,"links":2289},[2290,2291,2294,2300,2301,2310,2314],{"id":18,"depth":126,"text":19},{"id":26,"depth":126,"text":27,"children":2292},[2293],{"id":1285,"depth":141,"text":1286},{"id":92,"depth":126,"text":93,"children":2295},[2296,2297,2298,2299],{"id":1376,"depth":141,"text":1377},{"id":1626,"depth":141,"text":1627},{"id":1777,"depth":141,"text":1778},{"id":1824,"depth":141,"text":1825},{"id":900,"depth":126,"text":901},{"id":927,"depth":126,"text":928,"children":2302},[2303,2304,2306,2308],{"id":1994,"depth":141,"text":1995},{"id":2055,"depth":141,"text":2305},"Ошибка: GPG-ключ не найден или NO_PUBKEY",{"id":2124,"depth":141,"text":2307},"Ошибка: Error: failed to solve: ... при попытке запуска",{"id":2149,"depth":141,"text":2309},"Конфликт версий containerd",{"id":2174,"depth":126,"text":2175,"children":2311},[2312,2313],{"id":2178,"depth":141,"text":2179},{"id":2230,"depth":141,"text":2231},{"id":2241,"depth":126,"text":2242},"2026-02-16 13:46:05","Полное руководство по установке Docker на любом дистрибутиве Linux. Официальные репозитории, настройка прав и проверка работы за 15 минут.","easy","15-30 мин",[2320,2323,2326,2329],{"question":2321,"answer":2322},"Почему Docker требует sudo для каждой команды?","По умолчанию только root и пользователи в группе `docker` могут управлять демоном. Добавьте текущего пользователя в группу `docker` и перезайдите в систему, чтобы работать без sudo.",{"question":2324,"answer":2325},"Что делать, если при добавлении GPG-ключа возникает ошибка?","Убедитесь, что пакет `curl` или `gnupg` установлен. На старых дистрибутивах может потребоваться использовать `apt-key` (устарел) или вручную скачать ключ.",{"question":2327,"answer":2328},"Можно ли установить Docker на Raspberry Pi с Linux?","Да, но нужно использовать версию Docker для архитектуры ARM. Установите пакет `docker.io` из репозитория дистрибутива или используйте официальный скрипт для ARM.",{"question":2330,"answer":2331},"Как полностью удалить Docker перед переустановкой?","Выполните: `sudo apt-get purge docker-ce docker-ce-cli containerd.io` (для Ubuntu/Debian) или `sudo yum remove docker-ce` (для CentOS/RHEL), затем удалите файлы в `/var/lib/docker`.",[2333,2336,2339,2342,2345],{"name":2334,"text":2335},"Подготовьте систему и удалите старые версии Docker","Обновите кэш пакетов и удалите конфликтующие пакеты Docker, если они есть. Это гарантирует чистую установку.",{"name":2337,"text":2338},"Добавьте официальный репозиторий Docker","Импортируйте GPG-ключ Docker и добавьте стабильный репозиторий, соответствующий вашему дистрибутиву.",{"name":2340,"text":2341},"Установите Docker Engine и вспомогательные компоненты","Установите пакеты `docker-ce`, `docker-ce-cli` и `containerd.io` через менеджер пакетов вашего дистрибутива.",{"name":2343,"text":2344},"Настройте права доступа и запустите сервис","Добавьте текущего пользователя в группу `docker`, затем запустите и включите автозагрузку демона Docker.",{"name":2346,"text":2347},"Проверьте работоспособность установки","Выполните команду `docker run hello-world` для проверки связи с демоном и корректности настройки.","PT30M",[2350,2351,2352,2353,2354,2355,2356,2357,2358,2359],"установка docker на linux","docker engine установка ubuntu","как установить docker на centos","docker linux инструкция","установка docker через терминал","docker ошибка permission denied","добавить репозиторий docker","запуск docker без sudo","docker hello world","удалить старый docker",{},[2362,2363,2364],"/guides/linux/docker-run-basic","/errors/linux/docker-permission-denied","/guides/linux/docker-compose-install","Гайды Docker",{"title":1233,"description":2316},"guides/linux/docker-installation","Этот гайд поможет вам правильно установить Docker Engine на популярные дистрибутивы Linux, включая Ubuntu, CentOS, Fedora и Arch. Вы научитесь добавлять репозиторий, устанавливать пакеты и настраивать права для работы без sudo.",[2370,1933,1097,2371,2372,2373,2374,2375],"установка","ubuntu","centos","containerization","devops","контейнеры","E7mh90BkVudDcPI6Cr_QBqlS5DHoLvpQZQS6L1zaZgY"]