Kubeadm: Использование kubeadm для инициализации kubernetes 1.12.0 ошибочно: узел «xxx» не найден

Созданный на 3 окт. 2018  ·  45Комментарии  ·  Источник: kubernetes/kubeadm

Моя среда:

CentOS7 Linux

/ etc / hosts:

192.168.0.106 master01

192.168.0.107 узел02

192.168.0.108 узел01

На машине master01:

/ etc / hostname:

master01

На машине master01 я выполняю следующие команды:

1) yum install docker-ce kubelet kubeadm kubectl

2) systemctl start docker.service

3) vim / etc / sysconfig / kubelet

ИЗМЕНИТЬ файл:

KUBELET_EXTRA_ARGS = "- fail-swap-on = false"

4) systemctl включить docker kubelet

5) kubeadm init --kubernetes-version = v1.12.0 --pod-network-cidr = 10.244.0.0 / 16 servicecidr = 10.96.0.0 / 12 --ignore-preflight-errors = все

ТОГДА

E1002 23: 32: 36.072441 49157 kubelet.go: 2236] узел "master01" не найден
E1002 23: 32: 36.172630 49157 kubelet.go: 2236] узел "master01" не найден
E1002 23: 32: 36.273892 49157 kubelet.go: 2236] узел "master01" не найден
time = "2018-10-02T23: 32: 36 + 08: 00" level = info msg = "shim docker-containerd-shim start" address = "/ containerd-shim / moby / 52fbcdb7864cdf8039ded99b501447f13ba81a3897579fb64581c855653f369a / debug = false" pid = 49212
E1002 23: 32: 36.359984 49157 refctor.go: 134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:451: не удалось перечислить * v1.Node: получить https://192.168.0.106 : 6443 / api / v1 / nodes? fieldSelector = metadata.name% 3Dmaster01 & limit = 500 & resourceVersion = 0: dial tcp 192.168.0.106:6443: connect: соединение отклонено
I1002 23: 32: 36.377368 49157 kubelet_node_status.go: 276] Установка аннотации узла для включения / отключения контроллера тома
E1002 23: 32: 36.380290 49157 kubelet.go: 2236] узел "master01" не найден
E1002 23: 32: 36.380369 49157 отражатель.go: 134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: не удалось перечислить * v1.Pod: получить https://192.168.0.106 : 6443 / api / v1 / pods? fieldSelector = spec.nodeName% 3Dmaster01 & limit = 500 & resourceVersion = 0: набрать tcp 192.168.0.106:6443: connect: соединение отклонено
E1002 23: 32: 36.380409 49157 refctor.go: 134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:442: не удалось перечислить * v1.Service: получить https://192.168.0.106 : 6443 / api / v1 / services? limit = 500 & resourceVersion = 0: набрать tcp 192.168.0.106:6443: подключиться: соединение отклонено
time = "2018-10-02T23: 32: 36 + 08: 00" level = info msg = "shim docker-containerd-shim start" address = "/ containerd-shim / moby / f621eca36ce85e815172c37195ae7ac929112c84f3e37d16dd39c7e44ab13sock = false pid = 49243
I1002 23: 32: 36.414930 49157 kubelet_node_status.go: 70] Попытка зарегистрировать узел master01
E1002 23: 32: 36.416627 49157 kubelet_node_status.go: 92] Невозможно зарегистрировать узел master01 на сервере API: сообщение https://192.168.0.106 : 6443 / api / v1 / nodes: набрать tcp 192.168.0.106:6443: подключиться : В соединении отказано
time = "2018-10-02T23: 32: 36 + 08: 00" level = info msg = "shim docker-containerd-shim start" address = "/ containerd-shim / moby / db3f5acb415581d85aef199bea3f85432437c7ef00d357dca1b5684ed95b5591 / shim pid = 49259
E1002 23: 32: 36.488013 49157 kubelet.go: 2236] узел "master01" не найден
time = "2018-10-02T23: 32: 36 + 08: 00" level = info msg = "shim docker-containerd-shim started" address = "/ containerd-shim / moby / 505110c39ed4cd5b3fd4fb863012017a71fa782671ead943491afbf38310ffeck0 / debug.so pid = 49275
E1002 23: 32: 36.588919 49157 kubelet.go: 2236] узел "master01" не найден
E1002 23: 32: 36.691338 49157 kubelet.go: 2236] узел "master01" не найден

