实验证环境
- 准备前工作
CentOS 7.6 三台主机,关闭防火墙,更新最源,关闭seliunx(输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
)- k8s1 192.168.3.41
- k8s2 192.168.3.42
- k8s3 192.168.3.43
- 安装ansible
- yum 安装ansilbe 版本为2.8.1
yum -y install ansible
- 如若我们管理30台主机,那么需要在
/etc/ansible/hosts
里添加主机IP+hostname
此主和主机添加hostname及IP一致,我们可以编辑 /etc/ansible/hosts文件添加主机IP:192.168.3.43 保存 - 测试
- 我们先来测试ansible的ping命令 测试主机是否畅通
ansible 192.168.3.43 -m ping
此处不可达,说明ansible是无法通过ssh端口连接到主机的
-
那么我们修改hosts
k8s3 ansible_host=192.168.3.43 ansible_port=22 ansible_uer=root ansible_ssh_pass=tEsT03
解释 k8s3可以更改 此处为主机的别名 具体也可以参考配置文件样例
-
命令
ansible 192.168.3.43 -m ping
ansible k8s3 -m ping
均可ping通
- 生成密钥
- 因大部分主机部署后因安全问题,不再以明文密码方式登陆,采用sshkey密钥登陆方式
- ssh-keygen生成本机密钥
- 将密钥拷贝至其他管理主机
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.3.41
-
将本地key拷贝至远程主机k8s1和k8s2
- 取消密码登陆方式
vim /etc/ansible/hosts k8s2 ansible_host=192.168.3.42 ansible_ssh_port=22
-
验证非本机ansible执行ping命令成功