一、Installing Ansible-2.9.27 Simple Use on openEuler
1 地址
2 环境
[root@manage ~]# python3
Python 3.10.2 (main, Sep 8 2022, 00:00:00) [GCC 10.3.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
3 安装
##
dnf search ansible
##
dnf install -y ansible
##
[root@manage ~]# ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.10/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.10.2 (main, Sep 8 2022, 00:00:00) [GCC 10.3.1]
4 参数详情
- ## ansible --help
- ## -v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging)
- ## -i 表示:主机清单文件路径,默认在 /etc/ansible/ansible.cfg
- ## -m 表示:模块名称,默认使用command模块
- ## -a 表示:模块参数
- ## -k 表示:ssh密码
- ## -C 表示:测试
- ## -T 表示:超时
5 配置文件
## 修改配置
vim /etc/ansible/ansible.cfg
## 跳过检查主机 也就是第一次ssh连接要输入: yes/no
71 host_key_checking = False
111 log_path = /var/log/ansible.log
## 查看默认 defaults 配置
[root@manage ~]# cat /etc/ansible/ansible.cfg
10 [defaults]
11
12 # some basic default values...
13
14 #inventory = /etc/ansible/hosts
15 #library = /usr/share/my_modules/
16 #module_utils = /usr/share/my_module_utils/
17 #remote_tmp = ~/.ansible/tmp
18 #local_tmp = ~/.ansible/tmp
19 #plugin_filters_cfg = /etc/ansible/plugin_filters.yml
20 #forks = 5
21 #poll_interval = 15
22 #sudo_user = root
23 #ask_sudo_pass = True
24 #ask_pass = True
25 #transport = smart
26 #remote_port = 22
27 #module_lang = C
28 #module_set_locale = False
## 查询非注释的,都是些模块
[root@manage ~]# egrep -v '#|^$' /etc/ansible/ansible.cfg
[defaults]
host_key_checking = False
log_path = /var/log/ansible.log
[inventory]
## 是非root用户需要配置提权
[privilege_escalation]
[paramiko_connection]
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors]
[diff]
主机清单默认配置文件
## 示例文件
cat /etc/ansible/hosts
X、One Step Success
1 安装日志
2 帮助命令
查看代码
[root@manage ~]# ansible --help
usage: ansible [-h] [--version] [-v] [-b] [--become-method BECOME_METHOD]
[--become-user BECOME_USER] [-K] [-i INVENTORY] [--list-hosts] [-l SUBSET]
[-P POLL_INTERVAL] [-B SECONDS] [-o] [-t TREE] [-k]
[--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER] [-c CONNECTION]
[-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS]
[--sftp-extra-args SFTP_EXTRA_ARGS] [--scp-extra-args SCP_EXTRA_ARGS]
[--ssh-extra-args SSH_EXTRA_ARGS] [-C] [--syntax-check] [-D]
[-e EXTRA_VARS] [--vault-id VAULT_IDS]
[--ask-vault-pass | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS]
[-M MODULE_PATH] [--playbook-dir BASEDIR] [-a MODULE_ARGS] [-m MODULE_NAME]
pattern
Define and run a single task 'playbook' against a set of hosts
positional arguments:
pattern host pattern
options:
--ask-vault-pass ask for vault password
--list-hosts outputs a list of matching hosts; does not execute anything else
--playbook-dir BASEDIR
Since this tool does not use playbooks, use this as a substitute
playbook directory.This sets the relative path for many features
including roles/ group_vars/ etc.
--syntax-check perform a syntax check on the playbook, but do not execute it
--vault-id VAULT_IDS the vault identity to use
--vault-password-file VAULT_PASSWORD_FILES
vault password file
--version show program's version number, config file location, configured
module search path, module location, executable location and exit
-B SECONDS, --background SECONDS
run asynchronously, failing after X seconds (default=N/A)
-C, --check don't make any changes; instead, try to predict some of the
changes that may occur
-D, --diff when changing (small) files and templates, show the differences in
those files; works great with --check
-M MODULE_PATH, --module-path MODULE_PATH
prepend colon-separated path(s) to module library (default=~/.ansi
ble/plugins/modules:/usr/share/ansible/plugins/modules)
-P POLL_INTERVAL, --poll POLL_INTERVAL
set the poll interval if using -B (default=15)
-a MODULE_ARGS, --args MODULE_ARGS
module arguments
-e EXTRA_VARS, --extra-vars EXTRA_VARS
set additional variables as key=value or YAML/JSON, if filename
prepend with @
-f FORKS, --forks FORKS
specify number of parallel processes to use (default=5)
-h, --help show this help message and exit
-i INVENTORY, --inventory INVENTORY, --inventory-file INVENTORY
specify inventory host path or comma separated host list.
--inventory-file is deprecated
-l SUBSET, --limit SUBSET
further limit selected hosts to an additional pattern
-m MODULE_NAME, --module-name MODULE_NAME
module name to execute (default=command)
-o, --one-line condense output
-t TREE, --tree TREE log output to this directory
-v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging)
Privilege Escalation Options:
control how and which user you become as on target hosts
--become-method BECOME_METHOD
privilege escalation method to use (default=sudo), use `ansible-
doc -t become -l` to list valid choices.
--become-user BECOME_USER
run operations as this user (default=root)
-K, --ask-become-pass
ask for privilege escalation password
-b, --become run operations with become (does not imply password prompting)
Connection Options:
control as whom and how to connect to hosts
--private-key PRIVATE_KEY_FILE, --key-file PRIVATE_KEY_FILE
use this file to authenticate the connection
--scp-extra-args SCP_EXTRA_ARGS
specify extra arguments to pass to scp only (e.g. -l)
--sftp-extra-args SFTP_EXTRA_ARGS
specify extra arguments to pass to sftp only (e.g. -f, -l)
--ssh-common-args SSH_COMMON_ARGS
specify common arguments to pass to sftp/scp/ssh (e.g.
ProxyCommand)
--ssh-extra-args SSH_EXTRA_ARGS
specify extra arguments to pass to ssh only (e.g. -R)
-T TIMEOUT, --timeout TIMEOUT
override the connection timeout in seconds (default=10)
-c CONNECTION, --connection CONNECTION
connection type to use (default=smart)
-k, --ask-pass ask for connection password
-u REMOTE_USER, --user REMOTE_USER
connect as this user (default=None)
Some modules do not make sense in Ad-Hoc (include, meta, etc)
Y、Error message
python3-babel-2.10.3-1.oe2209.noarch: Cannot download
[MIRROR] python3-babel-2.10.3-1.oe2209.noarch.rpm: Curl error (28): Timeout was reached for http://repo.openeuler.org/openEuler-22.09/OS/x86_64/Packages/python3-babel-2.10.3-1.oe2209.noarch.rpm [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
[MIRROR] python3-babel-2.10.3-1.oe2209.noarch.rpm: Curl error (28): Timeout was reached for http://repo.openeuler.org/openEuler-22.09/OS/x86_64/Packages/python3-babel-2.10.3-1.oe2209.noarch.rpm [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
[MIRROR] python3-babel-2.10.3-1.oe2209.noarch.rpm: Curl error (7): Couldn't connect to server for http://repo.openeuler.org/openEuler-22.09/OS/x86_64/Packages/python3-babel-2.10.3-1.oe2209.noarch.rpm [Failed to connect to repo.openeuler.org port 80 after 21015 ms: Connection refused]
[MIRROR] python3-babel-2.10.3-1.oe2209.noarch.rpm: Curl error (6): Couldn't resolve host name for http://repo.openeuler.org/openEuler-22.09/OS/x86_64/Packages/python3-babel-2.10.3-1.oe2209.noarch.rpm [Could not resolve host: repo.openeuler.org]
[FAILED] python3-babel-2.10.3-1.oe2209.noarch.rpm: No more mirrors to try - All mirrors were already tried without success
(19/19): ansible-2.9.27-3. 45% [===========- ] 1.4 MB/s | 13 MB 00:11 ETA
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
python3-babel-2.10.3-1.oe2209.noarch: Cannot download, all mirrors were already tried without success
解决
## 下载慢,或失败,单独下载此rpm包
mkdir /opt/software;cd /opt/software
wget https://repo.openeuler.org/openEuler-22.09/OS/x86_64/Packages/python3-babel-2.10.3-1.oe2209.noarch.rpm
[root@manage ~]# rpm -ivh /opt/software/python3-babel-2.10.3-1.oe2209.noarch.rpm --nodeps
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:python3-babel-2.10.3-1.oe2209 ################################# [100%]
## 在进行安装
dnf install -y ansible
觉得不行的话,可以使用自定义配置YUM和 Everything 20G安装
Z、Related Links
标签:Use,27,Simple,babel,--,ansible,oe2209,##,python3 From: https://www.cnblogs.com/huaxiayuyi/p/16928621.htmlopenEuler-22.09 Configures YUM Local Source Everything:https://www.cnblogs.com/huaxiayuyi/p/16915987.html