DevOps — Ansible para iniciantes absolutos | Mumshad Mannambeth | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

DevOps — Ansible para iniciantes absolutos

teacher avatar Mumshad Mannambeth

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

9 aulas (58 min)
    • 1. Introdução 2

      7:05
    • 2. Inventário

      6:09
    • 3. Playbooks

      8:15
    • 4. Módulos

      11:55
    • 5. Variáveis

      3:57
    • 6. Condicionais

      4:02
    • 7. Loops

      1:32
    • 8. Papéis

      5:43
    • 9. Tópicos avançados e conclusão

      9:39
  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

886

Estudantes

--

Projetos

Sobre este curso

5c9f3d1

Ansible é uma plataforma de automação de de de TI que faz seus aplicativos e sistemas mais fáceis de implantar. Evite escrever de scripts ou código personalizado para implantar e atualizar seus aplicativos: automatize em um idioma que se aproxima de inglês simples, usando SSS, e sem a agente em sistemas remotos.

Este curso introduz um iniciante no básico de Ansible com exercícios práticos que você pode praticar no navegador. O curso introduz casos de uso básicos de Ansible em seguida ao inventário de Ansible de Playbooks de Cada aula é acompanhada por um conjunto de exercícios de codificação que dá ao usuário uma experiência prática no desenvolvimento de Playbooks de is

O que vou aprender?

  • Introdução a nível para iniciantes
  • Introdução com YAML e exercícios
  • Crie arquivos de inventário Ansible com exercícios
  • Crie arquivos de inventário Ansible com exercícios
  • Automatize o fornecimento e implementação do servidor de web

Quem é o público alvo?

  • Administradores de sistemas
  • Engenheiros de infraestrutura de nuvem
  • Engenhos de automação
  • Qualquer que quer aprender a automatizar sem a programação

Conheça seu professor

Hello, I'm Mumshad. I am an IT Solutions Architect focusing on Cloud deployment and automation. I am passionate about learning new technology and teaching. I believe the best way to learn is to learn by doing and in a fun way. I have authored multiple fun courses in Excel and other cloud automation technologies.

Visualizar o perfil completo

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%
Arquivo de avaliações

