LINUX.ORG.RU

kuber install and crash

 


0

1

Установил kubernetes на Debian(VirtualBox)Mem=5048,Cpu=2 В какую сторону копать ошибку???

стартую:

kubeadm init –control-plane-endpoint=$HOSTNAME

По началу ПОДы показывал,потом началось:

kubectl get pods –all-namespaces

The connection to the server node-01:6443 was refused - did you specify the right host or port?

journalctl -f -u kubelet.service

Dec 17 12:54:22 node-01 kubelet[797]: I1217 12:54:22.422257     797 scope.go:117] "RemoveContainer" containerID="05b0005a56c8d217fdf85fc552ab3ac631003678a90080fccd5a44b7eaf6f99b"
Dec 17 12:54:22 node-01 kubelet[797]: E1217 12:54:22.422718     797 pod_workers.go:1301] "Error syncing pod, skipping" err="failed to \"StartContainer\" for \"kube-controller-manager\" w   ith CrashLoopBackOff: \"back-off 5m0s restarting failed container=kube-controller-manager pod=kube-controller-manager-node-01_kube-system(dcfb8f60d21e77af673e430a4091f4c8)\"" pod="kube-s   ystem/kube-controller-manager-node-01" podUID="dcfb8f60d21e77af673e430a4091f4c8"
Dec 17 12:54:24 node-01 kubelet[797]: E1217 12:54:24.438127     797 kubelet.go:3117] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"
Dec 17 12:54:25 node-01 kubelet[797]: I1217 12:54:25.454727     797 scope.go:117] "RemoveContainer" containerID="05b935247939a259d83e6463968bda857cc1c3c28473a684c5efbf7d60163f3b"
Dec 17 12:54:25 node-01 kubelet[797]: E1217 12:54:25.455866     797 pod_workers.go:1301] "Error syncing pod, skipping" err="failed to \"StartContainer\" for \"kube-apiserver\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=kube-apiserver pod=kube-apiserver-node-01_kube-system(2f88ee07fe379110744672da1a8923b3)\"" pod="kube-system/kube-apiserver-node-01" podUID="2f88ee07fe379110744672da1a8923b3"
Dec 17 12:54:27 node-01 kubelet[797]: I1217 12:54:27.469044     797 scope.go:117] "RemoveContainer" containerID="25b904a2237a91dbbfb79613c19816977b473fc370a30e03c1b5e636a8250216"
Dec 17 12:54:27 node-01 kubelet[797]: E1217 12:54:27.470882     797 pod_workers.go:1301] "Error syncing pod, skipping" err="failed to \"StartContainer\" for \"kube-proxy\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=kube-proxy pod=kube-proxy-q6qkc_kube-system(5542650e-f8d2-4fa8-82a1-cca6baf42fcc)\"" pod="kube-system/kube-proxy-q6qkc" podUID="5542650e-f8d2-4fa8-82a1-cca6baf42fcc"
Dec 17 12:54:28 node-01 kubelet[797]: E1217 12:54:28.651589     797 controller.go:145] "Failed to ensure lease exists, will retry" err="Get \"https://192.168.1.10:6443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/leases/node-01?timeout=10s\": dial tcp 192.168.1.10:6443: connect: connection refused" interval="7s"
Dec 17 12:54:28 node-01 kubelet[797]: E1217 12:54:28.780613     797 event.go:368] "Unable to write event (may retry after sleeping)" err="Patch \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/events/kube-scheduler-node-01.18821052a502108b\": dial tcp 192.168.1.10:6443: connect: connection refused" event="&Event{ObjectMeta:{kube-scheduler-node-01.18821052a502108b  kube-system   3172 0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] [] []},InvolvedObject:ObjectReference{Kind:Pod,Namespace:kube-system,Name:kube-scheduler-node-01,UID:eb3bdd36cec9338c0ac264972d3ecaa9,APIVersion:v1,ResourceVersion:,FieldPath:spec.containers{kube-scheduler},},Reason:BackOff,Message:Back-off restarting failed container kube-scheduler in pod kube-scheduler-node-01_kube-system(eb3bdd36cec9338c0ac264972d3ecaa9),Source:EventSource{Component:kubelet,Host:node-01,},FirstTimestamp:2025-12-17 12:19:11 -0500 EST,LastTimestamp:2025-12-17 12:52:35.458928337 -0500 EST m=+2165.415672342,Count:142,Type:Warning,EventTime:0001-01-01 00:00:00 +0000 UTC,Series:nil,Action:,Related:nil,ReportingController:kubelet,ReportingInstance:node-01,}"
Dec 17 12:54:29 node-01 kubelet[797]: E1217 12:54:29.443856     797 kubelet.go:3117] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.485105     797 status_manager.go:895] "Failed to get status for pod" podUID="2f88ee07fe379110744672da1a8923b3" pod="kube-system/kube-apiserver-node-01" err="Get \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/pods/kube-apiserver-node-01\": dial tcp 192.168.1.10:6443: connect: connection refused"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.486821     797 status_manager.go:895] "Failed to get status for pod" podUID="dcfb8f60d21e77af673e430a4091f4c8" pod="kube-system/kube-controller-manager-node-01" err="Get \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/pods/kube-controller-manager-node-01\": dial tcp 192.168.1.10:6443: connect: connection refused"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.488659     797 status_manager.go:895] "Failed to get status for pod" podUID="eb3bdd36cec9338c0ac264972d3ecaa9" pod="kube-system/kube-scheduler-node-01" err="Get \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/pods/kube-scheduler-node-01\": dial tcp 192.168.1.10:6443: connect: connection refused"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.489371     797 status_manager.go:895] "Failed to get status for pod" podUID="5542650e-f8d2-4fa8-82a1-cca6baf42fcc" pod="kube-system/kube-proxy-q6qkc" err="Get \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/pods/kube-proxy-q6qkc\": dial tcp 192.168.1.10:6443: connect: connection refused"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.490248     797 status_manager.go:895] "Failed to get status for pod" podUID="51c670536858241606c4bad9a5634813" pod="kube-system/etcd-node-01" err="Get \"https://192.168.1.10:6443/api/v1/namespaces/kube-system/pods/etcd-node-01\": dial tcp 192.168.1.10:6443: connect: connection refused"
Dec 17 12:54:30 node-01 kubelet[797]: I1217 12:54:30.518076     797 scope.go:117] "RemoveContainer" containerID="e2a7510faecfe25de69adf5dcfaf75cb5d08f14560540791829c45de00002d64"
Dec 17 12:54:30 node-01 kubelet[797]: E1217 12:54:30.518386     797 pod_workers.go:1301] "Error syncing pod, skipping" err="failed to \"StartContainer\" for \"kube-scheduler\" with CrashLoopBackOff: \"back-off 5m0s restarting failed container=kube-scheduler pod=kube-scheduler-node-01_kube-system(eb3bdd36cec9338c0ac264972d3ecaa9)\"" pod="kube-system/kube-scheduler-node-01" podUID="eb3bdd36cec9338c0ac264972d3ecaa9"
^C

