IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ansible 第一次作业 -> 正文阅读

[系统运维]ansible 第一次作业

一、构建学习环境:

准备四台机器,并设置主机名

[root@serverb ~]# hostnamectl set-hostname servera
[root@serverb ~]# su -
Last login: Sat Nov 27 21:32:10 CST 2021 on pts/1
[root@servera ~]# 

[root@localhost ~]# hostnamectl set-hostname serverb
[root@localhost ~]# su -
Last login: Sat Nov 27 21:33:21 CST 2021 from 192.168.159.1 on pts/0
[root@serverb ~]# 

[root@localhost ~]#  hostnamectl set-hostname serverc
[root@localhost ~]# su -
Last login: Sat Nov 27 21:07:03 CST 2021 from 192.168.159.1 on pts/0
[root@serverc ~]# 

[root@localhost ~]#  hostnamectl set-hostname serverd
[root@localhost ~]# su -
Last login: Sat Nov 27 21:07:00 CST 2021 from 192.168.159.1 on pts/0
[root@serverd ~]# 

点击xshell的工具中的 “发送键到所有会话” 可实现批量操作

添加标签实现 配置epel扩展源

[root@servera ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

批量操作配置hosts解析

[root@servera ~]# vim + /etc/hosts
[root@servera ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.159.130 servera
192.168.159.131 serverb
192.168.159.132 serverc
192.168.159.133 serverd

servera以root用户配置到所有机器免密钥互信(再次点击xshell工具中“发送键到所有会话”实现关闭)

[root@servera ~]# ssh-keygen -f ~/.ssh/id_rsa -P '' -q
[root@servera ~]# ls ~/.ssh
id_rsa  id_rsa.pub

分发到所有节点(for循环的方式)

[root@servera ~]# for i in server{a..d} 
> do
> ssh-copy-id $i
> done

验证是否分发到所有节点

[root@servera ~]# for i in server{a..d}
> do
> ssh $i hostname
> done
servera
serverb
serverc
serverd

安装所需的软件包(ansible)

[root@servera ~]# yum install ansible -y

创建清单inventory文件/home/student/ansible/inventory,要求如下:

servera属于dev主机组

serverb属于test和balancers主机组

serverc和serverd属于prod主机组

prod主机组属于webservers主机组

创建ansible目录

[root@servera ansible]# cp /etc/ansible/ansible.cfg .
[root@servera ansible]# vim inventory
[root@servera ansible]# cat inventory
[dev]
servera

[test]
serverb

[balancers]
serverb

[prod]
serverc
serverd

[webservers:children]
prod

创建ansible配置文件/home/student/ansible/ansible.cfg,要求如下:

使用/home/ansible/inventory清单文件

角色存放在/home/ansible/roles/ 目录

[root@servera ansible]# touch inventory
[root@servera ansible]# mkdir roles

修改配置文件

[root@servera ansible]# vim ansible.cfg

修改如下:
inventory      = /root/ansible/inventory
roles_path    = /root/ansible/roles
host_key_checking = False

测试

[root@servera ansible]# ansible-inventory --graph
@all:
  |--@balancers:
  |  |--serverb
  |--@dev:
  |  |--servera
  |--@test:
  |  |--serverb
  |--@ungrouped:
  |--@webservers:
  |  |--@prod:
  |  |  |--serverc
  |  |  |--serverd
[root@servera ansible]# ansible all -m ping -o
servera | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
serverb | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
serverc | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}
serverd | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"}

二、创建一个 shell 脚本名为 adhoc.sh 用以运行 ad-hoc 命令 。为每个受控节点配罝 yum仓库。要求如下:

仓库1 :

Name: RH294_Base

Description: RH294 base software

Base url: http://content.example.com/rhel8.0/x86_64/dvd/BaseOS

需要验证钦件包 GPG 签名

GPG key 在: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

启用此软件仓库

仓库 2:

Name: RH294_Stream

Description : RH294 stream software

Base url: http://content.example.com/rhel8.0/x86_64/dvd/AppStream

需要验证软件包 GPG 签名

GPG key 在: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

启用此软件仓库

[root@servera ansible]# vim adhoc.sh 
[root@servera ansible]# cat adhoc.sh
#!/bin/bash
ansible dev -m yum_repository -a 'name=RH294_Base description="RH249 base software" \
            Base url=http://content.example.com/rhel8.0/x86_64/dvd/BaseOS \
            gpgcheck=yes gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
            enabled=yes'

ansible dev -m yum_repository -a 'name= RH294_Stream description=" RH294 stream software" \
            Base url=http://content.example.com/rhel8.0/x86_64/dvd/AppStream \
            gpgcheck=yes gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
            enabled=yes'

[root@servera ansible]# chmod +x adhoc.sh
[root@servera ansible]# ./adhoc.sh

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:39:26  更:2021-11-28 11:39:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:57:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码