[root@ansible yum.repos.d]# ansible -i /etc/ansible/hosts Rich -m ping [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' [WARNING]: Could not match supplied host pattern, ignoring: Rich [root@ansible yum.repos.d]# ansible all -f 5 -m ping [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' 什么意思
时间: 2024-04-18 22:34:08 浏览: 218
这里的提示意味着在您提供的主机列表中找不到匹配的主机。在第一个命令中,指定了一个名为 "Rich" 的主机,但在您的主机清单中找不到该主机。同样,在第二个命令中,使用了 "all" 参数来匹配所有主机,但由于没有指定有效的主机清单,只有本地主机可用。因此,您看到的警告信息是提醒您当前只能操作本地主机。请确保您的主机清单正确配置,并包含所需的主机信息。
相关问题
ansible -i ${ini_file} all -m synchronize -a " src=$HOME/docker-ce.repo dest=/etc/yum.repos.d/ " -u root bash: ansible: command not found...
这个命令行试图使用Ansible脚本管理和同步文件,但是收到`ansible: command not found`的错误,这意味着你的系统中并未安装或找不到名为`ansible`的命令。Ansible是一个强大的自动化运维工具,通常用于配置管理和任务部署。
要在你的系统上使用`ansible`,你需要首先确保你已经安装了它。对于大多数Unix/Linux系统,你可以通过包管理器来安装,例如:
- 在Debian或Ubuntu上:`sudo apt-get install ansible` 或者 `sudo apt update && sudo apt install ansible`
- 在 CentOS 或 RHEL 上:`sudo yum install epel-release -y` (如果尚未安装EPEL源)然后 `sudo yum install ansible`
安装完成后,你就可以在命令行里运行Ansible命令了,前提是你需要设置好`ANSIBLE.cfg`或`~/.ansible.cfg`来指定配置文件(`-i`),以及指定用户身份 `-u`。
针对你提供的命令,完整的执行流程应该是这样的(假设你已经在root权限下并已安装了Ansible):
```bash
ansible-playbook -i ${ini_file} playbook.yml -m synchronize -a "src=$HOME/docker-ce.repo dest=/etc/yum.repos.d/" -u root
```
这里`playbook.yml`是你的Ansible剧本文件,其中指定了上述操作。
创建2台系统为centos7.5的云主机,其中一台作为Ansible的母机并命名为ansible,另一台云主机命名为node,通过http服务中的ansible.tar.gz软件包在ansible节点安装Ansible服务;并用这台母机,补全Ansible脚本(在HTTP中下载install_zabbix.tar.gz并解压到/root目录下),补全Ansible脚本使得执行install_zabbix.yaml可以在node节点上完成zabbix服务的安装。 ftp.repo: [zabbix] name=zabbix baseurl=file:///opt/Zabbix enabled=1 gpgcheck=0 [ftp_centos] name=ftp_centos baseurl=ftp://controller/centos enabled=1 gpgcheck=0 [root@ansible ~]# cat install_zabbix.yaml - hosts: zabbix remote_user: root tasks: - name: rm repo shell: rm -f /etc/yum.repos.d/* - name: cp repo copy: src=/etc/yum.repos.d/ftp.repo dest=/etc/yum.repos.d/ - name: cp zabbix copy: src=/opt/zabbix dest=/opt/ - name: yum install mariadb zabbix httpd yum: name=mariadb,mariadb-server,zabbix-server-mysql,zabbix-web-mysql,zabbix-agent,trousers state=present - name: start httpd service: name=httpd state=started enabled=yes - name: start mariadb service: name=mariadb state=started enabled=yes -name: mysql passwd shell: mysqladmin -u root password 123456 - name: grant shell: mysql -u root -p123456 -e "create database zabbix character set utf8 collate utf8_bin;" && mysql -u root -p123456 -e "grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';" && mysql -u root -p123456 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';" - name: sql shell: zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz |mysql -u zabbix -pzabbix zabbix - name: cp config copy: src=/etc/zabbix/zabbix_server.conf dest=/etc/zabbix/ - name: start zabbix service: name=zabbix-server state=started
好的,我了解了您的问题。您想创建2台系统为CentOS 7.5的云主机,其中一台作为Ansible的母机并命名为ansible,另一台云主机命名为node,并通过http服务中的ansible.tar.gz软件包在ansible节点安装Ansible服务。然后用这台母机,补全Ansible脚本(在HTTP中下载install_zabbix.tar.gz并解压到/root目录下),补全Ansible脚本使得执行install_zabbix.yaml可以在node节点上完成zabbix服务的安装。
以下是您需要执行的步骤:
1. 在您的云平台上创建2台CentOS 7.5的云主机,分别命名为ansible和node。
2. 在ansible节点上安装Ansible服务,可以通过以下命令完成安装:
```
$ yum install ansible
```
3. 从http服务中下载ansible.tar.gz软件包,并将其解压到ansible节点上的/opt目录下:
```
$ wget http://your_http_server/ansible.tar.gz -P /opt/
$ tar -zxvf /opt/ansible.tar.gz -C /opt/
```
4. 在ansible节点上创建一个名为hosts的文件,并添加node节点的IP地址:
```
$ vi /etc/ansible/hosts
```
添加以下内容:
```
[node]
192.168.1.100
```
5. 从http服务中下载install_zabbix.tar.gz软件包,并将其解压到ansible节点上的/root目录下:
```
$ wget http://your_http_server/install_zabbix.tar.gz -P /root/
$ tar -zxvf /root/install_zabbix.tar.gz -C /root/
```
6. 创建一个名为install_zabbix.yaml的Ansible脚本,并将以下内容复制到脚本中:
```
---
- hosts: node
remote_user: root
tasks:
- name: rm repo
shell: rm -f /etc/yum.repos.d/*
- name: cp repo
copy: src=/etc/yum.repos.d/ftp.repo dest=/etc/yum.repos.d/
- name: cp zabbix
copy: src=/opt/zabbix dest=/opt/
- name: yum install mariadb zabbix httpd
yum:
name: "{{ item }}"
state: present
with_items:
- mariadb
- mariadb-server
- zabbix-server-mysql
- zabbix-web-mysql
- zabbix-agent
- trousers
- name: start httpd
service:
name: httpd
state: started
enabled: yes
- name: start mariadb
service:
name: mariadb
state: started
enabled: yes
- name: mysql passwd
shell: mysqladmin -u root password 123456
- name: grant
shell: mysql -u root -p123456 -e "create database zabbix character set utf8 collate utf8_bin;" && mysql -u root -p123456 -e "grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';" && mysql -u root -p123456 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
- name: sql
shell: zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -pzabbix zabbix
- name: cp config
copy: src=/etc/zabbix/zabbix_server.conf dest=/etc/zabbix/
- name: start zabbix
service:
name: zabbix-server
state: started
```
7. 执行install_zabbix.yaml脚本,使得在node节点上完成zabbix服务的安装:
```
$ ansible-playbook /root/install_zabbix.yaml
```
以上就是您所需要执行的步骤,祝您顺利完成任务!
阅读全文