[b]kubectl events[/b]

LAST SEEN               TYPE      REASON                    OBJECT         MESSAGE
8m11s                   Normal    Starting                  Node/node-01   Starting kubelet.
8m11s                   Warning   InvalidDiskCapacity       Node/node-01   invalid capacity 0 on image filesystem
8m11s (x8 over 8m11s)   Normal    NodeHasSufficientMemory   Node/node-01   Node node-01 status is now: NodeHasSufficientMemory
8m11s (x8 over 8m11s)   Normal    NodeHasNoDiskPressure     Node/node-01   Node node-01 status is now: NodeHasNoDiskPressure
8m11s (x7 over 8m11s)   Normal    NodeHasSufficientPID      Node/node-01   Node node-01 status is now: NodeHasSufficientPID
8m11s                   Normal    NodeAllocatableEnforced   Node/node-01   Updated Node Allocatable limit across pods
8m2s                    Normal    Starting                  Node/node-01   Starting kubelet.
8m2s                    Warning   InvalidDiskCapacity       Node/node-01   invalid capacity 0 on image filesystem
8m2s                    Normal    NodeAllocatableEnforced   Node/node-01   Updated Node Allocatable limit across pods
8m2s                    Normal    NodeHasSufficientMemory   Node/node-01   Node node-01 status is now: NodeHasSufficientMemory
8m2s                    Normal    NodeHasNoDiskPressure     Node/node-01   Node node-01 status is now: NodeHasNoDiskPressure
8m2s                    Normal    NodeHasSufficientPID      Node/node-01   Node node-01 status is now: NodeHasSufficientPID
7m1s                    Normal    RegisteredNode            Node/node-01   Node node-01 event: Registered Node node-01 in Controller
6m58s                   Normal    Starting                  Node/node-01
4m58s                   Normal    Starting                  Node/node-01
4m34s                   Normal    RegisteredNode            Node/node-01   Node node-01 event: Registered Node node-01 in Controller
3m34s                   Normal    Starting                  Node/node-01

