Used to play ansible, the root account is used to manage. Now to the production environment, can not be so casual, I believe that many other companies are also banned from the root SSH connection.Therefore, I have a problem with this deployment, many articles on the internet, are not elaborate on this piece. I also groping to do out, through this practice, but also further deepened the understanding of ansible
Recently encountered a problemSeport is isn't a legal parameter in an Ansible task or handlerThe reason is that my local Ansible Extra Modules is obsolete and needs to be updated. But the official document of Ansible only gives such a word.There should be no need to install this repo separately as it should being included in any
In the operation of the tool, the choice of using the Ansible API to interact with the server, the purpose of using ansible is simple, and the client does not need to install the agent, server installation after the Ansbile, the new machine can be managed.In order to combine the asset management system (CMDB), the method of dynamically acquiring inventory is used, which eliminates the need to configure host
Recent continuous integration with jenkins+gitlab+ansible, automated deployment and version rollback. However, the Deploy plugin failed to do incremental upgrades and rollback operations, tossing a long time to decide to write their own script simple implementation.Environment:7.0 64-bit gitlab:v2. 9.0 git: 2.9 1.651. 3, git plugin, GitLab plugin, Dynamic Parameter plug-in ansible:2.1. 0.0Various tool func
), Dictionary
The Dictionary (dictionary) is identified by key and value, such as:
name: Example DeveloperJob: DeveloperSkill:Elite
You can also use Key:value as a representation in {}, such as:
{name: Example Developer,Job: Developer,Skill:Elite}Inventory Host Inventory
Ansible for more convenient management of the host, in the host list will be managed host group naming, the default host inventory is the/etc/
Objective:What is Filter_plugins? This word is broken down, filter! The person familiar with the jinja2 template, to know that he is a filter, can use Pyhton code to process strings in a template in a pipe way. The ansible template calls the JINJA2, which is known to all. This Filter_plugins plug-in code is designed to better handle strings and logical judgments in the JINJA2 template. Previously, I talked to Shen Zan about a template problem, really
One of the most important functions in ansible is the ability to execute AD-HOC commands, and some people may not understand the meaning of the word ad-hoc, which means instant meaning, or arbitrary meaning.In contrast to the Ansible playbook function, playbook is suitable for batch deployment environments and is generally not frequently changed. The Ad-hoc command applies to operational scenarios such as b
Iv. Configuration of InventoryAnsible defines hosts and groups through inventory, allowing time to be read through-I, default/etc/ansible/hosts. Multiple inventory can exist, enabling dynamic generation.1. Define hosts and Groups# vim/etc/ansible/hosts192.168.12.22 #可以直接为IP地址Nfs.magedu.com #可以是域名ntp.magedu.com:2200 #可以: Connect to SSH Port[webserver] #[] is a group name, the following are the group membersw
Ansible Push SSH Public key1 The management of the machine can be directly push the pastUsing ssh-keygen-t RSA to generate a key pair,!miyaoqq20141225124030.png!Id_rsa the private key, which remains on the host, Id_rsa.pub is the public key that needs to be pushed to the management machine and renamed to the Authorized_keys filePush to remote machine ssh-copy-id-i ~/.ssh/id_rsa.pub [email protected][ip,hostname]2 machine Many cases, the use of Ssh-cop
Speaking of variables, the variables in ansible are almost the same as those in the pillar + grains in the salt-stack.
The main sources of variables in ansible are as follows:
Inventory (host vars, group vars)
Playbook
Command Line
The Playbook generates results during task execution. It can be register and used as a variable for the following task.
Roles
Facts from nodes
These types of variables, 1
"or" and "non" in ansible
We often need to operate a number of groups in the day-to-day work, this time we need to know some common methods of merging collections, the most important way is::::! "Directly below the example
Cat hosts[Lab]Lab1.503error.comLab2.503error.com
[web]Web1.503error.comWeb2.503error.com
[Data]Data1.503error.comData2.503error.com
[SSSS]Web1.503error.comWeb2.503error.comData1.503error.com
Specify a group:
$
After Ansible 2.0, there was no run this API, On the internet to find a lot of officials 2.0 of the API, found that the call, the return result is only 0 and 1, can not get the same results as running, after research, finally use the following code can get results, this is my encapsulated API. Look at the code directly
ansible_api.py
# coding=utf-80 #!/bin/env python "" "@version: 1.0 @author: Hogan @project: Cloudmanage @file: ansible_api.py @time:
Tags: ansible tornado mongodbhttp://blog.csdn.net/smallfish1983/article/details/38078019According to the above man wrote, beginners, do not spit blood, basic skills can be achieved.650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/4B/06/wKioL1QnvwOSkcQiAADRwubmzMo149.jpg "style=" float: none; "title=" Index.png "alt=" Wkiol1qnvwoskcqiaadrwubmzmo149.jpg "/>650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/4B/06/wKioL1QnvwPwAo3UAADQorQ
Because the project needs to use to the Ansible API, according to modify the official documents provided by the use of examples, after many tests, will be able to use the code to share to everyone, you just need to modify the code according to their own actual environment.Official Document: http://docs.ansible.com/ansible/latest/dev_guide/developing_api.html#python-api-2-0#coding:utf-8importjsonfromcollecti
Demand:Remotely installs Vcredist 2008, 2010, 2012, and 20,134 versions on Windows Server R2.First in the official documents of the ansible to find out if there is a suitable module directly can be used.The first thing to find is the Win_package module: http://docs.ansible.com/ansible/win_package_module.html , and see the example it gives.650) this.width=650; "src="/e/u261/themes/default/images/spacer.gif
1. Configuring the Jenkins EnvironmentCommand refer to the previous article "Docker Build Jenkin". Single-Machine deployment. In this example. Jenkins,ansible installed on the same machine.Jenkins needs to configure/etc/sudoers. Also need to give/bin/bash, as well as Jenkins's home directory under. SSH requires a copy of the ansible SSH private key1. Configure/etc/sudoersRoot all=(All) all# add jen
Ansible's script is written in the Yaml language, with the following basic syntax:
Basic syntax:1. Case2, the same level to be aligned, indentation representation level3, indentation is not allowed to use the TAB key4, the indentation of the number of spaces does not stipulate that the same element can be distinguished
Supported Data Structures:1. Object: A set of key-value pairs, also known as a map/hash/dictionaryExample: Name:example key: Value2, array: A set of
Ansible series (5): PlaybookBefore playbook
After the first two modules, I believe that anyone who uses shell will discover the power of ansible.
Here we will introduce playbook, a truly powerful place. Let you get rid of the difficulty of executing shell.Definition of Playbook
The definition of Playbook is difficult to describe accurately in Chinese. Reference the official website:
Playbooks are Ansible'
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.