美文网首页
ansible笔记-清单配置详情-(2)

ansible笔记-清单配置详情-(2)

作者: 张都尉 | 来源:发表于2019-07-15 17:26 被阅读0次
  • 清单配置
    • 以上篇ansible基本概念和基础配置,我们已能达成ansible控制各节点主机,那么为了更好管理这些主机,则需要将这些主机添加到受管理的ansible管理清单中去。
      • ansible提供了一个默认的管理清单,位置于 /etc/ansible/hosts文件中
      • 我们仍然以上篇环境演示,三台主机如下
        192.168.3.41 192.168.3.42 192.168.3.43(ansbile主机)



        如图所示 那我们在ansible主机 192.168.3.43上执行命令,那么清单内的主机均执行如上所有主机


        • 如果41属于A组服务器 42属于B组服务器 那么我们可以在清单进行如下操作配置
        [testserverA]
        k8s1 ansible_host=192.168.3.41  ansible_ssh_port=22
        [testserverB]
        k8s2 ansible_host=192.168.3.42  ansible_ssh_port=22 
        
        • 分别执行 ansible testserverA -m ping和 ansible testserverB -m ping


        • 如果192.168.3.41和192.168.3.42 在同一个组里这两台主机IP是连续的 那么我们也可以在配置管理组里面 那么我们可以这样设置,示例如下
          [serverA]
          192.168.3.[41:42]

        • 上例serverA组的配置,那么当然我们也可以以主机名安按顺序排列的方式进行处理
          [serverA]
          k8s1
          k8s2
          发现此类规律后,我们可以添加成
          [serverA]
          k8s[1:2]
        • 但实际使用环境中,服务器从使用类别上面分“生产环境”和“测试环境”
          那么我们分成两组,A和B组,举例
          [serverA]
          192.168.3.41
          [serverB]
          192.168.3.42
          [server:children]
          serverA
          serverB
          上述表示我们配置三个组,serverA和serverB和server组。而server组中包含的子组就是serverA和serverB,也就是说当我们操作server组里,也就相当操作了serverA和serverB组中的所有主机。


        • 如上,我们都一直在使用ini配置风格配置的清单,但与此同是时,ansible主机清单也支持和识别YAML的配置语法。举例:
          all:
          hosts:
          192.168.3.41
          192.168.3.42
          192.168.3.43
          • 那么我们来对比一下用户
#先看INI风格的配置,示例如下
192.168.3.43
[test1]
192.168.3.41
[test2]
192.168.3.42
#上述配置表示当前清单中有3台受管主机,主机43不属于任何组,主机41属于test1组,主机42属于test2组

#使用YAML语法进行同等效果的配置如下
#注意,为了使缩进显得更加明显,此处每次缩进使用两个空格
all:
  hosts:
    192.168.3.43:
  children:
    test1:
      hosts:
        192.168.3.41:
    test2:
      hosts:
        192.168.3.42:
    ```
            
   #从上例可以看出,当直接在清单中创建组时,需要在all关键字内使用children关键字,而定义每个组时,有必须使用hosts关键字,指明组内的主机

   # 按上面操作,我们来看一下组里面嵌套组时,YAML语法应该怎么写:
   #仍然写出INI风格示例
        [serverA]
         192.168.3.41
        [serverB]
          192.168.3.42
        [server:children]
          serverA
          serverB
    #对应YAML格式则为:
          all:
             children:
              server:
                children:
                 serverA:
                    hosts:
                        192.168.3.41:
                  serverB:
                     hosts:
                         192.168.3.42:

验证如图所示:
·

YAML格式
.
验证结果
        # 等同效果语法 还有如
        #INI风格
          192.168.3.43
          k8s2 ansible_host=192.168.3.42 ansible_port=22
          192.168.3.41
        #YAML风格
            all:
                 hosts: 
                      192.168.3.43:
                       serverA: 
                            ansible_host: 192.168.3.41 #此处 HOST和IP处空格不可省
                            ansible_port: 22
                       192.168.3.42: 

当然这块清单中可以配置变量,具体内容可以参考官网手册 https://docs.ansible.com/ansible/2.4/intro_inventory.html

相关文章

  • ansible笔记-清单配置详情-(2)

    清单配置以上篇ansible基本概念和基础配置,我们已能达成ansible控制各节点主机,那么为了更好管理这些主机...

  • ansible学习(2):清单配置详情

    ansible学习(2):清单配置详情 配置文件写上受管理的主机 通过命令测试受管理的主机 使用“all”关键字,...

  • ansible学习方法

    1、掌握ansible主机清单配置方法; 2、掌握ansible软件模块参数使用(参考官网); 3、掌握ansib...

  • Ansible

    1. 使用homebrew 安装 2. 配置主机hosts Ansible通过读取默认的主机清单配置/etc/an...

  • ansible ssh秘钥分发

    创建ssh密钥 配置ansible主机清单 编辑yml文件 执行ansible-playbook

  • ansible指定其他主机清单配置文件

    ansible指定其他主机清单配置文件 默认情况下主机清单保存在系统的 /etc/ansible/hosts 文件...

  • Day55-Ansible实现架构

    将中小企业架构通过Ansible的方式实现 环境配置 准备roles目录 准备清单文件 3.准备ansible配置...

  • Ansible(一)、实现SSH免密

    1.ansible安装 2.ansible配置 /etc/ansible/ansible.cfg /etc/ans...

  • ansible笔记

    1.安装介绍ansible 2.ansible 主机清单 3.ansible命令 4. ansible命令执行过程...

  • Ansible的MariaDB部署

    1. 安装Ansible工具 安装Ansible工具 配置Ansible工具 测试Ansible工具 2. 编写业...

网友评论

      本文标题:ansible笔记-清单配置详情-(2)

      本文链接:https://www.haomeiwen.com/subject/jegnkctx.html