kubectl get pods –all-namespaces

NAMESPACE     NAME                              READY   STATUS             RESTARTS         AGE
kube-system   coredns-674b8bbfcf-nvm5q          0/1     Pending            0                46m
kube-system   coredns-674b8bbfcf-zpkbl          0/1     Pending            0                46m
kube-system   etcd-node-01                      1/1     Running            63 (2m23s ago)   46m
kube-system   kube-apiserver-node-01            1/1     Running            68 (2m16s ago)   46m
kube-system   kube-controller-manager-node-01   0/1     CrashLoopBackOff   69 (45s ago)     47m
kube-system   kube-proxy-gxhnz                  1/1     Running            21 (62s ago)     46m
kube-system   kube-scheduler-node-01            1/1     Running            77 (58s ago)     46m


Последнее исправление: antonio-an (всего исправлений: 5)
Ответ на: комментарий от kostik87

kubectl get ippool -o yaml

Error from server (NotFound): ipaddresses.networking.k8s.io "pool" not found

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:31:fb:d8 brd ff:ff:ff:ff:ff:ff
    altname enx08002731fbd8
    inet 192.168.1.10/24 brd 192.168.1.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe31:fbd8/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:87:02:da:9c brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
antonio-an
() автор топика
Ответ на: комментарий от antonio-an

У тебя не стоит никакой плагин сети, поставь, при инициализации для сети подов задай сеть отличную от сети хоста, не должны пересекаться.

В hosts должно разрешаться имя хоста.

Если будешь ставить calico - в нём укажи корректно ippool в манифесте.

kostik87 ★★★★★
()
Ответ на: комментарий от antonio-an
Ответ на: комментарий от kostik87

kostik87

Из статьи добавил

kubeadm init --pod-network-cidr=10.244.0.0/16

Перед эти сделал: kubeadmin reset

ТОже самое осталось.

antonio-an
() автор топика
Последнее исправление: antonio-an (всего исправлений: 3)

Возьми RKE2. Это готовый дистр, с почти ванильным кубом. Брат жив, зависимость лютейшая.

https://github.com/lablabs/ansible-role-rke2

Я лично этой ролью кстаю, в целом там ничего такого нет, чего бы я и сам не написал. Только CNI советую руками ставить, cilium в поставке управляется как-то странно и проще его выкатывать отдельно.

Самое крутое в RKE2, когда назреет пора обновлять кластер, в отличии от зло-чего кубспрея или того хуже, ручного kubeadm, можно будет сразу через несколько версий перескочить, а не трястись что у тебя посреди обновления часть нод отвалилось и хрен знает что с этим теперь делать, помимо этого там ещё парочка приятных плюшек прикручено, но в целом да.

Pierre_Dolle
()
Ответ на: комментарий от kostik87

Плагин сети установлен?

В статьях с установкой про это не упоминается, поэтому я не понимаю про что речь. Можете показать статью пример?

В hosts что?

Там все нормально хост пингуется по этому имени.

antonio-an
() автор топика
Ответ на: комментарий от antonio-an

Привожу ссылку: https://reg.cloud/support/cloud/oblachnyye-servery/ustanovka-programmnogo-obespecheniya/rukovodstvo-po-kubernetes?utm_source=google.com&utm_medium=organic&utm_campaign=reg.cloud&utm_referrer=google.com&utm_content=%2Fsupport%2Fcloud%2Foblachnyye-servery%2Fustanovka-programmnogo-obespecheniya%2Frukovodstvo-po-kubernetes#5

