Ansible 主机清单 Inventory文件

2023-12-08 03:32

本文主要是介绍Ansible 主机清单 Inventory文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ansible 主机清单 Inventory文件

Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts

修改Inventory前环境准备:(域名是自己随便起的)

node1-dns.shm.com :搭建DNS域名服务器,配置域名解析,192.168.10.9
node2-ansible.shm.com
node3-jenkins.shm.com
node4-centos.shm,com

基本的主机清单

#修改主机清单
[root@localhost ~]# cd /etc/ansible/
[root@localhost ansible]# vim /etc/ansible/hosts 
---
[dns]
192.168.10.9[localhost]
192.168.10.20[webserver]
192.168.10.21[dbserver]
192.168.10.22添加所有得远程主机IP地址,这种简单的主机清单只在测试环境学习环境使用,真实环境如下。

主机与组

/etc/ansible/hosts 文件的格式与windows的ini配置文件类似:

1、基本Inventory文件写法、本机写法
[root@localhost ansible]# vim /etc/ansible/hosts [localhost]
ansible.shm.com ansible_connection=local		#本机写法[webservers]			#主机组
foo.example.com			#主机组域名主机
bar.example.com			#主机组域名主机[dbservers]				#第二个主机组
one.example.com
two.example.com
three.example.com1.方括号[]中是组名,用于对系统进行分类,便于对不同系统进行个别的管理
2.一个系统可以属于不同的组,比如一台服务器可以同时属于 webserver组 和 dbserver组
2、当被控端修改 SSH 端口号的 Inventory写法

(此时被控端为root用户)

1.修改被控端 SSH 端口
[root@localhost ~]# vim /etc/ssh/sshd_config 
Port 2222
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::2.开放防火墙端口,添加selinux允许ssh端口,防止重启失败
[root@localhost ~]# firewall-cmd --zone=public --add-port=2222/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
[root@localhost ~]# sestatus -v | grep SELinux
[root@localhost ~]# rpm -qa | grep policycoreutils-python
[root@localhost ~]# semanage port -l | grep ssh[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2222
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# netstat -anpt | grep sshd
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      60561/sshd    验证访问,需要指定 ssh端口号
[root@localhost ~]# ssh -p 2222  root@192.168.10.223.修改Inventory文件
[dbserver]
centos.shm.com:2222
4、静态IP地址 、修改ssh端口 、 别名写法
[dbserver]
centos.shm.com:2222
centos ansible_ssh_port=2222 ansible_ssh_host=192.168.10.22centos:别名,如果指定别名必须配置 静态IP参数
ansible_ssh_port: ssh修改后端口号
ansible_ssh_host: 静态主机IP地址#通过别名的方式进行连接
[root@localhost ~]# ansible centos -m ping 
5、指定多个普通用户加密认证,修改ssh端口,别名连接。
1.创建两个用户,设置密码
zs 123.com
ls 123.com2.通过2222端口号,发送公钥到zs的家目录,为zs用户提供免密登录,ls同理
[root@localhost ~]# ssh-copy-id -p 2222 -i /root/.ssh/id_rsa.pub  zs@192.168.10.22
[root@localhost ~]# ssh-copy-id -p 2222 -i /root/.ssh/id_rsa.pub  ls@192.168.10.223.验证
[root@localhost ~]# ssh -p 2222 zs@192.168.10.22
[root@localhost ~]# ssh -p 2222 ls@192.168.10.22--------------没问题之后修改Inventory文件-------------[dbserver]
zs  ansible_connection=ssh ansible_ssh_port=2222 ansible_ssh_user=zs ansible_ssh_host=192.168.10.22ls ansible_connection=ssh ansible_ssh_port=2222 ansible_ssh_user=ls ansible_ssh_host=192.168.10.22

在这里插入图片描述

Inventory参数的说明

ansible_ssh_host将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.ansible_ssh_portssh端口号.如果不是默认的端口号,通过此变量设置.ansible_ssh_user默认的 ssh 用户名ansible_ssh_passssh 密码(这种方式并不安全,我们强烈建议使用 SSH 密钥)ansible_connection与主机的连接类型.比如:local, ssh ansible_python_interpreter目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 或者命令路径不是"/usr/bin/python"与 ansible_python_interpreter 的工作方式相同,可设定如 ruby 或 perl 的路径....
例:
node1.python.com      ansible_python_interpreter=/usr/local/bin/python
node2.ruby.com	     ansible_ruby_interpreter=/usr/bin/ruby.1.9.3

这篇关于Ansible 主机清单 Inventory文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/468402

相关文章

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

【虚拟化】AIO主机安装PVE8,配置网络,安装win11(virtio,qcow2,scsi,oobe,adk)

【虚拟化】AIO主机安装PVE8,配置网络,安装win11(virtio,qcow2,scsi,oobe,adk) 文章目录 1、ESXI vs PVE,AIO主机系统二选一2、PVE网络配置(DNS,换源,网卡,https,概览)3、win11虚拟化配置(virtio,raw,qcow2)附,域名解析,rocky9.4,黑群晖 1、ESXI vs PVE,AIO主机系统二选

ansible资料

ansible系列教程-强烈推荐看完ansible官方编写的例子ansible_uiJenkins配置ansiblegalaxy官方文档中文教程1中文教程2playbook进阶YAML语法fabric编写的自动化部署

使用Ansible进行多云环境的自动化部署与管理

使用Ansible进行多云环境的自动化部署与管理 引言 随着云计算技术的飞速发展,多云环境已经成为现代企业IT架构的主流选择。多云环境不仅提供了更高的灵活性和可用性,还能有效降低供应商锁定的风险。然而,多云环境的管理和部署复杂性也随之增加,传统的手动操作已经无法满足需求。Ansible作为一种简单而强大的自动化工具,可以帮助企业在多云环境中实现自动化部署和管理,显著提高效率并减少人为错误。

虚拟机ubuntu与主机共享文件夹

现在主机(windows)上新建一个共享文件夹 打开虚拟机 按下面操作打开共享文件夹   进入虚拟机的系统    cd /mnt/hgfs 如果报错 可以按下面的解决   挂载一下  sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 如果显示不存在这个文件夹  我们可以去自己创建一个 cd /mnt

企业级Ansible自动化运维项目案例:实战与技巧

在企业级的IT运维中,自动化已成为提高效率、减少人为错误和保证服务一致性的关键手段。Ansible作为一种简单但功能强大的自动化工具,广泛应用于配置管理、应用程序部署、任务自动化和IT编排。本文将通过一个企业级的Ansible自动化运维项目案例,详细介绍如何从零开始设计、实施和优化自动化解决方案,并探讨其中的实战技巧。 一、项目背景 某大型企业拥有多个数据中心和数百台服务器,涉及不同的操作系统

Linux Ubuntu 能PING IP但不能PING主机域名的解决方法

------------------------------------------------------------------------------- ------------------------------------------------------------------------------- vi /etc/nsswitch.conf hosts: file