Я много раз пробовал!

Самый полезный комментарий

Та же проблема здесь с Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (последняя проверенная версия)
dockerd: активен, запущен
кубелет: активный, бегущий
selinux: отключен
firewalld: отключен

ОШИБКА:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
/ etc / hosts содержит узел, он доступен для проверки связи, он доступен - на самом деле это единственный рабочий узел с одним мастером (т. е. испорченный узел).

Где K8S ищет это значение? в / etc / hosts?
Я могу устранить неполадки и при необходимости предоставить дополнительные доказательства.

-> завершает ли kubeadm init и печатает ли токен ускоренного запуска?
Завершается длинной ошибкой:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

ПРИМЕЧАНИЕ. Ни одна из команд, предложенных после истечения тайм-аута, не сообщила о чем-либо, о чем стоит здесь упомянуть.

версия kubelet и kubeadm?
---> 1.13.0
kubeadm version: & version.Info {Major: "1", Minor: "13", GitVersion: "v1.13.0", GitCommit: "ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState: "clean", BuildDate21: "2018-12-03T 01Z ", GoVersion:" go1.11.2 ", компилятор:" gc ", платформа:" linux / amd64 "}

Кроме того, не следует ли устанавливать лучшее сообщение об ошибке, чем «узел не найден» с немного большей ясностью / подробностью в журналах kube?

Спасибо

Все 45 Комментарий

Первое сообщение об ошибке: невозможно загрузить файл CA клиента /etc/kubernetes/pki/ca.crt: открыть /etc/kubernetes/pki/ca.crt: нет такого файла или каталога

Первое сообщение об ошибке: невозможно загрузить файл CA клиента /etc/kubernetes/pki/ca.crt: открыть /etc/kubernetes/pki/ca.crt: нет такого файла или каталога

привет, вот несколько вопросов:
1) завершает ли kubeadm init и печатает ли токен ускоренного запуска?
2) версия среды выполнения контейнера?
3) это кубелет и кубеадм версии 1.12?

/ приоритетные потребности-больше-доказательств

необходимо выполнить systemctl start kubelet до инициализации kubeadm

У меня та же проблема ,, потому что сердцевина чашки меньше 2

та же проблема

@javacppc, как вы это решили? Когда я запустил systemctl start kubelet, я получил error code

такая же проблема с кубернетами 1.12.2.
@Javacppc, как вы это решили?

та же проблема

та же проблема

Привет ребята,

У меня здесь та же проблема, когда я запускаю кластер, я получил сообщение от токена, но я не могу установить облачное переплетение:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" The connection to the server 192.168.56.104:6443 was refused - did you specify the right host or port?

Когда я захожу в логи, я получаю сообщение об имени узла:

Dec 02 22:27:55 kubemaster5 kubelet[2838]: E1202 22:27:55.128645 2838 kubelet.go:2236] node "kubemaster5" not found

Кто-нибудь может послать мне немного света?

Спасибо!

моя проблема решена, и на самом деле это не ошибка, это потому, что apiserver по какой-то причине не запустился.

"apiserver по какой-то причине не запустился"? Не могли бы вы рассказать подробнее ??

Решил свою проблему несколько дней назад. Обновление с 1.11.4 -> 1.12.3. У меня есть:

  1. api-server - работает в конкретном виртуальном интерфейсе со своей собственной сетью. ( голый металл ).
    После kubeadm init/join с флагом apiserver-advertise-address он запускается на определенном интерфейсе, но пакеты с проверками настроек / работоспособности проходят стандартный маршрут таблицы маршрутизации (интерфейс по умолчанию). Помог параметр bind-address в /etc/kubernetes/manifests/kube-apiserver.yaml с привязкой к IP виртуального интерфейса.
  2. flannel - такая же ситуация с сетью после создания controller , scheduler pods. Развертывание DNS завершилось неудачно из-за connection refused на IP-адрес кластера сервера api 10.96.0.1:443 . (таблица маршрутизации по умолчанию) Я указал node-ip узла кластера флагом --node-ip в /etc/systemd/system/kubelet.service.d/10-kubeadm.conf с IP виртуального интерфейса.

