Проблема с запуском kubectl на главном узле при создании кластера Kubernetes с помощью kubespray

Я пытаюсь создать кластер Kubernetes с помощью kubespray с одним мастером и 3 рабочими узлами. Я клонировал репозиторий github kubespray и запустил ansible playbook со своего узла управления для формирования кластера.

Я пробую следующую команду:

ansible-playbook \
  -i inventory/sample/hosts.ini \
  cluster.yml \
  --become \
  --ask-become-pass

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

fatal: [mildevkub020]: FAILED! => {
  "changed": false, 
  "msg": "error running kubectl (/usr/local/bin/kubectl apply 
  --force --filename=/etc/kubernetes/k8s-cluster-critical-pc.yml) 
  command (rc=1), out='', err='error: unable to recognize 
  \"/etc/kubernetes/k8s-cluster-critical-pc.yml\": Get 
  http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: 
  connect: connection refused\n'"
}

Я добавляю снимок экрана с ошибкой ниже:

введите описание изображения здесь

Модификация

Я удалил свое старое репо kubespray и клонировал новое по следующей ссылке,

https://github.com/kubernetes-sigs/kubespray.git

И обновил свой инвентарь. Но все равно возникает та же ошибка. Когда я запускаю команду journalctl для журналов, я получаю следующее:

Oct 15 09:56:17 mildevdcr01 kernel: NX (Execute Disable) protection: active
Oct 15 09:56:17 mildevdcr01 kernel: SMBIOS 2.4 present.
Oct 15 09:56:17 mildevdcr01 kernel: DMI: VMware, Inc. VMware Virtual 
Platform/440BX Desktop Reference Platform, BIOS 6.00 09/22/2009
Oct 15 09:56:17 mildevdcr01 kernel: Hypervisor detected: VMware
Oct 15 09:56:17 mildevdcr01 kernel: Kernel/User page tables isolation: disabled
Oct 15 09:56:17 mildevdcr01 kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Oct 15 09:56:17 mildevdcr01 kernel: e820: remove [mem 0x000a0000-0x000fffff] usable
Oct 15 09:56:17 mildevdcr01 kernel: AGP: No AGP bridge found
Oct 15 09:56:17 mildevdcr01 kernel: e820: last_pfn = 0x240000 max_arch_pfn = 0x400000000
Oct 15 09:56:17 mildevdcr01 kernel: MTRR default type: uncachable
Oct 15 09:56:17 mildevdcr01 kernel: MTRR fixed ranges enabled:
Oct 15 09:56:17 mildevdcr01 kernel:   00000-9FFFF write-back
Oct 15 09:56:17 mildevdcr01 kernel:   A0000-BFFFF uncachable
Oct 15 09:56:17 mildevdcr01 kernel:   C0000-CBFFF write-protect

Ошибка ,

fatal: [mildevkub020]: FAILED! => {"attempts": 10, "changed": false, "msg": "error running kubectl (/usr/local/bin/kubectl apply --force --filename=/etc/kubernetes/node-crb.yml) command (rc=1), out='', err='W1016 06:50:31.365172   22692 loader.go:223] Config not found: etc/kubernetes/admin.conf\nerror: unable to recognize \"/etc/kubernetes/node-crb.yml\": Get http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused\n'"}

person Jacob    schedule 15.10.2019    source источник
comment
github.com/kubernetes-sigs/kubespray/issues/4042   -  person error404    schedule 15.10.2019
comment
@ error404 - Спасибо за ответ. Я попробовал команду, указанную в ссылке на главном узле, но проблема все еще существует. Что мне здесь нужно делать? Я не получил изменения конфигурации.   -  person Jacob    schedule 15.10.2019
comment
chat.stackoverflow.com/rooms/info/200904/ давай продолжим чат   -  person error404    schedule 15.10.2019


Ответы (1)


Перед установкой кластера убедитесь, что вы выполнили все требования. Особенно копирование ssh-ключа на все серверные части вашего инвентаря.

Сбросить среду после предыдущей установки:

$ sudo ansible-playbook -i inventory/mycluster/hosts.yml reset.yml -b -v \
  --private-key=~/.ssh/private_key

Не забудьте изменить кластер config и настройте его. Вы можете изменить сетевой плагин - по умолчанию Calico.

Затем снова запустите ansible playbook, используя эту команду:

$ sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml -b -v \ 
  --private-key=~/.ssh/private_key

Попробуйте скопировать папку / sample и переименовать ее, а затем изменить файл k8s-cluster и hosts.

Проверьте файл hosts: не забудьте не изменять дочерние элементы k8s-cluster, например, помещать группу etcd в k8s-cluster, если вы не уверены в этом.

k8s-cluster ⊂ etcd => kube-node ∩ etcd = etcd

Пример файла инвентаря вы можете найти здесь: inventory.

Если проблема все еще существует, выполните команду journalctl и проверьте, что показывают журналы.

РЕДАКТИРОВАТЬ:

Поскольку вы предоставили больше информации. Судя по вашим журналам, вы должны установить максимальную версию оборудования виртуальной машины, доступную в вашей настройке VMware, и установить все доступные обновления в этой системе.

person Malgorzata    schedule 15.10.2019
comment
Благодарю за ваш ответ. Я пробовал эти. Но не работает, все та же ошибка. Как мне продолжить здесь? - person Jacob; 15.10.2019
comment
да. Благодарю за ваш ответ. Я удалил свой старый репозиторий kubespray и клонировал свежий репозиторий kubespray git. И добавил свой инвентарь. Но получаю сообщение об ошибке msg: error при запуске команды kubectl (/ usr / local / bin / kubectl apply --force --filename = / etc / kubernetes / node-crb.yml) (rc = 1) ,. И запустил команду journalctl. Журналы, которые я редактирую, о которых идет речь. Вы можете взглянуть на это? - person Jacob; 16.10.2019