Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh [“共享连接已关闭”。”;stdout";:&引用;sudo:使用Ansible playbook时需要密码\r\n_Ssh_Kubernetes_Ansible_Kubespray - Fatal编程技术网

Ssh [“共享连接已关闭”。”;stdout";:&引用;sudo:使用Ansible playbook时需要密码\r\n

Ssh [“共享连接已关闭”。”;stdout";:&引用;sudo:使用Ansible playbook时需要密码\r\n,ssh,kubernetes,ansible,kubespray,Ssh,Kubernetes,Ansible,Kubespray,我正试图在Ubuntu 16.04操作系统上使用kubespray工具运行一个Ansible playbook来部署Kubernetes集群。我有一台基础机器,安装了Ansible和克隆的kubespray Git存储库。集群中包含一个主节点和两个工作节点 我的主机(更新)文件,如下面的屏幕截图, [all] MILDEVKUB020 ansible_ssh_host=MILDEVKUB020 ip=192.168.16.173 ansible_user=uName ansible_ssh_p

我正试图在Ubuntu 16.04操作系统上使用kubespray工具运行一个Ansible playbook来部署Kubernetes集群。我有一台基础机器,安装了Ansible和克隆的kubespray Git存储库。集群中包含一个主节点和两个工作节点

我的主机(更新)文件,如下面的屏幕截图,

[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
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
hosts.ini文件的位置为/inventory/sample。我正在尝试下面的命令

sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml --user=uName --extra-vars "ansible_sudo_pass=pwd"
我正在使用下面链接中的剧本“cluster.yml”

和包含条目的my/etc/hosts文件,

[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
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群集的问题?

您可能需要指定ssh用户或密钥

  • 使用将用户名添加到库存中
ansible\u ssh\u用户=
  • 使用以下内容添加密码:
ansible\u ssh\u密码=

如果没有-共享正在工作的ssh命令。

如果删除了密码短语,ssh连接现在应该正常。
更改后是否更新了远程主机上的ssh密钥?

如果您使用用户/密码组合登录。执行ansible的用户应该在sudoers文件中,以切换到root用户或其他特权用户


检查sudoers并尝试在目标服务器上手动执行sudo su root

在尝试了大量研究后,我发现在运行ansible playbook时需要输入参数--“ask pass--been--ask been pass”。我试过下面的命令

sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml --user=docker --ask-pass --become --ask-become-pass
而且,当继续kubernetes集群部署时,将再次出现库存名称只需与小字母一起使用的问题。因此,我编辑了所有清单名称和etc/hostname以及带有小写主机名的/etc/hosts。并将所有小写字母放入库存文件中。现在它成功地工作了

/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
[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
etc/主机名

mildevdcr01
和hosts.ini文件,如下所示

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
[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

如果我们这样做,我们将在目标主机上部署Kubernetes集群

这里关于StackOverflow的另一个问题应该对您有用,因为我以这种方式删除了ssh密钥。我使用用户名和密码,然后我也得到了一个密码一样,是必需的错误。我更新了库存文件。你能检查一下吗?我通过密钥add-D删除了密钥标识。现在我不使用密钥方法。我正在尝试使用用户名和密码身份验证。然后我也得到了密码是必需的错误。我更新了我的清单和错误结果。你能检查一下吗?检查一下关于使用的文档——在通过之前询问——我相信它会提示输入密码。Quote:当与远程机器对话时,Ansible默认假定您使用的是SSH密钥。鼓励使用SSH密钥,但也可以在需要时通过提供选项ask pass使用密码身份验证。如果使用sudo功能,并且sudo需要密码时,也提供--ask变为passNo。我没有更新。因为我试图通过用户名和密码访问所有这些。在更新密钥之前,它会询问每个ssh的密码短语。现在它直接询问远程机器的密码。因为我没有更新所有那些机器的钥匙。如果我错了,请纠正我。但是我在ansible剧本ommand之前使用了sudo关键字。我正在使用sudo运行ansible命令以授予root权限。这还不够sudo:yes仅在用户存在于sudoers文件中时有效。尝试在远程节点上运行相同的命令,并检查输出如果托管在github上,是否可以发送playbook的链接,即cluster.yml?或者更新,以防您编写了一个任务,其中一个任务已变为真,因此使用上述参数和密码@Jacob sure。以上与密码无关,我相信让我检查一下密码。我会很快更新。此外,请尝试添加回购协议的链接,以防您正在使用来自社区的内容。kubespray很受欢迎,但检查起来很方便