3.11. 分发 SSH 密钥
您可以使用 cephadm-distribute-ssh-key.yml
playbook 来分发 SSH 密钥,而不是手动创建和分发密钥。playbook 通过清单中的所有主机分发 SSH 公钥。
您还可以在 Ansible 管理节点上生成 SSH 密钥对,并将公钥分发到存储集群中的每个节点,以便 Ansible 可以在不提示输入密码的情况下访问节点。
先决条件
- Ansible 安装在管理节点上。
- 访问 Ansible 管理节点.
- 具有 sudo 对存储集群中所有节点的访问权限的 Ansible 用户。
- bootstrap 已完成。请参阅 Red Hat Ceph Storage 安装指南中的引导新存储集群 部分。
流程
进入 Ansible 管理节点上的
/usr/share/cephadm-ansible
目录:示例
[ansible@admin ~]$ cd /usr/share/cephadm-ansible
在 Ansible 管理节点中,分发 SSH 密钥。可选的
cephadm_pubkey_path
参数是 ansible 控制器主机上的 SSH 公钥文件的完整路径名称。注意如果没有指定
cephadm_pubkey_path
,则 playbook 从cephadm get-pub-key
命令获取密钥。这意味着您至少已引导一个最小集群。语法
ansible-playbook -i INVENTORY_HOST_FILE cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=USER_NAME -e cephadm_pubkey_path= home/cephadm/ceph.key -e admin_node=ADMIN_NODE_NAME_1
示例
[ansible@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=ceph-admin -e cephadm_pubkey_path=/home/cephadm/ceph.key -e admin_node=host01 [ansible@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=ceph-admin -e admin_node=host01