أقترح أن تقرأ فك تشفير تقرير 2019 من قبل سيرجي Pechenko "Ansible - هذا ليس لك باش!"

بضع كلمات عني.

مهندس. أعرف شيئًا عن تكنولوجيا المعلومات وأنا على استعداد لمشاركة هذه المعرفة. مثل الأشخاص الذين يخرجون بأسئلة محددة ؛ لا يحبون الأشخاص الذين يريدون شخصًا يفعل كل شيء من أجلهم.

ملخص قصير للقصة:
- تحضير التربة.
- («bashsible»).
- ?
- , .
- .
- .
- .
- Jinja, !

Ansible, . .

-, . Ansible . . – . , Ansible <.. group_vars> . yaml, - , Git, . . . Ansible 5 , .

< > . 2.1, – , , . , , , - .
– . AWS. Ansible , . . .

– , Ansible @pro_ansible.

— . , , , Ansible. , . : « ?». , , .

. . , – , Ansible.
Ansible , . , . , . Ansible, , , . , – , , , , . .
, .

, Ansible, Ansible. . 4 . , , . – , - . – . - «play» — , . «Playbook» — . 2 play playbook.
Ansible «all». , . Ansible — inventory. , . , . , , inventory , . . < > all, 2, 3, host3 <>. , . , ?
. . – ? , , ? , ? «» «».

. . . , . , , «» «».
– 80% 20% , . 20% 80% . , .

, , . Ansible . Python .
Python , Python - . Ansible . .
, Python, . , . , , Senoir YAML Developer.
, , . – . , , , . , , .

. , , , (« »). , - , , .
, , , , . , inventory, , . YaML, Senior YaML Developer, « Ansible» — , .
, . Ansible , , — . «library». . . , , – Python , , , . .
Python- - « » — - « », «module_utils». , . , . .

. ? , , – . , , , IT, , , . . GPL'. . . , exception .
? Ansible. , , . . exceptions, , . . – . , , . . , , , , , .

. Changed = False. , changed – ok. . message, . – - .
. , Ansible’ «». «host_vars». «host_vars[_]» . Ansible.
? , , ansible_facts - host_vars , . Controller , host_vars.
set_fact - . . , - , - . Python-, .
AnsibleModule, . Argument_spec – , . : « -, -». argument_spec Ansible , , ; , «» . , . , . , , .

Ansible. . , - 2.4, , , , Grafana'. - «uri», bashsible, — shell, curl, JSON c Grafana' . , , Grafana' .
, , . , — , . . , «_spec», . , «file», , : , owner, group, chmod. , c . , , . .
, — - , , Ansible, , . : – .
Ansible aliases (<>). «grafana_url» «url» — . , . «required = true». - . .
, Grafana. ? . .

argument_spec, , . , check_mode.
, check_mode? . : , , . , , production.
production ? , . check_mode? , production. , — - . , 100 . ? , check_mode .
, , check_mode, Grafana . : Grafana, , .
, . «required_together», Ansible , , . — , Ansible , .
mutually_exclusive, . . : , , . . , . - , , , , , .
exception, .
— production , . Ansible. , - , . .

. . , , . action plugins, callback plugins .. , «*_plugins» library " ". , , .
Ansible . , , . — , .

action-. - < >. : tasks, assert . , . .

. , , - . Python- c if __name__ == '__main__'
, . . : , «run». Ansible . , .. , .
import Ansible, – action-.

— , , . , . — .

? - . Jinja. Jinja2 (2.10). , , Ansible.

Jinja . , . .
– , , , . . , .
– . , - Jinja, - , . , Ansible , . . , .
, , Jinja2 . , . , . Jinja .

– , , . - . , .
. – cache behavior = merge. . . – «combine». «combine», .

? , . group_vars/all – , - , . . group1, group2.
, «all». – hostvars. , . . - , , . . , .

№2 – . , , . , .

? . YaML Jinja. — «from_yaml» — .

, ! , Ansible , . ?
. , . ? , , Ansible, Ansible 2.4. . , «uri», REST API, Consul'. , key-value Ansible. . . backend , « ». curl — , - . , «library», requests , backend'. .
. c Zabbix - . , , . . . < >, , . , Zabbix « ».
. , Ansible .
, . – - daemon, , . «agentless» Ansible – SSH, . , , .
. : , , Ansible Tower?
Ansible Tower , , , – , .
OpenSource .
OpenSource – AWX.
.
-, , - AWX , , . Ansible- . Ansible CI/CD, jobs, Jenkins, , , Rundeck. , shell-, ansible-playbook .
, DevOps Ansible , , ?
job, , Jenkins , job . job. . . .
?
.
! , , ? , , - . , - .
-, ansible-lint, . , . ? ansible-lint? – . .
. . ?
— molecule.
! Ansible. Linux . , . , - , .
, . , , Ansible, , 5 ? , - -. , open-source’ ( napalm).
Linux .
Cisco , .
Terraform – , ?
كان لدي خبرة Ansible بدون حفنة من Terraform. لقد كانت عملية نشر ، أمازون ، كانت خمس مناطق. عندما قالوا بعد منطقتين أن هناك حاجة لثالثة ، أضفت عدة خطوط وكشفت.
فيديو: