Visão Geral
Continue os seus estudos sobre o Ansible, com ênfase na automatização de servidores com sistemas operativos Linux
sistemas operativos e aplicações. Nas aulas e laboratórios, os alunos implementam uma combinação
de sistemas operativos baseados em Debian e RedHat que funcionam como alvos configuráveis para o Ansible,
acessíveis por SSH. Todas as lições são diretamente aplicáveis, muitas vezes incluindo operações do dia a dia
operações quotidianas, relacionadas com a manutenção de servidores Linux OS.
Além disso, os alunos aprenderão a usar o Ansible para automatizar APIs de gerenciamento RESTful out-of-band (OOB)
de gerenciamento RESTful, acessíveis por HTTP. Para fins de demonstração, a aula usa o
APIs iDRAC e RedFish do Dell PowerEdge baseadas em Linux como alvo. No entanto, as lições
são transferíveis para qualquer interação do Ansible com APIs RESTful utilizando o protocolo HTTP.
Os alunos são incentivados a trazer seus próprios fluxos de trabalho (Linux), ou tickets populares, para
para servir como cenários relevantes para uma melhor compreensão da automação Ansible.
Os alunos que procuram Ansible para aplicações de rede devem ver: Ansible 201
(Redes)
Os alunos que procuram Ansible para aplicações Windows devem ver: Ansible 203 (Windows
Server)
Objetivo
O que você aprenderá:
- Controlo de versões de código com o Git
- Visão geral dos módulos Ansible
- Abrir sessões SSH e passar comandos para servidores remotos
- Usar HTTP para se comunicar com várias APIs
- Coleções Ansible para entrega de conteúdo
- Construindo funções para reutilização de código
- Formatação YAML
- Construção do manual e ordem de execução
- Modelo Jinja2
- Gerenciamento de estoque estático e dinâmico
- Gerenciamento de credenciais e criptografia com Vault
- Encontrando soluções no Ansible Galaxy
- Colecções Ansible para automatização de servidores
- Compreender a arquitetura de plug-in dos módulos Ansible escritos com Python
- Melhores práticas de automatização
Publico Alvo
Administradores de sistemas Linux
Engenheiros DevOps
Desenvolvedores de Ansible / Python
Indivíduos interessados em automação
Pre-Requisitos
- Ansible Essentials
- A experiência de codificação nem outra linguagem serve como um pré-requisito adequado
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Ansible and Python Review
- Overview of Python and Ansible
- Python whitespace rules & best practices
- Conditional expressions
- Relational and Boolean operators
- Lists, Tuples, Dictionaries
- Indexing and slicing
- Built-in functions
- Writing custom functions
- Getting at methods
- Iterating with Loops (for and while)
- Working with filesSoftware Control Management (SCM) (Git, Github, GitLab, Bitbucket, Cloudshare, etc.)
- Getting at RESTful interfaces with Python
- Working with JSON
- Ansible with OpenSSH vs Paramiko
Linux Server Automation
- Controlling Linux operating system with Ansible (Debian, Ubuntu, RHEL, CentOS, etc.)
- RESTful API review
- Understanding API documentation
- PowerEdge iDRAC scripting with Python
- Redfish APIs
- Working with YAML
- Converting JSON to YAML with Python
Critical Ansible Catchup & Review
- Ansible keywords
- YAML and JSON for data exchange
- Ansible and YAML
- Ansible Playbook components
- Tying together Python and Ansible – Using Python within Ansible
- Targeting Linux servers with Ansible
- What is new in Ansible (most current updates / release notes)
- Ansible PowerEdge Collection
- Ansible and HP
- Extending Ansible to support your vendor / flavor of Linux
- Writing playbooks for iDRAC and Redfish APIs
- Writing Ansible playbooks that respond to failures
Blending Python and Ansible Skillsets
- Review how to use Python within Ansible
- Calling Python scripts with Ansible
- Jinja2 Templating Engine for Python (and Ansible)
- Using Templates in Ansible playbooks
- Jinja2 filters, looping, and other useful tricks for automating with Ansible
- Playbook tagging for selective runs
- When to use Python and when to use Ansible
- Writing a custom collection
- Writing custom roles
Customizing Ansible with Python
- Review – Running Scripts with Ansible
- Prompting for Ansible user input
- Ansible Galaxy & Getting at Roles
- Writing a custom Ansible Module with Python
- Ansible “Engine” vs Ansible “Tower” – marketing hype, capabilities, costs, etc.
- What is Ansible Automation Platform?
- Molecule – Testing your roles
Hands On Labs:
- Welcome to Alta3 Research Labs
- Using vim
- Introduction to VScode
- Tmux Basics
- SCM with GitLab
- Lecture - Introducing Python
- Getting dir(obj) help() and pydoc
- Lecture - Data Types
- Lists
- Dictionaries
- Lecture - Ansible Playbook Components
- Running a Playbook
- Debug Module
- Debug, Loops, and YAML Lists
- Lecture - REST APIs and JSON
- Open APIs with Python and Ansible
- Ansible Keywords register and when
- API Tokens with Python and Ansible
- Lecture - SSH Operations
- Paramiko - SSH with RSA Keys
- Ansible Collections
- Ansible Module - mount
- Ansible Module - template
- Role and ansible-galaxy
- Ansible Galaxy and PowerEdge
- Lecture - Ansible Collections
- Ansible Storage Collections
- Lecture - Customizing Ansible for Dell PowerEdge
- Installing Dell PowerEdge Collection
- Intro to Dell PowerEdge
- Ansible for Dell PowerEdge
- Chaining Dell PowerEdge Modules
- Ansible for PowerEdge Chassis - power, thermals, LEDs
- Ansible for PowerEdge Power States
- Ansible for PowerEdge BIOS
- Ansible for PowerEdge Users
- Loops and Mapping YAML Vars Files in Playbooks
- Lecture - Ansible Workflow
- Ansible-runner
- Securing Playbooks with Vault
- Playbook Prompts
- Ansible and Jinja Templates
- Ansible Tags and RESTful APIs
- Running a script with Ansible
- Dynamic Inventories with Python
- Writing an Ansible Module with Python
- When to Use Python or Ansible
- Molecule
- Server Automation with Python and Ansible - Certification Project
- Glossary
TENHO INTERESSE