美文网首页
使用ansible维护linux集群 10

使用ansible维护linux集群 10

作者: 张力的程序园 | 来源:发表于2020-05-21 13:17 被阅读0次

    Ansible常用来对集群进行维护和管理,它只需要在管理端安装,被管理端主要提供sshd服务即可。本节讲述ansible的安装和使用。

    1、操作环境

    • vmware 14.1
    • centos7 64
    • putty或者xshell

    2、前提约束

    • 已安装vmware
    • vmware中已安装centos1和centos2两台服务器
    • centos1和centos2均能访问外网,且相互ping通,假设centos1 ip为192.168.100.101,centos2 ip为192.168.100.102,centos1为我们的管理端,centos2为我们的被管理端。

    3、操作步骤

    3.1 安装配置ansible

    • 使用putty或者xshell登录到192.168.100.101的root用户
    • 在管理端安装Ansible
    # 新增epel-release第三方套件来源。
    yum install -y epel-release
    # 安装 Ansible
    yum install -y ansible
    
    • 配置免密登陆
    # 配置免密登陆,执行以下语句
    ssh-keygen  #一路回车
    ssh-copy-id 192.168.100.101  # 回车之后,需要输入192.168.100.101的密码
    ssh-copy-id 192.168.100.102  # 回车之后,需要输入192.168.100.102的密码
    
    • 安装python,centos7自带python2.7.5,这一步可以省略
    # 在管理端服务器安装python
    yum install -y openssh-server python
    # 连接到被管理端服务器
    ssh 192.168.100.102
    # 在被管理端服务器安装python
    yum install -y openssh-server python
    # 退出102,继续回到101
    exit
    
    • 编辑管理端的/etc/ansible/ansible.cfg
    [defaults]
    inventory = /etc/ansible/hosts
    forks = 5
    become = root
    remote_port  = 22
    host_key_checking = False
    timeout = 10
    log_path = /var/log/ansible.log
    private_key_file = /root/.ssh/id_rsa
    
    • 编辑管理端的/etc/ansible/hosts
    [servers]
    192.168.100.101
    192.168.100.102
    

    3.2 通过ad-hoc管理服务器

    • 测试各个服务器的连通性
    ansible servers -m ping
    
    • 向被管理端推送文件并执行
    # 在管理端创建可执行文件
    echo "hello world">test.sh
    # 推送test.sh到被管理端
    ansible servers -m copy -a "src=/root/test.sh dest=/root/ owner=root group=root mode=0755"
    # 执行被管理端的test.sh
    ansible servers -m shell -a "/root/test.sh"
    
    • 安装httpd到被管理端并启动
    # 安装httpd
    ansible servers -m yum -a "name=httpd state=latest disable_gpg_check=yes enablerepo=epel"
    # 启动httpd
    ansible servers -m service -a "name=httpd state=restarted" 
    # 查看服务状态
    ansible servers -a " systemctl status httpd"  
    

    3.3 自动部署Nginx

    • 在管理端创建/root/nginx.xml文件,内容如下:
    #nginx.yml
    ---
    - hosts: servers
      tasks:
      - name: Add repo
        yum_repository:
          name: nginx
          description: nginx repo
          baseurl: http://nginx.org/packages/centos/7/$basearch/
          gpgcheck: no
          enabled: 1
      - name: Install nginx
        yum:
          name: nginx
          state: latest
      - name: Start nginx
        service:
          name: nginx
          state: started
    
    • 执行以下语句,完成安装
    ansible-playbook nginx.yml
    

    以上就是使用ansible维护linux集群的过程。

    相关文章

      网友评论

          本文标题:使用ansible维护linux集群 10

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