После этого у меня есть готовая нода с версией 1.12.3. Самая полезная информация была в docker logs + kubectl logs

такая же проблема здесь с v1.13.0

Та же проблема здесь с Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (последняя проверенная версия)
dockerd: активен, запущен
кубелет: активный, бегущий
selinux: отключен
firewalld: отключен

ОШИБКА:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
/ etc / hosts содержит узел, он доступен для проверки связи, он доступен - на самом деле это единственный рабочий узел с одним мастером (т. е. испорченный узел).

Где K8S ищет это значение? в / etc / hosts?
Я могу устранить неполадки и при необходимости предоставить дополнительные доказательства.

-> завершает ли kubeadm init и печатает ли токен ускоренного запуска?
Завершается длинной ошибкой:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

ПРИМЕЧАНИЕ. Ни одна из команд, предложенных после истечения тайм-аута, не сообщила о чем-либо, о чем стоит здесь упомянуть.

версия kubelet и kubeadm?
---> 1.13.0
kubeadm version: & version.Info {Major: "1", Minor: "13", GitVersion: "v1.13.0", GitCommit: "ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState: "clean", BuildDate21: "2018-12-03T 01Z ", GoVersion:" go1.11.2 ", компилятор:" gc ", платформа:" linux / amd64 "}

Кроме того, не следует ли устанавливать лучшее сообщение об ошибке, чем «узел не найден» с немного большей ясностью / подробностью в журналах kube?

Спасибо

Та же проблема ...

$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Fri 2018-12-14 19:05:47 UTC; 2min 2s ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 9114 (kubelet)
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/kubelet.service
           └─9114 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-d

Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862262    9114 kuberuntime_manager.go:657] createPodSandbox for pod "kube-scheduler-pineview_kube-system(7f99b6875de942b000954351c4a
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862381    9114 pod_workers.go:186] Error syncing pod 7f99b6875de942b000954351c4ac09b5 ("kube-scheduler-pineview_kube-system(7f99b687
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906855    9114 remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to start san
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906944    9114 kuberuntime_sandbox.go:65] CreatePodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fai
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906981    9114 kuberuntime_manager.go:657] createPodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fa
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.907100    9114 pod_workers.go:186] Error syncing pod b7841e48f3e7b81c3cda6872104ba3de ("etcd-pineview_kube-system(b7841e48f3e7b81c3c
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.933627    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.033880    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.134064    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.184943    9114 event.go:212] Unable to write event: 'Post https://192.168.1.235:6443/api/v1/namespaces/default/events: dial tcp 192.

Та же проблема:

Ubuntu 18.04.1 LTS
Kubernetes v1.13.1 (с использованием cri-o 1.11)

Следуйте инструкциям по установке на kubernetes.io:
https://kubernetes.io/docs/setup/independent/install-kubeadm/
https://kubernetes.io/docs/setup/cri/#cri -o

systemctl enable kubelet.service
kubeadm init --pod-network-cidr=192.168.0.0/16 --cri-socket=/var/run/crio/crio.sock

/etc/hosts

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       master01.mydomain.tld master01
::1             master01.mydomain.tld master01

/etc/hostname


systemctl status kubelet

● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Tue 2018-12-18 16:19:54 CET; 20min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 10148 (kubelet)
    Tasks: 21 (limit: 2173)
   CGroup: /system.slice/kubelet.service
           └─10148 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime=remote --container-runtime-endpoint=/var/run/crio/crio.sock --resolv-conf=/run/systemd/resolve/resolv.conf

Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.795313   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.896277   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.997864   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.098927   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.200355   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.281586   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.178.27:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.282143   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444: Failed to list *v1.Service: Get https://192.168.178.27:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.283945   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453: Failed to list *v1.Node: Get https://192.168.178.27:6443/api/v1/nodes?fieldSelector=metadata.name%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.301468   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.402256   10148 kubelet.go:2266] node "master01" not found

@fhemberger Я понял свою проблему. Он использовал snap для установки Docker. Если я удалил его и переустановил с помощью apt , то kubeadm работал нормально.

@cjbottaro Я вообще не использую Docker, кроме cri-o.

такая же проблема здесь с v1.13.1

Если вы используете systemd и cri-o, обязательно установите его как драйвер cgroup в /var/lib/kubelet/config.yaml (или передайте приведенный ниже фрагмент как часть kubeadm init --config=config.yaml ).

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

Если вы заметили это в своих журналах kubelet:

remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = cri-o configured with systemd cgroup manager, but did not receive slice as parent: /kubepods/besteffort/…

Сегодня я встретил ту же проблему.

Я исправил это, удалив rm -rf / var / lib / kubelet / и переустановив

@JishanXing, спасибо! Это также решило мою проблему с запуском в Raspbian Sketch lite

Я исправил это, удалив /etc/systemd/system/kubelet.service.d/20-etcd-service-manager.conf

Лучше использовать команду kubeadm reset .

@fhemberger как решить , тот же вопрос, спасибо

Я столкнулся с той же проблемой при обновлении k8s с 1.13.3 до 1.13.4 ...
Я решаю это после того, как отредактирую /etc/kubernetes/manifests/kube-scheduler.yaml . Изменить версию образа
image: k8s.gcr.io/kube-scheduler:v1.13.3 ==> image: k8s.gcr.io/kube-scheduler:v1.13.4
то же самое с kube-controller-manager.yaml и kube-apiserver.yaml.