Удали все и следуй ей, если не можешь прочитать и проанализировать.

В статье используется flannel, можешь поставить calico или что-то другое.

kostik87 ★★★★★
()
Ответ на: комментарий от Pierre_Dolle

У меня в целом такая же мысль, но отключение swap, загрузка нужных модулей ядра, настройка их параметров - это вопрос ТС сделать правильно.

В том числе и просмотр логов kubelet.

Либо руками, например по приведенной статье, либо через готовые плейбуки.

Разбирать с ТС каждый нюанс, если в статье уже описаны шаги не вижу смысла.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

192.168.1.10 это внешний IP на виртуалке. Может куберу это не нравится?

cat /etc/hosts

127.0.0.1 localhost

192.168.1.10 node-01.localdomain node-01

# The following lines are desirable for IPv6 capable hosts

::1 localhost ip6-localhost ip6-loopback

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

kostik87

В статье используется flannel, можешь поставить calico или что-то другое.

Теперь разверните сеть подов — она используется для коммуникации между несколькими нодами в кластере. Чтобы развернуть виртуальную сеть Flannel pod network.

У меня нет сети между NODES, только 1 виртуалка - мне это не нужно.

antonio-an
() автор топика
Последнее исправление: antonio-an (всего исправлений: 10)
Ответ на: комментарий от antonio-an

Антон, проверяйте как минимум прочие настройки, swap не должно быть, должны быть загружены определённые модули и выставлены их параметры, для containerd или иного способа запуска контейнеров - выставлена поддержка Cgroup.

Смотрите статью, читайте документацию кубернетес.

Если есть swap или не загружены определённые модули и не настроены - контейнеры не будут корректно запускаться.

Следуйте документации.

kostik87 ★★★★★
()
Ответ на: комментарий от George

У них документация такая нудная. https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

Про модули ядра нет заметок.

https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ Где там указано какие параметры sysctl включать, не понятно.

antonio-an
() автор топика
Последнее исправление: antonio-an (всего исправлений: 1)
Ответ на: комментарий от kostik87

Поставил на Ubuntu Полёт нормальный крашлупбаков нет.

@kostik87 для визуализации и просмотра графиков какими инструментами у себя пользуетесь? Что посоветуете?

Я подключил Lens к кластеру Необходимо еще kubernetes metric server до установить.

Позже установка prometheus+grafana

antonio-an
() автор топика
Последнее исправление: antonio-an (всего исправлений: 3)
Ответ на: комментарий от antonio-an

Плагин flannel пришлось установить. Он отвечает за раздачу IP адресов внутри сети.

IP адреса не получают POD и статус Pending, с чем может быть связано??

kubectl get pods -A
NAMESPACE      NAME                                  READY   STATUS    RESTARTS       AGE
kube-flannel   kube-flannel-ds-bgtbf                 1/1     Running   2 (105s ago)   74m
kube-system    coredns-76f75df574-hp7kc              1/1     Running   2 (105s ago)   5h49m
kube-system    coredns-76f75df574-vn5b9              1/1     Running   2 (105s ago)   5h49m
kube-system    etcd-kube-master                      1/1     Running   6 (105s ago)   5h49m
kube-system    kube-apiserver-kube-master            1/1     Running   6 (105s ago)   5h49m
kube-system    kube-controller-manager-kube-master   1/1     Running   6 (105s ago)   5h49m
kube-system    kube-proxy-fhb2c                      1/1     Running   6 (105s ago)   5h49m
kube-system    kube-scheduler-kube-master            1/1     Running   6 (105s ago)   5h49m
kube-system    metrics-server-856f767b-g94mk         0/1     Pending   0              21m
antonio-an
() автор топика
Ответ на: комментарий от antonio-an

По умолчанию на мастер-ноде поды не получат IP адреса. Нужно выключить толерантность

kubectl taint nodes –all node-role.kubernetes.io/control-plane-

2 книги прочитал по куберу там такого нету…..

antonio-an
() автор топика