Em outubro de 2018, atualizamos nosso sistema de avaliações para melhorar a forma como coletamos feedback. Abaixo estão as avaliações escritas antes dessa atualização.

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução 2: Olá e bem-vindo a este curso sobre fundamentos responsáveis. Meu nome é Mãe, Schattman, Lambeth e eu trabalho como arquiteto de soluções. Eu tenho usado o responsável pela automação em minhas soluções. E é uma ótima ferramenta que é fácil e pode economizar muito tempo. Este é um guia de mãos no iniciante para responder. Quando comecei a aprender a responder primeiro, tudo o que pude encontrar é a documentação responsável que vamos olhar através. E eu tinha que ter acesso a um sistema com respondable instalado nele para fazer e entender vários conceitos. Alguns dos conceitos levaram um pouco de tempo para eu me locomover. Então eu juntei essa causa para o iniciante absoluto. Você realmente não precisa ter acesso a um sistema com dançante ou um ambiente configurado para responder sozinho. Bem, é sempre bom ter, e eu recomendo fortemente criar um sistema real para colocar seu conhecimento em ação. Mas o que eu estou tentando dizer aqui é que este curso fornece exercícios de codificação onde você estará desenvolvendo playbooks respondíveis diretamente em seu navegador, e vamos testar para ver se eles são feitos corretamente, então é literalmente mãos sobre e um grande maneira de começar a aprender responsável. Então, como exatamente esse curso funciona? Este curso contém palestras sobre vários temas, seguidas de alguns exercícios de codificação onde ele irá praticar a escrita de playbooks responsáveis. Você estará desenvolvendo playbooks Ansel para diferentes casos de uso, que lhe dará uma boa idéia sobre como começar a desenvolver usando, responder, e obter um monte de coisas feitas em um curto período de tempo e tornar seu trabalho mais produtivo e colaborativo. Então, o que vamos cobrir neste curso? Vamos começar a entender o que é responder e o que ele pode fazer. Isto é para aqueles que não têm idéia do que é responder e o que ele pode fazer por nós. Então, vamos passar algum tempo compreendendo que vamos passar por como configurar o responsável em seu ambiente. Isto é apenas se você deseja configurar o responsável. Agora você pode pular isso e ter direto para o desenvolvimento de playbooks. E mais tarde, quando estiver confiante o suficiente, volte e veja isso de novo. Então vamos começar com uma introdução ao Yam Oh, porque sim, porque sim, Mo é a linguagem de codificação para responder todos os livros de jogo respondíveis são escritos em Yamma. Se já trabalhou com a munição, fique à vontade para pular o modelo. Se não, suje as mãos. Com alguns exercícios no Iêmen, iremos então para responder, inventar REFILES, playbooks e vários conceitos como variáveis, condições, condições, ALS, loops e rolos. Além disso, há muitas mãos em exercícios de codificação, então pratique na prática. Então, por que responder nesta seção? Vamos discutir sobre qual resposta será mais fácil e o que ela pode fazer por você. Se você já sabe o que a resposta acredita e você está aqui para alguns exercícios de codificação, sinta-se à vontade para pular esta palestra porque nesta seção, vamos discutir a resposta em um nível muito básico para entender o que é e o que pode fazer por você. Então, vamos começar agora. Se você fosse um engenheiro de sistemas ou administrador de I T ou apenas qualquer um trabalhando na I T. Você provavelmente estava envolvido em fazer um monte de tarefas repetitivas em seu ambiente, seja dimensionando e criando novas mangueiras ou máquinas de lavar todos os dias, aplicando configurações neles, aplicando patches a centenas de servidores, migrações, implantando aplicativos ou até mesmo realizando auditorias de segurança e conformidade. Toda a tarefa muito repetitiva do envolve a execução de centenas de comandos em centenas de servidores diferentes, mantendo a seqüência correta de eventos com reinicializações do sistema entre e o que as pessoas não inteligentes desenvolveram scripts para automatizar essas tarefas, mas isso requer habilidades de codificação e manutenção regular fora dos scripts e muito tempo para colocar esses scripts juntos em primeiro lugar. É aí que o Responsável entra em jogo. A resposta é um poderoso dedo de automação I T que você pode aprender rapidamente. É simples o suficiente para todos em I ainda poderoso o suficiente para automatizar até mesmo as implantações mais complexas. Vamos dar uma olhada em um caso de uso simples. Imagine que você tenha um número de hosts em seu ambiente que você gostaria de reiniciar em uma ordem específica. Alguns deles são servidores Web, e outros são servidores de banco de dados. Então, você gostaria de desligar os servidores Web primeiro, seguido pelos servidores de banco de dados do que ligar os servidores de banco de dados e, em seguida, os servidores Web . Você poderia escrever playbook irrespondível para fazer isso em questão de minutos e simplesmente invocar o playbook responsável toda vez que você deseja reiniciar seu aplicativo. Vamos dar uma olhada em um exemplo complexo. Nesse caso, estamos configurando uma infraestrutura complexa que se estende por nuvem pública e privada e centenas de EMS gratuitos com dança. Você poderia Proibição V EMS em nuvens públicas como Amazon e liberdade condicional. privada na nuvem privada configurar como sendo foram infraestrutura baseada e passar para a configuração de aplicativos nesses sistemas e configurar comunicações entre eles. Há um monte de módulos embutidos disponíveis em resposta que suporta este tipo de operações. Para começar, o melhor lugar para começar a aprender responsável é o site de documentação Answer Bill. As páginas de documentação respondentes são abrangentes e contém todas as informações necessárias para começar a dançar, e há centenas de exemplos de playbooks nessas páginas. Familiarize-se com o site da Documentação Responsável no escuro. Comece com ponto responsável. Ele contém informações sobre a configuração e instalação, vários conceitos responsáveis, melhores práticas, informações sobre diferentes módulos e guias sobre tópicos avançados, como o desenvolvimento de módulos personalizados , estratégias personalizadas, etc 2. Inventário: Responsável pode trabalhar com um ou vários sistemas em sua infraestrutura ao mesmo tempo, a fim de trabalhar com vários servidores, as necessidades responsáveis para estabelecer conectividade com esses servidores. Isso é feito usando Ssh para Lennox e Power Shalrie Moting para Windows. Isso é o que faz listas de agentes responsáveis. Agente menos significa que você não precisa instalar nenhum software adicional na máquina de destino para poder trabalhar com um símbolo responsável. Conectividade Ssh apareceria responsável. Do Snead. Uma das principais desvantagens da maioria das outras ferramentas de orquestração é que você é obrigado a configurar um agente nos sistemas de destino antes de poder invocar qualquer tipo de automação. Agora, as informações sobre esses sistemas de destino são armazenadas em um arquivo chamado In Wintry File. Se você não criar um novo arquivo invernal respondível usa três padrão Invent Refile, localizado em E. T. C. host Responsável. Vamos dar uma olhada em uma amostra em fogo mental. O arquivo de inventário é um formato de ferro que eu gosto. É simplesmente um número de servidores listados um após o outro. Você também pode agrupar diferentes silver juntos definindo grupos, digite o nome do grupo entre colchetes e definiu a lista de servidores parte desse grupo nas linhas abaixo, você pode ter vários grupos definidos em um único em arquivo da árvore dos homens. Isso é especialmente útil quando você está executando operações diferentes em diferentes grupos de servidores. Digamos que você tenha um set off observadores onde você deseja instalar uma cidade serviços PD e servidor Web Conficker, e você tem um conjunto separado de servidores, que são servidores de banco de dados onde você gosta de instalar e configurar banco de dados. Nesses casos, você pode direcionar diferentes grupos fora de servidores de uma só vez, usando os grupos definidos no arquivo de inventário. Vamos dar uma olhada mais profunda nos arquivos de inventário. Por exemplo, tenho uma lista de servidores nomeados de 1 a 4. No entanto, eu gostaria de me referir a esses servidores em resposta usando um alias, porque atualmente ele está definido com seu EFC UDN. Mas quero dizer não saber o propósito da prata olhando para o “F Guardian”. Nesses casos, podemos usar um alias para descrever se o servidor é um servidor Web ou um servidor de banco de dados. Eu poderia fazer isso adicionando um alias para servidor eat no início da linha e atribuindo o endereço fora do servidor para responder vai sublinhar Host Perimeter Responsável Sublinhado Host é um perímetro de inventário usado para especificar o F Cody em ou I p endereço fora do servidor. Existem outros parâmetros de inventário para alguns dos outros estoques chave. perímetros são responsáveis, conexão , porta responsável e usuário simples e responsável. Ssh! Passar conexão respondível é o que define como responder se conecta ao destino. Silver, como discutimos no slide anterior, esta é uma conexão ssh para Aalen X over ou um vencedor em conexão com um windows over? É assim que definimos se o host alvo que desejamos conectar a avelãs ou a um host Windows . Você também poderia dizer isso para o host local para indicar que gostaríamos de trabalhar com o host local e não se conectar a nenhum host remoto. Se você não tem vários servidores para brincar, você pode simplesmente começar com um host local na urina. Mentalmente arquivo. Porta Responsável define a qual porta se conectar por padrão. Diz-se que porta 22 para idade SS, mas se você precisa mudar, você pode configurá-lo de forma diferente. Usando o perímetro de porta responsável usuário responsável define o usuário usado para fazer conexões remotas por padrão. Isto é dito para erradicar para as próximas máquinas iniciais. Se você precisar alterar isso, defina-o como mostrado aqui. Responsável. Ssh! Desafio passado A senha SSH para Lennox. Agora você deve estar pensando, se armazenar senhas em formato de texto simples é ideal, bem, definitivamente não é muito idéia, e responder tem uma solução para isso. Procure respostas. Vault na documentação responsável para ver como você pode armazenar com segurança suas senhas será basicamente responsável. Vault usa criptografia onde você estará criptografando seus arquivos de inventário ou quaisquer outros arquivos armazenam suas senhas ou quaisquer dados seguros usando uma corrida passe para que você possa basicamente criptografar seus arquivos usando mundo responável. E sempre que você executa seu livro de jogadas, você insere a frase-passe e responde descriptografa Stofile e lê a senha desses arquivos. Então essa é definitivamente uma opção segura. E procure mais sobre isso no site de documentação responsável. Então vá em frente para exercícios de codificação e tente criar alguns em arquivos mentalmente. Vamos manter o que aprendemos até agora e criar REFILES inventar em seu formato básico. Existem diferentes maneiras de negociar em arquivos de inverno e diferentes maneiras de definir variáveis como o que acabamos de ver definindo variáveis se no arquivo de inventário final. Mas essa não é a melhor prática. Existem outras maneiras de definir variáveis, que analisaremos com mais detalhes em uma das próximas palestras. Então, por enquanto, vamos nos ater ao básico. Vamos dar passos de bebê. Então vá em frente e crie algumas amostras, arquivos invernais e exercícios de codificação. 3. Playbooks: tábuas responsáveis. A nossa resposta. Orquestração de Bols, linguagem. É nos livros de jogo que definimos o que queremos responder a fazer. É um conjunto de instruções que você fornece responsáveis para fazer a sua magia. Assim, por exemplo, pode ser tão simples quanto executar uma série de comandos em diferentes servidores em uma sequência e reiniciar esses servidores em uma ordem específica. Ou pode ser tão complexo quanto implantar centenas de VM nas histórias de provisionamento de infraestrutura de nuvem pública e privada para ser o EMS, configurando suas configurações de rede e cluster. Configurando aplicativos neles, como um servidor Web ou banco de dados. Silver definindo balanceamento de carga, configurando componentes de monitoramento, instalando e configurando clientes de backup e atualizando banco de dados de configuração com informações sobre os novos viens. Vamos dar uma olhada mais profunda em como livros de jogo são escritos. Lembre-se, todos os livros de jogo são escritos em formato Yamil, é por isso que passamos algum tempo antes. Sujar nossas mãos com yamma um manual é um único arquivo Yamil contendo um set off place. Ele jogo define um set off atividades ou tarefa a ser executado em um único ou um grupo de host na tarefa. É uma única ação a ser executada em um host. Alguns exemplos são a execução de um comando ou script na mangueira, a instalação de um pacote no host ou a execução de um desligamento ou de uma operação de reinicialização no host. Vamos dar uma olhada em um livro de jogadas real. Aqui é mostrado um manual de símbolos que contém uma única peça chamada Reproduzir um. O objetivo desta peça costumava executar um conjunto de atividades, uma após a outra no host local. Lembre-se de que o host que você deseja executar essas ações está definido no nível do jogador. Neste caso, nós só queremos testar no host local, é por isso que ele é definido como host local. Pode ser qualquer coisa do seu arquivo de inventário. Então, basicamente, em jogo é o que define a ação que você deseja fazer em que host todas as tarefas listadas sob este jogo em particular serão executadas contra esses host. E essa mangueira pode ser qualquer número de hospedeiros, ou, neste caso, é apenas um hospedeiro local. Em seguida, executamos um conjunto de comandos, um após o outro no host. Primeiro imprimimos a data, depois executamos um script na prata, seguido pela instalação do ace para o pacote TPD, usando o modelo jovem e finalmente iniciando o servidor Web usando o modelo de serviço. Agora, se você não entende o que cada uma dessas tarefas faz exatamente e como ela é definida, não se preocupe. Vamos dar uma olhada melhor em cada um desses em alguns minutos. Mas por enquanto, eu só queria te dar uma idéia de como um livro de respostas em particular parece. Vamos olhar para este formato de playbook de exemplo e tentar relacioná-lo com o que aprendemos na seção Amel anteriormente ter feito uma pequena mudança e dividir a lista de tarefas em dois lugares separados . O arquivo Amel, que é o nosso livro de jogadas, contém uma lista para colocar. Isso é observado pelo traço, então o traço indica que ele é um item na lista, então o playbook é uma lista fora dos dicionários. Nos termos de Yanal, cada jogador é um dicionário e tem um conjunto de propriedades chamadas host nome e tarefas. Lembre-se, estas são propriedades fora de um dicionário, e assim a ordem realmente não importa. Então, mesmo que você troque a posição fora do nome e do host, ainda é uma jogada válida. No entanto, isso não é o mesmo para a tarefa. A tarefa, como você pode ver, é uma lista conforme indicado pelos traços. Listas são ordenadas coleta, modo que a posição fora entradas importa Se você parar a posição de entradas aqui, estamos instruindo o responsável para iniciar o serviço Web primeiro antes de instalar o serviço hit City PD, que não é uma solução desejada. Então o formato yamma é a chave. Ao desenvolver playbooks, você deve prestar atenção extra ao recuo e estrutura deste arquivo. O perímetro do host indica em quais hosts você deseja executar essas operações. Lembre-se, o host com o qual você deseja executar essas operações é sempre definido em um nível de jogador. Atualmente, isso é para o host local, que significa que todas essas ações listadas na tarefa serão executadas no host local. Você pode ter qualquer host ou grupos especificados aqui, mas deve garantir que o host ou grupo seja definido pela primeira vez no arquivo de inventário recriado anteriormente. O host, definido no arquivo de inventário, deve corresponder ao host usado no playbook, e todas as informações de conexão para o host são recuperadas do arquivo de inventário. Agora não há nenhuma regra difícil para usar todo o host definido no arquivo de inventário. Você pode escolher um ou vários ou um grupo ou vários grupos a partir do arquivo de inventário na placa, mas você realmente não precisa usar todos eles. Seja qual for o host que você tem que encontrar na peça, o livro de jogo deve ser definido no arquivo de inventário. Caso contrário, não vai funcionar. Vejamos o que é um módulo. As diferentes ações executadas por tarefa são chamadas de modelos. Nesse caso, script de comando. Yum e serviço são todos módulos responsáveis. Existem centenas de outros módulos disponíveis fora da caixa. Informações sobre esses módulos estão disponíveis no site de documentação responsável, ou você pode simplesmente executar o comando Responsável hashtag dash L em seu sistema respondível Para se familiarizar com a estrutura básica do playbook nos próximos exercícios, você simplesmente precisa saber o módulo de comando. Mais tarde, na próxima seção, passaremos por alguns outros módulos básicos com mais detalhes. Se você olhar para o módulo de comando, você verá que você pode simplesmente especificar o comando que deseja executar. Neste caso, data e resposta executarão esse comando nessa prata em particular. Finalmente, uma vez que você construir com sucesso. A resposta vai jogar livro. Como você executá-lo? É muito simples. Execute o comando de playbook responsável e especifique o nome do playbook que você acabou de criar. E é isso. Se você fizer playbook responsável, dash help, você vai ficar a saber mais sobre alguns perímetros adicionais disponíveis para este comando. Vamos passar por alguns deles em uma seção posterior, então vá em frente e suje as mãos. Desenvolvendo alguns exercícios de codificação de playbooks responsáveis. Vamos apenas familiarizar-te com os playbooks básicos e a estrutura dos playbooks. Toda a ideia é familiarizá-lo com como ele joga definido e o que é e como jogado são definidos e para entender a diferença entre eles, vamos nos concentrar em casos de uso mais realistas nas próximas palestras. Mas, por enquanto, vamos ficar com o básico real. Então confira a próxima seção de Exercícios de Codificação e boa sorte 4. Módulos: nesta seção, vamos olhar para alguns módulos de resposta adicionais com um pouco mais de detalhes. Isso é necessário para que possamos praticar o desenvolvimento de alguns playbooks mais significativos. Os módulos Responsáveis são categorizados em vários grupos com base em sua funcionalidade. Como eu disse anteriormente, existem centenas de modelos respondíveis disponíveis para que eles são categorizados em alguns desses módulos do sistema são ações a serem executadas em um nível do sistema, como modificar os usuários e grupos no sistema, modificando tabelas I P e configurações de fireball, trabalhando com grupos de volumes lógicos, montando operações ou trabalhando com serviços, por exemplo, iniciando parando ou reiniciando serviços em um sistema. Os módulos de comando são usados para executar comandos ou scripts em um host. Estes podem ser comandos simples usando o módulo de comando ou uma execução interativa usando espera respondendo a problemas. Você também pode executar um script no host usando o script. Os módulos de arquivo Montiel ajudam a trabalhar com arquivos. Por exemplo, usando o A C L Modu para definir e recuperar uma informação C l sobre arquivos usados os módulos de arquivo e arquivo da ONU para compactar e descompactar arquivos usar, encontrar arquivo de revestimento e substituir módulos para modificar o conteúdo de um arquivo existente modelos de base de dados ajuda a trabalhar com bancos de dados como Mongo, DB, Emma, SQL, meu SQL ou Post Chris SQL Para adicionar ou remover bancos de dados ou modificar configurações de banco de dados, etc. A seção Nuvem tem uma vasta coleção de módulos para vários provedores de nuvem diferentes como a Amazon. Claro, Docker, Gugu, Open, Stack e VM estavam sendo apenas alguns deles. Há vários modelos disponíveis para cada um deles que permitem executar várias tarefas, como criar e destruir instâncias, realizar alterações de configuração na rede, realizar alterações de configuração na rede, insegurança e gerenciamento de contêineres, centros de dados, clusters, adoração , rede, re areia e muito mais. Além disso, há módulos do Windows que ajudam a usar a resposta em um ambiente Windows. Alguns deles são win copy para copiar arquivos. Win Command para executar um comandante no Windows Machine, e há um monte de outros modelos disponíveis para trabalhar com arquivos no site Windows Criando II. Instale um software usando Emma Science Dollar fazendo alterações no registro usando TI rígida e gerencie serviços e usuários no Windows. Estes são apenas alguns módulos em poucas categorias, há muito mais, e uma lista abrangente pode ser encontrada no escuro. Comece com ponto responsável, juntamente com instruções detalhadas sobre cada um deles. Vejamos alguns desses modelos em detalhes para entender como você pode usá-los e como ler a página de documentação. Vamos começar com o módulo de comando. O módulo de comando é usado para executar um comando em um nó remoto. Os perímetros do módulo de comando, conforme listados na página de documentação, são mostrados aqui. Mostrado é um exemplo de playbook que pode ser respondido usando o módulo de comando. Como você pode ver Para usar o modu, você simplesmente cria um valor chave. Emparelhe o nome do módulo e o perímetro, que é o comando neste caso. Neste caso, estamos instruindo o responsável para executar o comando date no host, seguido de executar o gato. TTC resolvido ou complementar para listar o conteúdo do arquivo no caso de você precisar mudar o diretório. Mas antes de executar um comando, por exemplo, eu vou reescrever o segundo comando se forma diferente agora, removendo E. T. C do comando cat e definindo o perímetro principal do diretório para TTC. Isso garantirá que a resposta irá mudar Diretório para E.T.C. E.T.C. E.T.C. antes de executar o comando. É assim que um perímetro e valor são passados para o módulo de comando. O perímetro cria é usado para executar uma verificação antes do comando ser executado. Por exemplo, este comando para criar a pasta só será executado se a pasta ainda não existir. Os perímetros restantes são auto-explicativos, então vamos ignorá-los. Exceto por este aqui chamado “Forma Livre”. Isso vale a pena olhar como você pode vê-lo em diferentes módulos. Forma livre indica que este modelo usa um comando de forma livre para ser executado. Então, o que isso significa? Você não será capaz de inserir um perímetro com o nome de forma livre, como nós apenas inserimos um CHD IR ou cria nossa entrada de comando, como cat TTC resolvido em Khan para N. K. D. A. R Forward Slash folder é a entrada de forma livre. Nem todos os modelos suportam entradas como esta. Por exemplo, o modelo de cópia, que é usado para copiar arquivos de uma origem para um destino em Lee, leva entrada paramétrica e não entrada de forma livre. Então, como você pode ver aqui, cópia requer um arquivo de origem como perímetro SRC e destino como perímetro tst. Outro modelo a ser analisado é o módulo de script. O módulo de script executa um script local em uma ou mais notas remotas depois de transferi-lo para executar um script em um ou centenas de servidores, você realmente não precisa copiá-lo para todos os servidores. Primeiro, o responsável toma cuidado, copiando automaticamente o script para o nó remoto e, em seguida, executando-o nos sistemas remotos . Isso é feito através de um jogo muito simples que se parece com este usado o módulo de script e especificar a localização do script na máquina controlador respondível e os argumentos. Vejamos o módulo de serviço. O módulo de serviço é usado para gerenciar serviços em um sistema, como iniciar, interromper ou reiniciar um serviço. A amostra e playbook civil é usado para iniciar vários serviços em uma determinada ordem. Primeiro, iniciamos o serviço de banco de dados usando o módulo de serviço. O módulo de serviço, ao contrário dos modelos anteriores, não tem uma entrada de forma livre, que significa que você tem que passar incluir em um formato de par de valores de chave. Usamos o perímetro do nome para especificar o nome do serviço que desejamos iniciar neste caso , Post Chris SQL e o perímetro do Estado indica a operação. Gostaríamos de realizar neste caso iniciado. Agora, se você está se perguntando por que ele é iniciado em vez de começar, mantenha seus pensamentos. Voltaremos a isso daqui a pouco. Há duas maneiras de escrever esta declaração. Você pode escrevê-lo assim ou escrevê-lo em um dicionário ou formato de mapa como este. Eles são um e o mesmo. Lembre-se em sim, marcos Nome e estado nossas propriedades fora de um serviço. Então, se você olhar para a diferença à esquerda, você tem os parâmetros passados em nome ass igual post, Chris SQL e estado igual iniciado. Mas à direita, você tem o nome no estado definido em um formato mais sim mo. E na próxima linha como um par de valor chave separado por dois pontos e vírgula. Ambos são um e o mesmo. Vamos adicionar mais alguns testes para iniciar um serviço CDPD e na Índia próximo serviço. Então, voltando à nossa pergunta sobre por que a ação é iniciada e não começar. Se fôssemos instruir responsável para iniciar o serviço, diríamos iniciar o serviço STT PD e não iniciou o serviço de uma cidade PD. Então porque é que começou e não começar. Não estamos instruindo o responsável para iniciar o serviço. Em vez disso, estamos instruindo responsáveis para garantir que o serviço STT PD é iniciado. Isso significa essencialmente se seu serviço CDPD ainda não foi iniciado. Se um serviço de sensibilidade já tiver sido iniciado, então não faça nada. Isso é chamado de impotência pedir o responsável. Documentação e operação é que eu seria impotente se o resultado de executá-lo uma vez é exatamente o mesmo que o resultado de executá-lo repetidamente sem intervir ações assim iniciado , parado e reiniciado. Ações instruir responsáveis para garantir o estado do serviço. A maioria dos módulos em resposta são certos, impotentes e responsáveis altamente recomenda isso. A idéia geral é que você deve ser capaz de executar o mesmo livro de jogo novamente. Um responsável deve informar que tudo está em um estado esperado. Se algo não é responsável, cuida de colocá-lo no estado esperado. Vamos olhar para outro módulo chamado Linha no modelo de arquivo. A linha no módulo de fogo é usada para encontrar uma linha no arquivo e substituí-la ou adicioná-la se ela ainda não existir. Por exemplo, foi dada uma tarefa para adicionar um novo servidor Deanna ao arquivo ponto com resolvido e t c Este simples manual simplese responsável usando a tarefa de arquivo Forro adiciona os novos nomes sobre informações no E. T. C. Resolvido no arquivo. Lembre-se, o módulo de linha e arquivo é, eu não finjo. Vamos comparar este manual responsável com um script simples que tenta alcançar o mesmo resultado. Se este script for executado várias vezes, ele adiciona uma nova entrada no arquivo a cada vez, que não é desejado. Se você estiver no playbook responsável várias vezes, ele irá garantir que há apenas uma única entrada no arquivo. Vamos parar por aí com módulos. Nós estaremos tocando outros módulos adicionais no restante fora do curso enquanto discutimos outros conceitos e olhamos para mais exemplos de playbook. Como eu disse anteriormente, existem centenas de outros modelos disponíveis. Você realmente não precisa se lembrar de todos esses modelos, e eles são perímetros. Você sempre pode ter a página de documentação responsável como referência, ou usar a linha de comando para listar e navegar pelos módulos disponíveis. Nos próximos exercícios de codificação, forneceremos documentação sobre cada modelo, então você deve ser bom lá também. 5. Variáveis: nesta seção, vamos olhar para variáveis. Então, quais são as variáveis, assim como em qualquer outra linguagem de programação ou script? Variáveis são usadas para armazenar valores que variam com itens diferentes. Por exemplo, digamos que estamos tentando executar a mesma operação aplicando patches a centenas de servidores. Só precisamos de um único manual para todos os 100 servidores. No entanto, as variáveis que armazenam informações sobre os diferentes nomes de host, nomes de usuário ou senhas que são usadas para se conectar a cada um desses servidores. Nós já trabalhamos com variáveis anteriormente quando trabalhamos na seção In Men Tree. Se você se lembrar de um arquivo de inventário que se parece com isso, o host respondível conexão responsavel ssh passe! São todos exemplos de variáveis. Podemos definir tantas variáveis quanto necessário como este. Poderíamos também definir variáveis dentro do playbook. Este é um playbook que criamos anteriormente para adicionar uma entrada DNS no ET ver resolvido out con file . Para adicionar uma variável, poderíamos simplesmente adicionar uma palavra-chave de vírus, seguida de variáveis em um par de valores-chave para hortelã, neste caso, Deanna Silver, seguido pelo I P do D. N. Um servidor. Podemos sempre ter variáveis definidas em um arquivo separado dedicado para variáveis. Aprenderemos mais sobre isso mais tarde quando falamos sobre inclusões e rolos. Então temos agora variáveis definidas. Mas como vamos usá-los se você olhar para o nosso exemplo anterior em que definimos um servidor DNS variável no playbook, mas nós realmente não o usamos em qualquer lugar. Qual seria o lugar certo para usar que nesta linha aqui, onde definimos o servidor de nomes, poderíamos substituir o valor codificado com o valor da variável. Para usar uma variável, basta digitar o nome da variável entre chaves duplas ou colchetes. Quando executamos, o playbook respondível irá substituí-lo com o valor na variável. Vamos dar outro exemplo. Este é um playbook mais longo que é usado para definir várias configurações de fireball, que tem um número off valores codificados nele. Se alguém quisesse reutilizar este manual, teria de modificar o manual para alterar estes valores. Se esses valores que podem ser muito movidos para o arquivo de entrada INM e referidos no manual usando chaves duplas, poderíamos nos livrar de modificar os arquivos de inventário sozinhos no futuro. Uma maneira ainda melhor de fazer isso seria mover as variáveis para um arquivo no nome do host. Neste caso, chorou. Ah, OGM. Este é agora um arquivo de variável host, e todos os valores definidos neste arquivo estão disponíveis para uso pelo playbook. Desta forma, é ainda melhor organizado. Lembre-se que este formato que estamos usando para usar variáveis é chamado Tinge, um dois template ing procurá-lo quando você tem uma chance. Finalmente, ao usar variáveis com gengibre para modelar, lembre-se de colocá-lo dentro de casacos se você estiver começando sua atribuição com a variável, entanto, no entanto, se a variável estiver entre a frase, então isso não é necessário. Vamos brincar com exercícios de codificação de variáveis. 6. Condicionais: Olá e bem-vindos a esta palestra. Nesta palestra, vamos olhar para a condição ALS. Aqui temos um arquivo de inventário de amostra e um manual de exemplo. O arquivo de inventário contém dois observadores nomeados como Web One e Web dois e um servidor de banco de dados chamado Ask DB Saiba que também temos um grupo definido com o nome fora de todos os servidores, e temos os servidores Web e DB dentro dele. Temos um manual que tenta iniciar todos os serviços no banco de dados e no servidor Web, e se você notar que estamos executando este jogo contra o grupo All Silver agora, o que aconteceria é responder tentará executar o único playbook. Todos os servidores listados no grupo também VERS, que significaria responder, tentarão iniciar primeiro os serviços de banco de dados e, em seguida, o serviço de festa. No entanto, não temos serviço de banco de dados nos servidores Web e não temos um serviço City PD no servidor de banco de dados. O que queremos fazer é adicionar uma condição a cada tarefa, dizendo que quando queremos que a tarefa seja executada, por exemplo, gostaríamos de executar a minha tarefa SQL somente se o host for servidor de banco de dados. Da mesma forma, gostaríamos de iniciar o serviço TPD histórico em Lee se o host é Web um ou chorou, também. Sim, podemos ter uma declaração ou como esta, ou você também pode ter e declarações de uma maneira semelhante. Lembre-se de usar o operador duplo igual para comparação. Além disso, lembre-se, este é realmente um mau exemplo. Se você realmente quisesse fazer algo assim, a maneira certa de fazer seria agrupar os servidores em grupos separados, chamados servidores TB e servidores Web, e executar um local separado para cada grupo de servidores. Dessa forma, é muito mais limpo e mais responsável como Vamos olhar para outro exemplo neste playbook , eu gostaria de verificar o status fora de um serviço e, com base no resultado, executar a próxima tarefa. Neste caso, se o serviço estiver desativado, gostaria de enviar um e-mail para o sistema. Adicionar significa relatar esse problema. Então, observe o modelo masculino. Esse é um novo modelo que não aprendemos antes, e é usado para enviar e-mails. Verifique a página de documentação, pois ela pode exigir entradas adicionais. Então, temos duas tarefas. O 1º 1 para executar um comando para verificar o status de um serviço, o 2º 1 para enviar um e-mail. Se fôssemos executá-lo agora, ele simplesmente verificaria o status e enviaria um e-mail, independentemente de o serviço estar ativo ou inativo. Então precisamos adicionar uma condição. Como acabamos de aprender, vamos adicionar uma condição de aluguel para verificar o status do serviço. Mas contra o que verificamos? Como obtemos o resultado da execução do comando na primeira tarefa? É aí que entra a diretiva de registro. Play Register pode ser usado para registrar ou armazenar a saída de um modelo neste caso, a saída do comando executar. Nesse caso, a saída do comando run será armazenada na saída de sublinhado do comando variável. Em seguida, usamos essa variável para verificar se o resultado contém a palavra para baixo. Se for verdade, enviaremos um e-mail. Lembre-se, a saída do comando é armazenada em uma chave STD fora dentro do comando variável, sublinhado saída, cabeça para o exercício de seção e praticar um pouco fora usando condicional 7. Loops: Olá e bem-vindos a esta palestra nesta palestra, vamos passar por loops. Vamos dar uma olhada neste exemplo em que estamos criando um manual responsável para instalar pacotes em um sistema usando o modelo jovem. O módulo jovem ajuda você a instalar ou remover pacotes usando o gerenciador de pacotes jovem. Neste caso, temos apenas um pacote. Mas e se tivermos múltiplos? E se tivermos muitos pacotes para instalar? Bem, uma maneira de fazer isso seria duplicar essas linhas quantas vezes for necessário, mas isso não é muito elegante. Uma maneira melhor de fazer isso seria ter um único loop de tarefas sobre todos os modelos. Isso é onde usamos com itens com itens é um diretor de loop do qual executa a mesma tarefa várias vezes cada vez que ele é executado. Ele armazena o valor fora do item na variável item, então você pode simplesmente substituir o valor TPD apressado pela variável item dentro das chaves duplas como esta, confira a página de documentação responsável para loops. Há uma série de opções adicionais disponíveis para loops e exemplos realmente bons disponíveis lá. Confira quando tiver tempo, vá para a seção de exercícios e pratique um pouco usando loops 8. Papéis: nesta seção, vamos olhar para papéis responsáveis. Se você já trabalhou com outras linguagens de programação ou scripts, você provavelmente sabe que poderia escrever um script ou programa grande em um único arquivo. Ou o que é mais preferido é modelá-lo em pacotes, módulos, classes e funções. Dessa forma, nosso código se torna mais organizado, reutilizável e fácil de ler, construir e compartilhar com outras pessoas. Isso é implementado em resposta com ajuda fora de funções. Agora, obviamente não temos nenhum código, ou pelo menos o que vimos até agora. Não há programas, classes ou funções. O que temos nossos arquivos de inventário, variáveis e playbooks. Agora, como você já teria imaginado, quando temos muitas coisas para automatizar nossos playbooks, variáveis de arquivos de inventário vão ficar maiores e mais difíceis de gerenciar. Então, ao contrário do que temos feito até agora, escrever um único livro grande pode não ser o ideal. Nesse caso, é aí que inclui declarações e rolos entram em jogo. Vamos dar uma olhada em incluir declarações primeiro com um exemplo realmente simples. Aqui temos um grande manual fazendo várias coisas ao mesmo tempo, incluindo provisionamento v. instalação EMS exigem dependências, configuração de servidor Web e configuração e inicialização de aplicativos. No entanto, este manual tem aproximadamente 1005 100 linhas de comprimento e é realmente difícil de manter. Este playbook só pode ser usado por alguém que tenha o caso de uso exato, que será satisfeito por este playbook, a fim de modelar. Levante-se. Simplesmente cortamos esse manual grande em arquivos menores que abordam diferentes casos de uso e , finalmente, temos um playbook mestre que inclui esses playbooks menores. A sintaxe para isso é a palavra-chave include, seguida pelo nome do playbook. Agora o nosso livro de jogadas mestre tem apenas cinco linhas de comprimento. Temos quatro playbooks separados que são menores, mais fáceis de manter e que podem ser reutilizados para diferentes casos de uso. Que tal incluir tarefas e variáveis? Aqui temos uma resposta. Será playbook com uma lista de variáveis e tarefas que usam essas variáveis, podemos mover todas as tarefas para um arquivo separado e usar a instrução include para incluir tarefa a partir desse arquivo. Da mesma forma, podemos mover todas as variáveis para um arquivo separado e incluir todas as variáveis desse arquivo usando a instrução arquivo VARS, note que aqui não usamos a instrução ankle. Ele é chamado vars Underscore Files VARS e os arquivos da escola é o que usamos para incluir variáveis definidas em outro arquivo. Agora, se você está criando REFILES inventar e definindo variáveis em escrever playbooks como pensávamos que era adequado para nossas necessidades, mas existe uma maneira padrão para isso? O que o responsável recomenda regras de responsabilidade? Defina uma estrutura para o seu projeto e padrões definidos sobre como os arquivos e pastas são organizados dentro do seu projeto. Neste exemplo, meu projeto respondível, eu atualmente tenho um arquivo de inventário e um único manual grande para configurar meu servidor Web e para terminar agora com funções estavam indo para reorganizar o playbook e as variáveis. Criamos uma nova pasta chamada Role, Dentro da qual criamos outra pasta com o nome da função neste caso, servidores Web. Os rolos Web Silver contém pastas adicionais denominadas modelos arquivados, manipuladores de tarefas, padrões VARS e Metta. Cada uma dessas pastas contém arquivos associá-lo a esses propósitos. Por exemplo, a pasta de tarefas contém Yeah mo arquivo contendo lista de tarefas e a pasta Vírus contém arquivos VAR definidos com declarações de variáveis. Agora podemos mover partes do nosso manual para pastas diferentes. Nós movemos variáveis para um arquivo na pasta Vírus e removemos tarefas em um arquivo na pasta de tarefas . Agora, em nosso manual mestre, poderíamos simplesmente dizer, atribuído os seguintes rolos para o servidor, e a função é servidores Web, que é a função que criamos sob a Pasta de Funções. Uma das vantagens de usar funções é que não temos que nos preocupar com a importação de tarefas e variáveis como fizemos no slide anterior. Responsável importa automaticamente todas as tarefas da pasta de tarefas e todas as variáveis da pasta vasta. As outras pastas são para armazenar arquivos de suporte ou modelos ou manipuladores fora dos padrões que não cobrimos neste curso. Eles estão fora de alcance para este curso fundamental, e isso será incluído em um curso avançado. 9. Tópicos avançados e conclusão: Olá e bem-vindo a esta palestra sobre tópicos avançados. Nesta seção, vamos passar por alguns conceitos avançados. Não há exercícios para estes, pois são mais conceitos do que código. Além disso, estes estão fora do escopo para o curso deste iniciante e espero que eu consiga fazer um curso avançado com exercícios de citação para alguns desses tópicos. Mas é importante que você tenha uma idéia de alto nível sobre os recursos adicionais e suporte em resposta para que, se desejar, você possa consultar a página de documentação responsável e obtê-los feito você mesmo. Vamos passar por esses tópicos, que inclui a preparação de um servidor Windows para trabalhar com dança. O que é a galáxia responsável, o que nossos padrões, inventário dinâmico e, finalmente, como desenvolver um modelo personalizado. Como discutimos na primeira palestra, máquina de controle Responsável só pode ser lençóis e não janelas. No entanto, as máquinas Windows podem ser alvos desativados, responsáveis e fazem parte da automação, como a resposta se conecta a uma máquina Lennox . Usando ssh respondeable se conecta a uma máquina Windows usando vento ou em mas sabemos que pode não ser habilitado por padrão em uma máquina Windows. Portanto, há alguma configuração necessária para configurar vencedores no Windows Machine. Lembre-se de que você não precisa instalar nada no Windows, então isso ainda é menos colaboração do agente. Alguns dos requisitos para a configuração responsável para trabalhar com o Windows é ter a vitória torta são um módulo instalado na máquina de controle respondível. Isso pode ser feito com o comando pip. Instalar, empilhar ou, hum, e como especificando o pior, que é zero escuro duas portas para uma vez que este pacote é instalado na máquina de controle responsável , vamos precisar configurar. Sabemos no Windows Server agora. Há maneiras diferentes de fazer isso. Uma maneira fácil de fazer isso é usar o script fornecido pelo respondeable chamado Conficker, promovendo o script responsável. Este é um script power shell e você pode baixar o script e executar isso no Windows Server, que irá configurar vencedor no servidor Windows, permitindo que o responsável se conecte remotamente. Existem diferentes moldes fora da autenticação que você pode configurar como base básica ou baseada em certificado ou freio subiu até, hum, etc. Você pode encontrar mais informações sobre isso no site de documentação responsável. Se você for para a seção Suporte do Windows, você receberá instruções detalhadas sobre como configurar isso. Então, se você olhar aqui, outros modos diferentes fora da autenticação e se você rolar todo o caminho para baixo, há uma seção chamada Windows System Prep, e aqui você tem um link para o script Power Shell a ser executado nas janelas. Portanto, não carregue o script e execute usando as instruções fornecidas aqui, e você deve estar pronto. Answerable Galaxy é um site gratuito para baixar, compartilhar e classificar todos os tipos fora das funções responsáveis desenvolvidas pela comunidade. Essa é uma ótima maneira de começar seus projetos de automação. O site é galaxy dot responable dot com, e como você pode ver, se você rolar por este site, você deve ser capaz de ver um monte de papéis disponíveis aqui. Então lembre-se que falamos sobre funções anteriormente, por isso, se você clicar em rolos de navegação, você será capaz de ver as diferentes regras que as pessoas criaram e compartilharam em resposta. E é aqui que você pode compartilhar suas funções e fazer o download. Outros usuários podem baixar seus papéis, então, uma vez que você é uma vez que você criar projeto respondível, você pode simplesmente baixar quaisquer rolos existentes de galáxia respondable usando linha de comando galaxy . E como vimos na seção anterior, é tão fácil quanto atribuir as regras baixadas ao seu host em seu playbook. Então veja isso quando tiver tempo. É um site muito interessante para navegar. E uma vez que você começar a desenvolver suas próprias funções de responsabilidade, compartilhe o que com outras pessoas e obtenha feedback de outros padrões. Vimos como definir quais hosts estavam em tarefas contra. Se você se lembrar, isso é feito especificando o nome do host no arquivo host. Isso pode ser um único host ou um grupo de host, mas há opções adicionais. Você poderia usar um padrão aqui. Vamos ver as diferentes opções disponíveis. Você pode especificar vários hosts por vez inserindo o nome do host separado por uma vírgula. Como você pode ver aqui no host direito um host vírgula para acalmar estofos. Essa é uma opção, ou você pode ter seleções de grupos e hosts. Então, por exemplo, eu gostaria de executar um conjunto de comandos contra todos os servidores parte do Grupo Um e também no Host um , que não é parte de um ou você poderia usar padrões como um curinga. Neste caso, estrela anfitrião Irão o playbook contra todos os anfitriões que começam com o nome host? Ou como no último exemplo? Como você pode ver, você pode executar playbook em todo o host que terminam com um ponto empresa dot com sufixo Dennis. Existem opções adicionais disponíveis para padrões. Se você olhar para a página de documentação responsável, você será capaz de ver algumas informações aqui. Existem alguns bons exemplos que você pode navegar através, e isso deve ser fácil de descobrir dinâmico No Venturi, vimos informações de inventor definidas em arquivos de inventário como este, mas não é necessário definir sempre seu informações de inventário nesses arquivos porque este é um arquivo estático e você terá que alterar esse Mannelly. Se você fosse integrar a resposta com qualquer outra fonte desligada no inverno em seu ambiente , então você precisará tornar este inventário dinâmico. Responsável suporta ter arquivos de inventário dinâmico normalmente irrespondíveis. Você especifica os arquivos de inclusão usando o perímetro do traço I para inventário dinâmico. Em vez de especificar um arquivo, você especifica um script neste caso, um Python Scripts Como você pode ver aqui, há dois exemplos de comando, e o 1º 1 é playbook responsável que eu invento árvore dot txt e, em seguida, o nome do livro de jogadas . Neste caso, estamos especificando um arquivo de inventário estático chamado em homens árvore dot txt. No segundo exemplo, estamos especificando o ponto de inventário p Y, que é um script Python. O script Python é responsável por chegar a qualquer fonte que você tem entrada estrangeira e dar de volta respondendo uma lista fora de grupos host e suas informações. Existem vários scripts já disponíveis para inventário dinâmico para soluções como AWS cobbler, Open stack, etc. Então, confira. No site de documentação responsável, aprendemos sobre alguns modelos através do curso como o serviço de arquivos de linha de script de comando, etc. Estes programas de ar basicamente python que executam ações específicas. Se você não encontrar um modelo que satisfaça suas necessidades, você pode desenvolver seu próprio módulo. Você simplesmente precisa escrever um programa python e colocá-lo no diretório models no seu servidor. O programa, no entanto, tem que ser escrito em um formato particular. Você pode obter um modelo para começar na página de documentação dançável se você acessar o site de documentação responsável e acessar os playbooks. Tópicos especiais e ir para a seção Informações do Desenvolvedor e clique no Guia do Desenvolvedor responsável . Você tem uma seção para desenvolver módulos. Se você entrar nesta seção, você terá diferentes tópicos chamados construção de um módulo simples documentando seu modelo, etc. Clique na construção de um modelo simples e você tem alguns exemplos de programas python para escrever para começar a desenvolver módulos personalizados. Passe por isso e siga as instruções para desenvolver seus próprios módulos personalizados. Então, para concluir, discutimos sobre vários tópicos em torno de responder. O que é responsável e o que pode fazer por nós, como configurá-lo. Instale. Nós também passamos por uma introdução ao Yam Oh, nós fizemos algumas mãos em prática sobre a munição. Praticamos alguns arquivos de inventário e playbooks e trabalhamos com variáveis. Condicional é loops, etcetera, e nós também olhamos para quais papéis são, como podemos usá-los e quais galáxias dançáveis e como procurar por papéis galáxia irrespondível e usar isso em nosso projeto. Agora você deve estar em posição de começar a desenvolver seus próprios e simples playbooks e começar a testá-los. Lembre-se de consultar o lado da documentação responsável em todos os momentos para novos módulos e instruções sobre como usá-los. Este é um curso básico, e espero que eu consiga desenvolver um curso avançado cobrindo alguns tópicos avançados no futuro. Então, muito obrigado pelo seu tempo e espero que você tenha tido uma boa experiência de aprendizagem. Deixe-me saber o seu feedback Ou se você notar qualquer problema com qualquer um dos exercícios, por favor escreva para mim e eu vou tentar corrigi-los o mais rápido possível. Mais uma vez. Muito obrigado pelo seu tempo e por tomar o curso e feliz automatização.