Последний способ - добавить параметр --image-repository registry.aliyuncs.com/google_containers , моя версия k8s - 1.14.0, версия докера: 18.09.2,
`kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.14.0 --pod-network-cidr = 192.168.0.0 / 16
[init] Использование версии Kubernetes: v1.14.0
[предполетная] Проведение предполетных проверок
[ПРЕДУПРЕЖДЕНИЕ IsDockerSystemdCheck]: обнаружил "cgroupfs" как драйвер контрольной группы Docker. Рекомендуемый драйвер - «systemd». Следуйте инструкциям на странице https://kubernetes.io/docs/setup/cri/.
[предварительная проверка] Получение образов, необходимых для настройки кластера Kubernetes
[предварительная проверка] Это может занять минуту или две, в зависимости от скорости вашего интернет-соединения.
[предварительная проверка] Вы также можете выполнить это действие заранее, используя команду 'kubeadm config images pull'
[kubelet-start] Запись файла среды kubelet с флагами в файл "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Запись конфигурации kubelet в файл "/var/lib/kubelet/config.yaml"
[kubelet-start] Активация сервиса kubelet
[сертификаты] Использование папки certificateDir "/ etc / kubernetes / pki"
[certs] Создание сертификата и ключа "front-proxy-ca"
[certs] Создание сертификата и ключа для клиентского прокси-сервера
[certs] Создание сертификата и ключа CA
[certs] Создание сертификата и ключа apiserver
[certs] сертификат обслуживания apiserver подписан для имен DNS [jin-virtual-machine kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] и IP-адресов [10.96.0.1 192.168.232.130]
[certs] Создание сертификата и ключа "apiserver-kubelet-client"
[certs] Создание сертификата и ключа etcd / ca
[certs] Создание сертификата и ключа etcd / server
[certs] Сертификат обслуживания etcd / server подписан для имен DNS [jin-virtual-machine localhost] и IP-адресов [192.168.232.130 127.0.0.1 :: 1]
[certs] Создание сертификата и ключа etcd / peer
[certs] Сертификат обслуживания etcd / peer подписан для имен DNS [jin-virtual-machine localhost] и IP-адресов [192.168.232.130 127.0.0.1 :: 1]
[certs] Создание сертификата и ключа apiserver-etcd-client
[certs] Создание сертификата и ключа etcd / healthcheck-client
[сертификаты] Создание ключа sa и открытого ключа
[kubeconfig] Использование папки kubeconfig "/ etc / kubernetes"
[kubeconfig] Написание файла kubeconfig "admin.conf"
[kubeconfig] Запись файла kubeconfig "kubelet.conf"
[kubeconfig] Написание файла kubeconfig "controller-manager.conf"
[kubeconfig] Написание файла kubeconfig "scheduler.conf"
[control-plane] Использование папки манифеста "/ etc / kubernetes / manifestests"
[control-plane] Создание статического манифеста Pod для "kube-apiserver"
[control-plane] Создание статического манифеста Pod для «kube-controller-manager»
[control-plane] Создание статического манифеста Pod для "kube-scheduler"
[etcd] Создание статического манифеста Pod для локального etcd в "/ etc / kubernetes / manifest"
[wait-control-plane] Ожидание, пока кубелет загрузит плоскость управления как статические поды из каталога "/ etc / kubernetes / manifest". Это может занять до 4 мин. 0 сек.
[apiclient] Все компоненты уровня управления исправны через 17,004356 секунд
[upload-config] сохранение конфигурации, используемой в ConfigMap "kubeadm-config" в пространстве имен "kube-system"
[kubelet] Создание ConfigMap «kubelet-config-1.14» в пространстве имен kube-system с конфигурацией для кубелец в кластере
[upload-certs] Пропуск фазы. См. --Experimental-upload-certs
[mark-control-plane] Пометка узла jin-virtual-machine как уровня управления путем добавления метки "node-role.kubernetes.io/master= ''"
[mark-control-plane] Пометка узла jin-virtual-machine как уровня управления путем добавления taints [node-role.kubernetes.io/ master: NoSchedule ]
[bootstrap-token] Использование токена: xucir0.o4kzo3qqjyjnzphl
[bootstrap-token] Настройка токенов начальной загрузки, информации о кластере ConfigMap, ролей RBAC
[bootstrap-token] настроил правила RBAC, чтобы разрешить токенам начальной загрузки узла публиковать CSR, чтобы узлы могли получать учетные данные долгосрочного сертификата.
[bootstrap-token] настроил правила RBAC, чтобы позволить контроллеру csrapprover автоматически утверждать CSR из токена начальной загрузки узла
[bootstrap-token] настроил правила RBAC, чтобы разрешить ротацию сертификатов для всех клиентских сертификатов узлов в кластере.
[bootstrap-token] создание ConfigMap «информация о кластере» в пространстве имен «kube-public»
[addons] Применен основной аддон: CoreDNS
[addons] Применен необходимый аддон: kube-proxy

Ваша плоскость управления Kubernetes успешно инициализирована!

Чтобы начать использовать свой кластер, вам необходимо запустить от имени обычного пользователя следующее:

mkdir -p $ HOME / .kube
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
sudo chown $ (идентификатор -u): $ (идентификатор -g) $ HOME / .kube / config

Теперь вы должны развернуть сеть модулей в кластере.
Запустите "kubectl apply -f [podnetwork] .yaml" с одним из параметров, перечисленных по адресу:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

Затем вы можете присоединиться к любому количеству рабочих узлов, выполнив на каждом из них как root:

kubeadm присоединиться к 192.168.232.130:6443 --token xucir0.o4kzo3qqjyjnzphl
--discovery-token-ca-cert-hash sha256: 022048b22926a2cb2f8295ce2e3f1f6fa7ffe1098bc116f7d304a26bcfb78656
`

Возникла та же проблема с kubernetes v1.14.1 и cri-o v1.14.0 на виртуальной машине GCP Ubuntu 18.04. Однако при использовании докера все работало нормально. ссылка: https://github.com/cri-o/cri-o/issues/2357

