先做准备工作,准备一台client,再装备一台master机器。
检查连通性:
[root@ansible-master ~]# ansible mytest -m ping
10.128.25.175| SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
[root@ansible-master ~]#
一.Ansible模块查找使用方法
1.ansible的yum模块查找
yum模块在线文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_module.html
示例:
- name: Install the latest version of Apache
yum:
name: httpd
state: latest
- name: Install a list of packages (suitable replacement for2.11 loop deprecation warning)
yum:
name:
- nginx
- postgresql
- postgresql-server
state: present
- name: Install a list of packages with a list variable
yum:
name: "{{ packages }}"
vars:
packages:
- httpd
- httpd-tools
- name: Remove the Apachepackage
yum:
name: httpd
state: absent
2.ansible systemd服务管理模块
systemd模块在线帮助:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/systemd_module.html
示例:
- name: Make sure a service is running
systemd:
state: started
name: httpd
- name: Stop service cron on debian, if running
systemd:
name: cron
state: stopped
- name: Restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes
systemd:
state: restarted
daemon_reload: yes
name: crond
- name: Reload service httpd, in all cases
systemd:
name: httpd
state: reloaded
- name: Enable service httpd andensure it isnot masked
systemd:
name: httpd
enabled: yes
masked: no
二.安装MySQL到测试机
[root@ansible-master ~]# ansible test -m yum -a "name=mariadb,mariadb-server state=present"
[root@ansible-master ~]#
3三.管理测试机的MySQL服务
1.查看服务启动
[root@ansible-master ~]# ansible mytest -m shell -a "ps -ef | grep mysql |grep -v grep"
10.128.25.175| CHANGED | rc=0>>
mysql 67071010:58? 00:00:00/bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql 68696707010:58? 00:00:00/usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
2.查看mariadb数据库运行情况
[root@ansible-master ~]# ansible mytest -m systemd -a "name=mariadb state=started"
10.128.25.175| SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"name": "mariadb",
"state": "started",
"status": {
"ActiveEnterTimestamp": "日 2020-09-27 10:58:54 CST",
"ActiveEnterTimestampMonotonic": "7928162332",
"ActiveExitTimestampMonotonic": "0",
"ActiveState": "active",
"After": "network.target tmp.mount -.mount systemd-journald.socket syslog.target basic.target system.slice",
"AllowIsolate": "no",
"AssertResult": "yes",
"AssertTimestamp": "日 2020-09-27 10:58:49 CST",
"AssertTimestampMonotonic": "7922958508",
"Before": "shutdown.target",
"BlockIOAccounting": "no",
"BlockIOWeight": "18446744073709551615",
"CPUAccounting": "no",
"CPUQuotaPerSecUSec": "infinity",
"CPUSchedulingPolicy": "0",
"CPUSchedulingPriority": "0",
"CPUSchedulingResetOnFork": "no",
"CPUShares": "18446744073709551615",
"CanIsolate": "no",
"CanReload": "no",
"CanStart": "yes",
"CanStop": "yes",
"CapabilityBoundingSet": "18446744073709551615",
"ConditionResult": "yes",
"ConditionTimestamp": "日 2020-09-27 10:58:49 CST",
"ConditionTimestampMonotonic": "7922958508",
"Conflicts": "shutdown.target",
"ControlGroup": "/system.slice/mariadb.service",
"ControlPID": "0",
"DefaultDependencies": "yes",
"Delegate": "no",
"Description": "MariaDB database server",
"DevicePolicy": "auto",
"ExecMainCode": "0",
"ExecMainExitTimestampMonotonic": "0",
"ExecMainPID": "6707",
"ExecMainStartTimestamp": "日 2020-09-27 10:58:50 CST",
"ExecMainStartTimestampMonotonic": "7924819268",
"ExecMainStatus": "0",
"ExecStart": "{ path=/usr/bin/mysqld_safe ; argv[]=/usr/bin/mysqld_safe --basedir=/usr ; ignore_errors=no ; start_time=[日 2020-09-27 10:58:50 CST] ; stop_time=[n/a] ; pid=6707 ; code=(null) ; status=0/0 }",
"ExecStartPost": "{ path=/usr/libexec/mariadb-wait-ready ; argv[]=/usr/libexec/mariadb-wait-ready $MAINPID ; ignore_errors=no ; start_time=[日 2020-09-27 10:58:50 CST] ; stop_time=[日 2020-09-27 10:58:54 CST] ; pid=6708 ; code=exited ; status=0 }",
"ExecStartPre": "{ path=/usr/libexec/mariadb-prepare-db-dir ; argv[]=/usr/libexec/mariadb-prepare-db-dir %n ; ignore_errors=no ; start_time=[日 2020-09-27 10:58:49 CST] ; stop_time=[日 2020-09-27 10:58:50 CST] ; pid=6624 ; code=exited ; status=0 }",
"FailureAction": "none",
"FileDescriptorStoreMax": "0",
"FragmentPath": "/usr/lib/systemd/system/mariadb.service",
"Group": "mysql",
"GuessMainPID": "yes",
"IOScheduling": "0",
"Id": "mariadb.service",
"IgnoreOnIsolate": "no",
"IgnoreOnSnapshot": "no",
"IgnoreSIGPIPE": "yes",
"InactiveEnterTimestampMonotonic": "0",
"InactiveExitTimestamp": "日 2020-09-27 10:58:49 CST",
"InactiveExitTimestampMonotonic": "7922964930",
"JobTimeoutAction": "none",
"JobTimeoutUSec": "0",
"KillMode": "control-group",
"KillSignal": "15",
"LimitAS": "18446744073709551615",
"LimitCORE": "18446744073709551615",
"LimitCPU": "18446744073709551615",
"LimitDATA": "18446744073709551615",
"LimitFSIZE": "18446744073709551615",
"LimitLOCKS": "18446744073709551615",
"LimitMEMLOCK": "65536",
"LimitMSGQUEUE": "819200",
"LimitNICE": "0",
"LimitNOFILE": "4096",
"LimitNPROC": "7175",
"LimitRSS": "18446744073709551615",
"LimitRTPRIO": "0",
"LimitRTTIME": "18446744073709551615",
"LimitSIGPENDING": "7175",
"LimitSTACK": "18446744073709551615",
"LoadState": "loaded",
"MainPID": "6707",
"MemoryAccounting": "no",
"MemoryCurrent": "18446744073709551615",
"MemoryLimit": "18446744073709551615",
"MountFlags": "0",
"Names": "mariadb.service",
"NeedDaemonReload": "no",
"Nice": "0",
"NoNewPrivileges": "no",
"NonBlocking": "no",
"NotifyAccess": "none",
"OOMScoreAdjust": "0",
"OnFailureJobMode": "replace",
"PermissionsStartOnly": "no",
"PrivateDevices": "no",
"PrivateNetwork": "no",
"PrivateTmp": "yes",
"ProtectHome": "no",
"ProtectSystem": "no",
"RefuseManualStart": "no",
"RefuseManualStop": "no",
"RemainAfterExit": "no",
"Requires": "basic.target -.mount",
"RequiresMountsFor": "/var/tmp",
"Restart": "no",
"RestartUSec": "100ms",
"Result": "success",
"RootDirectoryStartOnly": "no",
"RuntimeDirectoryMode": "0755",
"SameProcessGroup": "no",
"SecureBits": "0",
"SendSIGHUP": "no",
"SendSIGKILL": "yes",
"Slice": "system.slice",
"StandardError": "inherit",
"StandardInput": "null",
"StandardOutput": "journal",
"StartLimitAction": "none",
"StartLimitBurst": "5",
"StartLimitInterval": "10000000",
"StartupBlockIOWeight": "18446744073709551615",
"StartupCPUShares": "18446744073709551615",
"StatusErrno": "0",
"StopWhenUnneeded": "no",
"SubState": "running",
"SyslogLevelPrefix": "yes",
"SyslogPriority": "30",
"SystemCallErrorNumber": "0",
"TTYReset": "no",
"TTYVHangup": "no",
"TTYVTDisallocate": "no",
"TimeoutStartUSec": "5min",
"TimeoutStopUSec": "5min",
"TimerSlackNSec": "50000",
"Transient": "no",
"Type": "simple",
"UMask": "0022",
"UnitFilePreset": "disabled",
"UnitFileState": "disabled",
"User": "mysql",
"Wants": "system.slice",
"WatchdogTimestamp": "日 2020-09-27 10:58:50 CST",
"WatchdogTimestampMonotonic": "7924819302",
"WatchdogUSec": "0"
}
}
停止服务后再查看:
[root@ansible-master ~]# ansible mytest -m shell -a "ps -ef | grep mysql |grep -v grep"
10.128.25.175| FAILED | rc=1>>
non-zero return code
[root@ansible-master ~]#
学习|生活|分享|积累|永不停步
请留下你指尖的温度
让太阳拥抱你
微信ID:haopython
![3e8b9b1d627bfa25fd0f1c16a0f334bc.png](https://img-blog.csdnimg.cn/img_convert/3e8b9b1d627bfa25fd0f1c16a0f334bc.png)