0
点赞
收藏
分享

微信扫一扫

ansible第二次作业

爱做梦的老巫婆 2022-04-14 阅读 79

1、# 安装软件

创建一个名为/home/devops/ansible/packages.yml的剧本

- 在dev, prod 和 test 主机组中安装 php 和 mariadb 软件包
- ​ 在dev 主机组中安装 Development Tools 包组
- ​ 升级dev主机组中主机的所有软件包

vim /home/devops/ansible/packages.yml
---
- name: play 1
  hosts: dev,prod,test
  tasks:
    - name: install php and mariadb
      yum:
        name: "{{ packages }}"
      vars:
        packages:
          - php
          - mariadb
          
- name: play 2
  hosts:dev
  tasks:
    -name: install the 'Development tools' packages group
     yum:
       name:"@Development tools"
       state: present
       
    - name: upgrade all packages
      yum:
        name: '*'
        state: latest
       

检查是否有问题:

ansible-playbook packages.yml

cd ansible/

ls

adhoc.sh ansible.cfg index.html inventory lab1.yml roles test1.tar.gz test1.yml test.sh user1.ym;

vim packages.yml
vim lab2.yml

使用列表循环来装

---
- name: play 1
  hosts: localhost
  tasks:
    - name: install php and mariadb
      yum:
        name: 
          - php
          - mariadb

验证语法:

ansible-playbook lab2.yml --syntax-check

执行:

ansible-playbook lab2.yml

2、多剧本练习
1> 新建一个playbook,/home/devops/ansible/internet.yml
第一个剧本名为Enable internet services,受管主机为serverb.lab.example.com
2> 安装软件firewalld、httpd、mariadb-server、php和php-mysqlnd的最新版。
3> 确保服务firewalld服务处于enabled和running状态,并允许访问httpd服务。
4> 确保httpd和Maria服务处于enabled和running状态。
5> web主页index.php内容为
echo “Hello Ansible!”;
6> 第二个剧本名为 Test internet web server
7> 利用uri模块从控制节点测试serverb上运行web服务,检查返回状态代码200.
8> 验证internet.yml playbook的语法。
9> 使用ansible-playbook 运行剧本。

1.通过ssh连接

ssh devops@workstation
vim ~/.vimrc
autocmd FileType yaml setlocal at ts=2 sw=2 et
cd ansible/

2.新建剧本

vim /home/devops/ansible/internet.yml

3.按照题目要求进行配置

---
- name: Enable internet services
  hosts: serverb
  tasks:
    - name: install software
      yum:
        name:
          - firewalld
          - httpd
          - mariadb-server
          - php
          - php-mysqlnd
        state: latest
        
    - name: start firewall
      service:
        name: firewalld
        state: started
        enabled: yes
        
    - name: firewall rule
      firewalld:
        service: http
        permanent: yes
        permanent: yes
        immediate: yes
        state: enabled
        
    - name: start httpd
      service;
        name;httpd
        state: started
        enabled: yes
        
    - name: index.php
      copy:
        src: files/index.php
        dest: /var/www.html/index.php
        
- name: Test internet web server
  hosts: localhost	
  tasks:
    - name: test web server
      uri:
        url: http://serverb/index.php
        return_content: yes
        status_code: 200
      
  
        
        

4.验证语法:

ansible-playbook internet.yml --syntax-check

5.执行:

ansible-playbook internet.yml

6.报错:

mkdir files
vim files/index.php
<?php
    echo "Hello Ansible";
?>

7.在执行一次

ansible-playbook internet.yml
curl serverb
Hello Ansible!
举报

相关推荐

第二次作业

第二次java作业

MySQL第二次作业

第二次Java作业

matlab第二次作业

第二次前端培训作业

0 条评论