Моя проблема была в разных драйверах cgroup. CRIO по умолчанию использует systemd, kubelet по умолчанию использует cgroupfs.

cat /etc/crio/crio.conf | grep cgroup
# cgroup_manager is the cgroup management implementation to be used
cgroup_manager = "systemd"

Если это ваш случай, см. Https://kubernetes.io/docs/setup/independent/install-kubeadm/#configure -cgroup-driver-used-by-kubelet-on-master-node.

Просто напишите файл

echo "KUBELET_EXTRA_ARGS=--cgroup-driver=systemd" > /etc/default/kubelet

и после этого запустите kubeadm init. Или измените cgroup_manager на cgroupfs

В отличие от docker, с cri-o и containerd немного сложнее управлять с точки зрения обнаружения драйверов cgroup, но есть некоторые планы по поддержке этого со стороны kubeadm.

докер уже обработан.

Таким образом, очевидно, что нет решения, кроме сброса кластера $ (да | kubeadm reset), что, на мой взгляд, не является решением!

У меня сработало изменение репозитория изображений, но это не лучшее решение.
--image-repository registry.aliyuncs.com/google_containers

в моем случае он работал с этим

sed -i 's / cgroup-driver = systemd / cgroup-driver = cgroupfs / g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

У меня такая же проблема. Я использую kubeadm init --config=init-config.yaml и не могу, этот файл сгенерирован kubeadm. в файле есть поле AdvertiseAddress, по умолчанию это 1.2.3.4, что приводит к сбою запуска etcd contianer. когда я перехожу на 127.0.0.1, etcd contianer запускается успешно и kubeadm init успешно

чтобы решить эту проблему, используйте docker ps -a list all container, проверьте, завершились ли некоторые из них, если да, используйте docker logs CONTIANER_ID посмотреть, что произошло. Надеюсь, это поможет

Привет всем, у кого-нибудь есть решение? Здесь та же проблема, но с использованием k3s .

@MateusMac, вам, вероятно, также следует открыть отчет об ошибке для k3s.

Работал неделю над получением kubeadm работы над
Ubuntu 18.04
докер 18.06-2-ce
k8s 1.15.1
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Fails with:

[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

Журналы kubelet показывают, что он просто не может найти узлы, чтобы пройти первую базу:

warproot<strong i="15">@warp02</strong>:~$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Sun 2019-08-04 18:22:26 AEST; 5min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 12569 (kubelet)
    Tasks: 27 (limit: 9830)
   CGroup: /system.slice/kubelet.service
           └─12569 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-dri

Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322762   12569 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)"
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322806   12569 kuberuntime_manager.go:692] createPodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322872   12569 pod_workers.go:190] Error syncing pod ecae9d12d3610192347be3d1aa5aa552 ("kube-scheduler-warp02_kube-system(ecae9d12d36101
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.373094   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.375587   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.CSIDriver: Get https://10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.473295   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.573567   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.575495   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.RuntimeClass: Get https://10.1.1.4:6
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.590886   12569 event.go:249] Unable to write event: 'Post https://10.1.1.4:6443/api/v1/namespaces/default/events: dial tcp 10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.673767   12569 kubelet.go:2248] node "warp02" not found




Я должен отметить, что у меня есть несколько сетевых карт на этих машинах без покрытия:

