"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dicas de atualização de risco dinâmico Python e Excel

Dicas de atualização de risco dinâmico Python e Excel

Postado em 2025-04-18
Navegar:443

Dynamic Risk-Based Updates Using Python and Excel

Atualizações dinâmicas baseadas em risco usando Python e Excel "

Neste blog, pegaremos um script de atualização de servidor Ansible simples e o transformaremos em um sistema de atualização baseado em risco . Aqui, os servidores com o menor risco são corrigidos primeiro, dando-nos a chance de testar completamente antes de passar para os sistemas de prioridade superior.

  • Automação Ansible:
    • atualizações dinâmicas baseadas em risco usando python e excel "
    • arquivo host
    • Lista de host dinâmica
    • Por que não usar um arquivo hosts?

o molho secreto? Configurando grupos bem definidos para tornar esse fluxo perfeitamente. Mas a verdadeira questão é: podemos fazer isso sem grandes mudanças em nosso script Ansible da última vez? Vamos descobrir!

Arquivo de host

O arquivo host está no coração dessa mudança. Na última postagem, usamos um arquivo estático agrupado por tipos de servidores. Agora, estamos adicionando uma segunda camada de agrupamento pelo nível de risco-que adiciona alguma complexidade ao arquivo host.

Mas aqui está a torção: e se nosso arquivo host pudesse ser gerado dinamicamente a partir de uma fonte mais genérica? Isso manteria as coisas flexíveis e nos salvaria da edição interminável de arquivos!

Lista dinâmica de host

Ansible pode funcionar com arquivos host criados dinamicamente, o que nos dá uma maneira mais flexível de acompanhar os servidores. Neste exemplo, usaremos um arquivo do Excel para organizar nossos hosts.

Exemplo de hosts_data.xlsx estrutura:

nome do host ambiente do servidor usuário Ansible Tipo de servidor dns notas
hortelã dev Richard Desktop desktop.sebostech.local Mint Top Top
ANSIBLE_NODE dev ANSIBLE_ADMIN ANSIBLE Ansible_node.sebostech.local servidor de desenvolvimento; Apenas atualiza mensalmente
clone_master dev ANSIBLE_ADMIN clone clone.dev.sebostech.local servidor de desenvolvimento; Apenas atualiza mensalmente
mele staging Richard nas NAS.STAGE.SEBOSTECH.LOCAL servidor de teste; Usado para testes de aplicativos
PBS produção raiz servidor de backup pbs.prod.sebostech.local servidor de teste; Usado para testes de aplicativos
pve produção raiz hypervisor api.stage.sebostech.local servidor de teste; Usado para testes de aplicativos
samba produção Richard nas nas.prod.sebostech.local servidor crítico; Requer backup diário
firewall produção Richard firewall firewall.sebostech.local servidor crítico; Requer backup diário

A maioria dos departamentos de TI já possui uma lista de servidores escondidos em um arquivo do Excel, então por que não usá -lo em bom uso? Essa abordagem facilita a manutenção de nossos hosts Ansible organizados e atualizados sem atualizações manuais constantes.

Mas como o Ansible usa o arquivo do Excel? Vamos mergulhar em como podemos transformar esses dados em um inventário dinâmico utilizável!

## This will run agains all host
ansible-playbook -i dynamic_inventory.py playbook.yml

Você também pode usar a opção Variáveis ​​de ambiente para segmentar grupos específicos, com base no ambiente do servidor, tipo de servidor ou mesmo uma combinação de ambos:

## Just production
SERVER_ENVIRONMENT="production" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

## Just nas
SERVER_TYPE="nas" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

## production nas
SERVER_ENVIRONMENT="production" 
SERVER_TYPE="nas" 
ansible-playbook -i dynamic_inventory.py playbook.yml --limit "high:web"

precisa de novos grupos? Basta atualizar o arquivo do Excel e ajustar o script python de acordo com isso!

para ver o código Python, veja aqui.

Por que não usar um arquivo hosts?

Quando comecei a usar o Ansible, o arquivo hosts era o meu preferido. Mas, à medida que adicionei mais servidores, especialmente aqueles com funções duplas, esse arquivo ficou cada vez mais complexo.

você poderia usar um arquivo de hosts tradicionais para conseguir isso? Certamente, mas existem algumas desvantagens.

Com um arquivo hosts, você provavelmente acabaria com entradas duplicadas ou variáveis ​​adicionais para capturar toda a estrutura necessária. Um arquivo do Excel, por outro lado, fornece uma estrutura limpa e fácil de manutenção que mantém as coisas organizadas.

Em um ambiente corporativo, há uma boa chance de que já exista pelo menos um arquivo do Excel com uma lista de servidores, então por que não tirar proveito disso?

Se você quiser que eu mergulhasse mais fundo no código Python, apenas me avise!

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/sebos/dynamic-drisk baseado em updates-using-python-and-excel-dcp?1 Se houver alguma infração, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3