Below you will find pages that utilize the taxonomy term “Ansible”
Posts
Ansible - Copy module
Ansible 的 Copy module 可以用來處理檔案的複製。
可用的參數如下:
parameter required default choices comments attributes no None Attributes the file or directory should have. To get supported flags look at the man page for chattr on the target system. This string should contain the attributes in the same order as the one displayed by lsattr. backup no no yes/no Create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly.
read morePosts
Ansible - APT module
Ansible 的 APT module 可以用來管理 APT 套件。
可用的參數如下:
parameter required default choices comments allow_unauthenticated no no yes/no Ignore if packages cannot be authenticated. This is useful for bootstrapping environments that manage their own apt-key setup. autoremove no yes/no If yes, remove unused dependency packages for all module states except build-dep. It can also be used as the only option. cache_valid_time no Update the apt cache if its older than the cache_valid_time.
read morePosts
Ansible - Shell module
Ansible 的 Shell module 可以用來執行命令。
可用的參數如下:
parameter required default choices comments chdir no cd into this directory before running the command creates no a filename, when it already exists, this step will not be run. executable no change the shell used to execute the command. Should be an absolute path to the executable. free_form yes The shell module takes a free form command to run, as a string. There’s not an actual option named “free form”.
read morePosts
Ansible - Command module
Ansible 的 Command module 可以用來執行命令。
可用的參數如下:
parameter required default choices comments chdir no cd into this directory before running the command creates no a filename or (since 2.0) glob pattern, when it already exists, this step will not be run. executable no change the shell used to execute the command. Should be an absolute path to the executable. free_form yes the command module takes a free form command to run. There is no parameter actually named ‘free form’.
read morePosts
Ansible - Offline docs with ansible-doc
Ansible 有許多模組,每麼模組有不同的用途、不同的參數、不同的使用方式,要查閱模組的使用方式除了透過網路查詢外,也可以用 ansible-doc 離線查詢。
ansible-doc 的使用方式如下:
Usage: ansible-doc [options] [module...] Options: -h, --help show this help message and exit -l, --list List available modules -M MODULE_PATH, --module-path=MODULE_PATH specify path(s) to module library (default=['./library/']) -s, --snippet Show playbook snippet for specified module(s) -v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging) --version show program's version number and exit 要查詢上面顯示的使用方式可以直接輸入 ansible-doc,或是帶入 -h,抑或是帶入 –help 參數。
ansible-doc ansible-doc -h ansible-doc --help 要查閱 ansible-doc 的版本,可使用 -v 或是 –version 參數。
read morePosts
Ansible - Inventory
Ansible 的 Inventory 是 Ansible 的主機清單,紀錄著要被管理的主機資訊。
最簡單的設置方式就是直接將要被管理的主機 IP 逐一寫入。
Ansible 就可以透過 Inventory 找到要控制的機器做對應的操控。
若有多台相近 IP 或相近網址的主機,Inventory 也可以用中括號來設定範圍值,便於設定與後續的管理。
在比較複雜的環境下,為了佈署上的方便,我們也可以在 Inventory 中將機器做群組。
這樣可針對不同群組套用不同的佈署策略。
此外, Inventory 也支援一些可以設定的參數,可參閱下表。
Parameter Description ansible_connection Connection type to the host. This can be the name of any of ansible’s connection plugins. SSH protocol types are smart, ssh or paramiko. The default is smart. Non-SSH based types are described in the next section. ansible_host The name of the host to connect to, if different from the alias you wish to give to it.
read morePosts
Ansible - Ansible CLI
Ansible 安裝完且 SSH 環境準備好後就可以開始使用 Ansible CLI 去使用 Ansible。
Ansible CLI 的使用方式如下:
Usage: ansible <host-pattern> [options] Options: -a MODULE_ARGS, --args=MODULE_ARGS module arguments -k, --ask-pass ask for SSH password -K, --ask-sudo-pass ask for sudo password -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 -c CONNECTION, --connection=CONNECTION connection type to use (default=smart) -f FORKS, --forks=FORKS specify number of parallel processes to use (default=5) -h, --help show this help message and exit -i INVENTORY, --inventory-file=INVENTORY specify inventory host file (default=/etc/ansible/hosts) -l SUBSET, --limit=SUBSET further limit selected hosts to an additional pattern --list-hosts outputs a list of matching hosts; does not execute anything else -m MODULE_NAME, --module-name=MODULE_NAME module name to execute (default=command) -M MODULE_PATH, --module-path=MODULE_PATH specify path(s) to module library (default=/usr/share/ansible) -o, --one-line condense output -P POLL_INTERVAL, --poll=POLL_INTERVAL set the poll interval if using -B (default=15) --private-key=PRIVATE_KEY_FILE use this file to authenticate the connection -s, --sudo run operations with sudo (nopasswd) -U SUDO_USER, --sudo-user=SUDO_USER desired sudo user (default=root) -T TIMEOUT, --timeout=TIMEOUT override the SSH timeout in seconds (default=10) -t TREE, --tree=TREE log output to this directory -u REMOTE_USER, --user=REMOTE_USER connect as this user (default=vagrant) -v, --verbose verbose mode (-vvv for more, -vvvv to enable connection debugging) --version show program's version number and exit 比較常用的參數有 -i、-m、-a、-s,-i 用來指定 inventory file 或是管理機的位置,-m 用來指定要使用的模組,-a 用來指定模組所需要的參數,-s 用來指定需要用 sudo 運行。
read morePosts
Ansible - Install Ansible via apt
要在 Ubuntu 下使用 apt 安裝 Ansible。
可先用 apt-get 安裝 software-properties-common。
sudo apt-get install software-properties-common 然後進行 apt-get 的更新,避免後面的 apt-add-repository 命令找不到。
sudo apt-get update 接著用 apt-add-repository 新增套件庫。
sudo apt-add-repository ppa:ansible/ansible 套件庫新增時可能會出現 Cannot add PPA: ‘ppa:ansible/ansible’. Please check the PPA name or format is correct. 錯誤。
可以運行下列命令。
sudo apt-get install --reinstall ca-certificates 再次調用 apt-add-repository 新增套件庫。
套件庫加完後再次運行 apt-get 更新。
sudo apt-get update 就可以用 apt-get 安裝 ansible 了。
sudo apt-get install ansible 安裝完後最後輸入 ansible 確認安裝無誤。
read more