warproot<strong i="6">@warp02</strong>:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:feff:fe65:37f  prefixlen 64  scopeid 0x20<link>
        ether 02:42:fe:65:03:7f  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 516 (516.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp35s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.2  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::32b5:c2ff:fe02:410b  prefixlen 64  scopeid 0x20<link>
        ether 30:b5:c2:02:41:0b  txqueuelen 1000  (Ethernet)
        RX packets 46  bytes 5821 (5.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70  bytes 7946 (7.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.4  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fd42:59ff:1166:0:25a7:3617:fee6:424e  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x20<link>
        inet6 fd9e:fdd6:9e01:0:1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x0<global>
        ether 18:03:73:44:56:94  txqueuelen 1000  (Ethernet)
        RX packets 911294  bytes 1361047672 (1.3 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 428759  bytes 29198065 (29.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  

ib0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-10-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ib1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-20-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 25473  bytes 1334779 (1.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25473  bytes 1334779 (1.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Я не знаю, проблема ли это, но я установил свой файл /etc/hosts как

warproot<strong i="7">@warp02</strong>:~$ cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
# add our host name
10.1.1.4 warp02 warp02.ad.xxx.com
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# add our ipv6 host name
fd42:59ff:1166:0:25a7:3617:fee6:424e warp02 warp02.ad.xxx.com

warproot<strong i="8">@warp02</strong>:~$ 

Итак, он настроен (я думаю), чтобы смотреть на NIC 10.1.1.4 как на "сеть" для k8s.

nslookup по имени узла, похоже, работает нормально:

warproot<strong i="13">@warp02</strong>:~$ nslookup warp02
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   warp02.ad.xxx.com
Address: 10.1.1.4
Name:   warp02.ad.xxx.com
Address: fd42:59ff:1166:0:25a7:3617:fee6:424e

warproot<strong i="14">@warp02</strong>:~$ 

Я просматривал документацию по установке kubeadm несколько раз.

Странный. Он просто не может найти сеть.

В тупике.

Для версии 1.15.3 я смог исправить это в Ubuntu 18.04, добавив

kind: InitConfiguration
nodeRegistration:
  kubeletExtraArgs:
    cgroup-driver: "systemd"

в мою конфигурацию kubeadm, а затем запустил kubeadm init

У меня такая же проблема с версией 1.15.3 в Ubuntu 18.04.
@ kris-nova Я был бы очень признателен, если бы вы могли указать, где находится этот файл конфигурации :-)

ОБНОВЛЕНИЕ: я не могу сказать почему, но теперь он работает, без каких-либо изменений конфигурации!
(примечание: я не знаю, связано ли это, но я обновил докер с v.19.03.1 до v.19.03.2, прежде чем повторить попытку kubeadm init )

Я получал ошибку ниже при запуске kubeadm init, т.е. nodexx не найден.

[ root @ node01 ~] # journalctl -xeu kubelet
07 ноя, 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.682095 2968 kubelet.go: 2267] узел "node01" не найден
07 ноя, 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.782554 2968 kubelet.go: 2267] узел "node01" не найден
07 ноя, 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.829142 2968 refctor.go: 123] k8s.io/client-go/informers/factory.go:134: не удалось перечислить * v1beta1.CSID
07 ноя, 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.884058 2968 kubelet.go: 2267] узел "node01" не найден
07 ноя, 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.984510 2968 kubelet.go: 2267] узел "node01" не найден
07 ноя, 10:34:03 node01 kubelet [2968]: E1107 10: 34: 03.030884 2968 refctor.go: 123]

Решено с помощью:

setenforce 0

sed -i --follow-symlinks 's / SELINUX = enforcing / SELINUX = disabled / g' / etc / sysconfig / selinux

та же проблема

В моем случае это было вызвано смещением времени в главном узле, _ которое произошло после отключения электроэнергии_.
Я исправил это, запустив

# Correcting the time as mentioned here https://askubuntu.com/a/254846/861548
sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start
# Then restarting the kubelet
sudo systemctl restart kubelet.service
# I also had to run daemon-reload as I got the following warning
# Warning: The unit file, source configuration file or drop-ins of kubelet.service changed on disk. Run 'systemctl daemon-reload' to reload units.
sudo systemctl daemon-reload
# I also made another restart, which I don't know whether needed or not
sudo systemctl restart kubelet.service

Я исправил ту же проблему node "xxxx" not found , попытаться увидеть, как журнал контейнера использует docker logs container_id , затем я вижу, как apiserver пытается подключиться 127.0.0.1:2379, редактировать файл · /etc/kubernetes/manifests/etcd.yaml , перезапуск, проблема решена。

Была ли эта страница полезной?
0 / 5 - 0 рейтинги