["Общее соединение закрыто."], "Stdout": "sudo: требуется пароль \ r \ n при использовании ansible playbook - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь запустить один сборник приложений для развертывания кластера kubernetes с помощью инструмента kubespray на ОС ubuntu 16.04.У меня есть одна базовая машина, на которой установлен ANSIBLE и клонированный репозиторий Kubespray.И один мастер и два рабочих узла, содержащихся в кластере.

Файл моего хоста (обновлен), например, снимок экрана следующим образом,

[all]
MILDEVKUB020 ansible_ssh_host=MILDEVKUB020 ip=192.168.16.173 ansible_user=uName  ansible_ssh_pass=pwd
MILDEVKUB030 ansible_ssh_host=MILDEVKUB030 ip=192.168.16.176 ansible_user=uName  ansible_ssh_pass=pwd
MILDEVKUB040 ansible_ssh_host=MILDEVKUB040 ip=192.168.16.177 ansible_user=uName  ansible_ssh_pass=pwd

[kube-master]
MILDEVKUB020

[etcd]
MILDEVKUB020

[kube-node]
MILDEVKUB020
MILDEVKUB030
MILDEVKUB040

[k8s-cluster:children]
kube-master
kube-node

Расположение файла hosts.ini - / инвентарь / образец.И я пробую следующую команду ANSIBLE

sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml --user=uName --extra-vars "ansible_sudo_pass=pwd"

И я использую пьесу "cluster.yml" по следующей ссылке

https://github.com/kubernetes-sigs/kubespray/blob/master/cluster.yml

И мой файл / etc / hosts, содержащий записи,

127.0.0.1 MILDEVDCR01.Milletech.us MILDEVDCR01
192.168.16.173 MILDEVKUB020.Milletech.us MILDEVKUB020
192.168.16.176 MILDEVKUB030.Milletech.us MILDEVKUB030
192.168.16.177 MILDEVKUB040.Milletech.us MILDEVKUB040

Обновленная ошибка

TASK [adduser : User | Create User Group] 
Thursday 04 April 2019  11:34:55 -0400 (0:00:00.508)       0:00:33.383 ********
fatal: [MILDEVKUB040]: FAILED! => {"changed": false, "msg": "groupadd: Permission denied.\ngroupadd: cannot lock /etc/group; try again later.\n", "name": "kube-cert"}
fatal: [MILDEVKUB020]: FAILED! => {"changed": false, "msg": "groupadd: Permission denied.\ngroupadd: cannot lock /etc/group; try again later.\n", "name": "kube-cert"}
fatal: [MILDEVKUB030]: FAILED! => {"changed": false, "msg": "groupadd: Permission denied.\ngroupadd: cannot lock /etc/group; try again later.\n", "name": "kube-cert"}

Я получаю ошибку, подобную этой, даже если могуподключить всю машину с базовой машины, используя ssh.Может кто-нибудь помочь мне выяснить, в чем заключается моя проблема с запуском этой команды для развертывания кластера kubernetes, пожалуйста?

Ответы [ 4 ]

1 голос
/ 05 апреля 2019

После долгих исследований я обнаружил, что нужно указать параметры "--ask-pass --become --ask-становиться-pass", когда мы запускаем сборник заданий.Я попытался выполнить следующую команду:

sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml --user=docker --ask-pass --become --ask-become-pass

И, когда она продолжит развертывание кластера kubernetes, снова возникнет проблема использования имени инвентаризации только с небольшими буквами.Поэтому я отредактировал все имя инвентаря и т. Д. / Hostname и / etc / hosts с маленьким регистром hostname.А также положил все маленькие буквы в файл инвентаря.Теперь он работает успешно.

в / etc / hosts содержится следующее*

Если мы будем так делать, мы получим развернутый кластер Kubernetes на хост-машинах назначения.

1 голос
/ 03 апреля 2019

Если вы используете комбинацию логин / пароль для входа в систему.Пользователь, с которым выполняется ansible, должен присутствовать в файле sudoers для переключения на root или другого привилегированного пользователя

Проверьте sudoers и попробуйте вручную выполнить sudo su root на целевом сервере

1 голос
/ 03 апреля 2019

Возможно, вам потребуется указать ssh пользователя или ключ

  • Добавить имя пользователя в инвентарь с помощью
ansible_ssh_user=<USERNAME>
  • Добавить пароль с помощью:
ansible_ssh_pass=<PASSWORD>

если нет - поделитесь работающей командой ssh.

0 голосов
/ 03 апреля 2019

Если вы удалили фразу-пароль, теперь ssh-соединение должно быть в порядке. Обновили ли вы ssh-ключи на удаленных хостах после ваших изменений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...