top 35 puppet interview questions
Puppet é uma ferramenta de gerenciamento de configuração de código aberto. Neste tutorial, fornecemos as perguntas e respostas mais frequentes da entrevista com o Puppet:
No ambiente de desenvolvimento ágil atual, os desenvolvedores integram seu código várias vezes por dia e trabalham horas extras para entregar suas tarefas.
As equipes de operações trabalham junto com os desenvolvedores de aplicativos para integrar seu código usando ferramentas de controle de versão, revisão de código para manter o design e a consistência de implementação entre vários desenvolvedores, implantar vários builds para teste. Além disso, eles devem manter os sistemas e servidores em funcionamento.
Vários sistemas e servidores, quando executados continuamente, podem apresentar problemas de funcionamento. Em grandes organizações com uma enorme base de clientes, a manutenção da infraestrutura se torna uma tarefa difícil.
No caso de infraestrutura recém-instalada ou para manter as existentes em bom estado, o DevOps instala ferramentas de configuração como o Puppet, que define automaticamente a configuração padrão para novas máquinas e redefine a configuração de infraestruturas com falha mantendo-as em estado de execução.
O que você aprenderá:
O que é a ferramenta de software Puppet
Puppet é uma ferramenta de gerenciamento de configuração de código aberto que automatiza e gerencia a configuração do servidor. Seu código escrito em Domain-Specific Language (DSL) é declarativo, onde se descreve o estado desejado de nossos sistemas. Esta ferramenta automatiza a atualização do estado desses sistemas conforme descrito com a ajuda do mestre das marionetes e seu agente.
Em caso de falha do servidor, o código ajuda o servidor a retornar aos seus estados de funcionamento anteriores. Além disso, a ferramenta implanta servidores sob demanda e impõe segurança a eles.
Com esta ferramenta de gerenciamento de configuração, pode-se gerenciar Network Time Protocol (NTP), privilégios Sudo para identificar usuários com privilégios de acesso elevados, além deste servidor de nomes de Domain Name System (DNS), e firewall também pode ser gerenciado com ele.
Perguntas mais frequentes da entrevista com o Puppet
Q # 1) Explique a Puppet Enterprise.
Responda: A empresa Puppet é uma ferramenta de configuração ou dito como um código automatizado onde as informações de infraestrutura, como software e suas configurações já estão definidas para o sistema e servidor para que estes possam ser instalados, o ambiente pode ser configurado quando uma nova infraestrutura é instalada e uma verificação periódica é feita para garantir que esses sistemas e servidores permaneçam no estado desejado.
Q # 2) Descreva a arquitetura do Puppet.
Responda: O Puppet segue a abordagem de programação declarativa em que o código especifica o que fazer, mas não informa as etapas de como fazer.
Com base na implementação baseada em pull, os nós do agente verificam em um intervalo regular de 30 minutos com um nó mestre para ver se há alguma alteração no agente. Em caso de necessidade de mudança, o agente puxa o código específico do mestre e executa as ações necessárias no nó do agente.
- O agente envia fatos, ou seja, seu estado no par de dados chave / valor, para o mestre. O estado inclui o sistema operacional do sistema, tempo de atividade, ou seja, o tempo em que o sistema está operacional, endereço IP, ou seja, máquina física ou virtual.
- Usando informações de fatos, o master compila um Catálogo que descreve como o agente deve ser configurado. Catálogo, um documento que explica o estado desejado para os recursos do agente, o mestre gerencia no agente.
- O agente responde ao mestre com informações sobre a conclusão da configuração, que podem ser visualizadas no painel do Puppet.
Q # 3) Explique o trabalho do fantoche.
Responda: É explicado da seguinte forma:
As entidades necessárias para a execução incluem Puppet Master e Puppet Agent.
Agente ou nós são daemons em execução em servidores clientes. Esses servidores precisam de algumas configurações ou são gerenciados usando o Puppet. Este agente verifica as configurações em intervalos regulares com o mestre para qualquer alteração. Master consiste em todas as configurações armazenadas para diferentes hosts e é executado como um daemon no servidor master. Agente e mestre são conectados via Secure Sockets Layer (SSL).
O nó conecta o mestre, o mestre analisa qual configuração e como ela pode ser aplicada ao nó. Após a análise, o mestre coleta recursos e configurações, compila e faz um catálogo e o envia ao agente do nó. Após aplicar a configuração, o agente envia o relatório de configuração que foi aplicado ao servidor mestre.
Q # 4) Descreva o Módulo Puppet.
Responda: Módulos são blocos de construção básicos do fantoche em uma estrutura de diretório que contém classes, tarefas, funções, provedores de recursos e seus tipos, e plug-ins como fatos ou tipos personalizados. É obrigatório ter módulos instalados no caminho do módulo fantoche. Esses módulos são usados para gerenciar tarefas como instalação ou configuração de software no sistema ou servidor.
Clique Aqui para os módulos prontos disponíveis.
Q # 5) O que é Catálogo no Puppet?
Responda: Catálogo é um documento com detalhes de estado de cada mestre de recursos que gerencia no nó. O Master compila um catálogo e o envia de volta ao agente. Ele possui dados fornecidos pelo agente no nó, dados externos e detalhes relacionados aos manifestos fantoches.
Q # 6) Definir Classes no Puppet.
Responda: As classes são blocos de código, chamados por seus nomes, presentes em módulos. As classes são usadas para a funcionalidade de todos os pacotes, serviços e arquivos de configuração necessários para executar um aplicativo. Eles podem ser adicionados ao catálogo do nó de duas maneiras possíveis, ou seja, declarando essas classes em manifestos ou atribuindo a partir de um classificador de nó externo.
As classes podem ser declaradas no manifesto das duas maneiras a seguir:
Usando incluir class_name OU usando classe { 'nome da classe' : }
modelo de ciclo de vida em engenharia de software
A estrutura da classe de fantoches é explicada na figura abaixo:
P # 7) O que é Manifest in Puppet?
Responda: Todos os programas Puppet escritos na linguagem de programação Ruby e salvos com uma extensão .pp, e são construídos com a intenção de criar e gerenciar qualquer máquina host no destino são chamados de Manifesto.
Contém arquivos (o fantoche seleciona e move esses arquivos para um local de destino), Modelos (usado para criar arquivos de configuração no nó), Nós (as definições relacionadas ao nó cliente são descritas nos nós), Recursos e Aulas.
Q # 8) Descreva em detalhes sobre o Facter in Puppet.
Responda: Facter é uma biblioteca de plataforma cruzada de criação de perfil de sistema que descobre e relata informações de sistema por nó conhecidas como fatos presentes como variáveis com valores no formato de valor-chave em manifestos.
Fatos e fatos estão disponíveis no código do Puppet como variáveis globais, eles podem ser usados no código sem qualquer referência em qualquer ponto, em qualquer lugar no código. Facter é uma biblioteca que identifica os detalhes dos fatos que podem conter o sistema operacional em uso, chaves SSH, endereço IP, verificação da máquina virtual ou não, endereços MAC, etc.
Vários tipos de fatos usados são explicados abaixo:
- Fatos principais: São informações sobre recursos como nuvem, discos, memória, sistema operacional, caminho, processadores e partições. Podemos usar o seguinte comando para visualizar a lista completa de fatos e seus valores correspondentes no formato de valor-chave.
- $ run fantoches fatos
- Fatos personalizados: Usando export FACTER {fact’s_name}, podemos adicionar fatos personalizados ao nó. Esses fatos são customizados para atender a requisitos específicos do DevOps.
- Fatos externos: Para aplicar fatos no estágio de provisionamento, podemos usar fatos externos, aplicar metadados a máquinas virtuais na AWS, provedores de nuvem OpenStack.
Q # 9) O que você quer dizer com Chute de Marionete?
Responda: O Puppet Kick obsoleto na versão atual é um utilitário que ativa o agente do mestre. De acordo com os manuais do Ubuntu, ‘puppet kick’ é um script a ser executado como root para acessar certificados Secure Sockets Layer (SSL), conectar o conjunto de máquinas que executam o agente e acioná-los para executar suas configurações.
Além disso, este comando também procura no protocolo LDAP (Lightweight Directory Access Protocol), para hosts que correspondam a essa configuração, conecta-se a cada um deles e aciona para executar sua configuração. Para interromper o trabalho, o agente deve identificar e detectar conexões de entrada e deve ter acesso à permissão para executar terminais.
P # 10) Descreva a funcionalidade do MCollective no Puppet.
Responda: MCollective ou Marionette Collective é uma estrutura para a criação de coordenação, gerenciamento e arranjo automatizados de infraestrutura complexa, ou seja, Sistemas e Servidores conhecidos como Orquestração. Tarefas administrativas em clusters de servidores podem ser executadas automaticamente usando MCollective.
Seus componentes são servidores, clientes e middleware. Usando comandos MCollective, podemos consultar o valor dos fatos, iniciar e parar serviços, iniciar a própria ferramenta de configuração, bem como consultar e atualizar software.
Q # 11) O que há de especial no design baseado em modelos da Puppet?
Responda: Anteriormente, os administradores de sistema seguiam uma série de etapas para configurar e gerenciar a infraestrutura, que compreende vários grupos de sistemas e servidores. Em uma abordagem de design orientado por modelo, o Puppet, que é um código automatizado escrito em Ruby, contém todos os detalhes de configuração que são compilados em um catálogo.
Este catálogo é enviado para cada nó e compartilha recursos, valores e suas relações, a modificação necessária da configuração é feita para sistemas com falha para restaurá-los de volta ao estado de execução normal.
P # 12) Dê alguns casos de uso para o Puppet.
Responda: O Puppet é usado para gerenciar e padronizar a implantação da infraestrutura.
Requerimento: A Startup Company mudou sua infraestrutura para provedores de serviços em nuvem, como o servidor da web da Amazon ou serviços Google Cloud. O Usuário Final é responsável pela criação, padronização e manutenção de sistemas e servidores em diferentes plataformas, aplicativos e serviços e deseja instalar e usar o Puppet para facilitar sua tarefa.
Cenário 1: Os administradores utilizam ferramentas para padronizar seus servidores e sistemas, como a criação de um arquivo de manifesto que possui etapas escritas no código de configuração para construir seu novo servidor.
Por exemplo,
- Instalação do sistema operacional, digamos Linux.
- Verificando o espaço em disco do Linux usando o software File light ou DUC.
- Instalando o Java.
- Instalando o Tomcat.
- Instalando o servidor SQL como RDBMS.
- Instalação de patch para um aplicativo a ser construído e testado para o trainee de desenvolvimento de software.
Cenário 2: Criação de arquivo, listando todas as etapas acima no manifesto, que pode ser executado usando o comando puppet para realizar as etapas mencionadas automaticamente no arquivo de manifesto. Desta forma, a padronização das etapas é seguida durante a implantação do novo sistema usando manifesto e comando.
Cenário 3: O manifesto criado será utilizado para construir o servidor Cloud por meio da API para que todas as tarefas manuais possam ser feitas automaticamente.
Q # 13) Explique os comandos “etckeeper-commit-post” e “etckeeper-commit-pre”.
Responda: A seguir está a diferença entre os dois comandos
- etckeeper-commit-post é um comando escrito no arquivo de configuração, que pode ser executado após enviar a configuração para o agente.
- etckeeper-commit-pre é um comando escrito no arquivo de configuração, que pode ser executado antes de enviar a configuração para o agente.
Q # 14) Lista de caracteres que são permitidos em um nome de classe, nome de módulo e identificadores?
Responda: A seguir estão os caracteres aceitáveis ao declarar o nome da classe e o nome do módulo:
- Deve começar com uma letra minúscula.
- Pode incluir letras minúsculas, dígitos e sublinhados.
- Operador de resolução de escopo, ou seja, “::” são separadores de namespace na definição de nome de classe.
Com o nome da variável, os caracteres aceitos são os mencionados abaixo:
- Pode começar com letras maiúsculas e minúsculas.
- Pode conter numerais e sublinhados (‘_’).
- Se o primeiro caractere for um sublinhado, a variável só poderá ser acessada em seu próprio escopo local.
- As variáveis diferenciam maiúsculas de minúsculas.
P # 15) O que esperar se você não assinar um Contrato de Licença de Contribuidor?
Responda: É uma condição obrigatória para assinar um Contrato de Licença de Contribuidor (CLA) para contribuidores de código para Puppet ou Facter, sem o qual seu código não pode ser aceito. Para localizar e baixar o código Puppet ou Facter escrito em Ruby, o usuário deve fazer login em sua conta do GitHub e assinar um contrato.
Q # 16) Explique a importância e localização do codedir no Puppet?
Responda: codedir é usado pelo Mestre e aplica o comando, mas não pelo agente. É o diretório principal de dados e código que usa um ambiente contendo manifestos e módulos, diretório de módulo global e dados e configuração Hiera.
Este codedir está localizado nos seguintes diretórios locais
No caso do Windows: C: ProgramData PuppetLabs puppet etc
Considerando que para Linux: / etc / dir / PuppetLabs / code
Q # 17) Descreva Hiera.
Responda: Hiera é um sistema de pesquisa de dados de configuração em formato de valor-chave. Ajuda a recuperar dados do código do Puppet. Este código utiliza este sistema para chamadas explícitas de consulta de parâmetros para classes de um catálogo. Este sistema usa fatos do Puppet para identificar fontes de dados. São 5ºA versão suporta arquivos de dados nos formatos JSON, YAML e EYAML.
Ele pesquisa os dados de configuração em três camadas independentes de configuração, começando no ambiente global e, finalmente, na camada de configuração do módulo.
Q # 18) Descreva os recursos virtuais no Puppet.
Responda: Durante a configuração do Puppet, ocorre um erro de declaração de recurso duplicado caso o mesmo recurso seja usado mais de uma vez. Esta ferramenta resolve esse problema, introduzindo um recurso virtual. A declaração de recurso virtual torna seu recurso disponível para coletores e realiza a função. Também gerencia o estado quando o recurso é realizado.
Você pode encontrar recursos virtuais não realizados marcados como inativos incluídos no catálogo. Os recursos virtuais são aplicados para o gerenciamento de recursos cujas várias condições nas classes são atendidas e para conjuntos de recursos sobrepostos por várias classes.
qual é a fase de implementação no sdlc?
Q # 19) Descreva o caminho do módulo.
Responda: O serviço Master e com o comando puppet apply onde os manifestos Puppet são aplicados localmente, carregue seu conteúdo de módulos (instalados no modulepath do puppet) de um ou mais dos diretórios. É a lista ordenada de diretórios pesquisados por módulos pelo Puppet. Esses diretórios da lista de caminhos de módulos são separados por um caractere separador.
No Linux, é dois pontos (:) e no Windows, é um ponto e vírgula (;).
Q # 20) Dê detalhes sobre o caminho de módulo de base.
Responda: A lista de diretórios de módulo global é o caminho de módulo base para aplicação em todos os ambientes, configurado com a configuração de caminho de módulo base, com valor padrão conforme abaixo:
No caso do Linux: $ codedir / modules: / opt / puppetlabs / puppet / modules
No caso do Windows: $ codedir modules
Q # 21) Descreva sobre o diretório Cache no Puppet.
Responda: Puppet durante as operações normais, armazena os dados gerados em um diretório de cache chamado vardir. Esses dados podem ser extraídos para análise. No caso de agente e aplicar comando, O diretório de cache pode ser encontrado em um dos seguintes locais:
No caso do Windows, é C: programed PuppetLabs puppet cache
Considerando que no Linux é / opt / puppetlabs / puppet / cache , alternativamente, usando a opção –vardir na linha de comando, irá especificar a localização do diretório de cache do puppet. Podemos alterar a localização dos arquivos e diretórios vardir, alterando as configurações do puppet.conf.
Q # 22) Explique sobre “Ambientes” no Puppet.
Responda: O ambiente é uma distribuição lógica que separa os módulos e se manifesta em seções ou pastas separadas para os nós, a fim de obter um pouco de código, dependendo do ambiente ao qual o nó pertence, é definido estaticamente em puppet.conf. É um recurso para dividir a configuração da infraestrutura em ambientes. O administrador pode usar um único mestre para atender a várias configurações isoladas.
Q # 23) Descreva os recursos no Puppet.
Responda: A Puppet Resources usa construir, projetar e gerenciar a infraestrutura do sistema ou servidor. Esta ferramenta possui vários tipos de recursos para construir e definir novos recursos para definir a arquitetura do sistema. O bloco de código Puppet no arquivo de manifesto (declaração de recurso) é criado usando Declarative Modeling Language (DML).
Contém Tipo de recurso, parâmetro de recurso, atributos, e Valores.
P # 24) Explique os tipos de recursos no Puppet.
Responda: Os componentes do sistema gerenciado Puppet são analisados com a ajuda de tipos de recursos. Poucos tipos de recursos comuns são grupo, pacote, usuário, arquivo e serviço.
Existem dois tipos de recursos, tipos internos e tipos personalizados. Alguns dos tipos de recursos integrados são grupo, pacote, usuário, arquivo e serviço. Você pode encontrar tipos personalizados distribuídos em módulos fantoches referidos em forge.puppet.com.
Q # 25) Explique a definição de nó no Puppet.
Responda: A definição ou instrução do nó é um bloco de código fantoche que corresponde ao catálogo do nó. Ele permite a atribuição de uma configuração específica ao nó afetado.
Sua sintaxe é semelhante à das definições de classe com palavra-chave de nó, nome de definição de nó, chave de abertura, uma mistura de classes e declarações de recursos, coletores, variáveis, declarações condicionais, funções e relacionamentos de encadeamento, finalmente uma chave de fechamento.
Q # 26) Descreva funções no Puppet.
Responda: Funções Puppet são plug-ins usados durante a compilação do catálogo. A chamada de função por manifesto faz a função funcionar e retornar o valor e modifica o catálogo como um efeito colateral.
qual é o meu login e senha do roteador
Pode-se criar suas próprias funções que aceitam argumentos por meio de parâmetros para transformar dados e construir valores. Esses são plug-ins ou expressões chamados a fim de resolver o valor e podem ser integrados ou personalizados.
Q # 27) Dê exemplos para configurar sistemas usando o Puppet
Resposta: Alguns exemplos do sistema configurado com fantoche estão listados abaixo:
- Gerenciar serviço NTP: O Network Time Protocol (NTP) é o serviço mais essencial que pode ser gerenciado e configurado usando puppet, para sincronizar o tempo em todos os nós.
- Gerenciar privilégios de Sudo: O comando Sudo em seus agentes identificará os usuários do sistema com privilégios de acesso elevados.
- Gerenciar um arquivo de servidor de nomes DNS: O servidor de nomes que mapeia endereços IP entendidos por computadores com URLs legíveis por humanos pode ser gerenciado usando esta ferramenta de configuração.
- Gerenciar regras de firewall: Várias regras e políticas como portas de aplicativo (TCP / UDP), portas de rede, endereço IP e declarações de negação de acesso podem ser projetadas com firewall, com políticas de firewall da ferramenta podem ser gerenciadas.
P # 28) Descreva o manifesto principal ou local no fantoche.
Responda: O agente envia o estado dos recursos chamados fatos ao mestre, com base nas informações recebidas. O Master compilará o catálogo na forma de um único arquivo de manifesto, conhecido como manifesto principal ou do site. O mestre utiliza o arquivo de manifesto principal, um único ou um diretório de arquivos .pp, configurado pelo ambiente do nó atual, que com a ajuda da configuração do manifesto em environment.conf, determina o manifesto principal.
P # 29) O que você quer dizer com aplicação de fantoches?
Responda: Puppet apply é um comando de execução autônomo para aplicar a manifesto individual. Este código, quando aplicado ao modulepath via linha de comando ou arquivo de configuração, atua como um catálogo. ‘Puppet apply’ é um código de linha de comando para aplicar uma configuração.
Q # 30) Liste as empresas que usam o Puppet.
Responda: Poucas organizações empresariais multinacionais que usam o Puppet em seu gerenciamento e configuração de infraestrutura são:
- KPN - empresa holandesa de telefonia fixa e móvel, Holanda
- CERN - Organização Europeia para Pesquisa Nuclear
- Aegon UK - prestadora de serviços financeiros
- NYSE - Bolsa de Valores de Nova York
- ICE - Intercontinental Exchange
- ANZ Bank
- Cisco
- Splunk
P # 31) Explique quais preparações de pré-instalação você precisará antes de instalar o Puppet Open Source.
Responda: Existem alguns preparativos e requisitos antes de instalar o Puppet Open Source
- Seleção do servidor como mestre.
- Verifique se os servidores e a rede estão prontos e preparados para instalação com as seguintes instruções:
- Seleção do tipo de implantação para o servidor selecionado. Podemos usar o software de marionete baseado na composição do Docker ou, caso você já tenha o Docker, clonar o repo.
- execute o comando docker-compose up
- Instalando agentes
- Assim que o Puppet Server estiver configurado, precisamos instalar o pacote do agente na máquina do nó em que a ferramenta de gerenciamento de configuração é necessária.
- Com base no seu sistema operacional, você tem Linux, OS X e Microsoft Windows para selecionar.
- Você pode usar NTP e sudoers para automatizar o código do Puppet para projetar a configuração.
Q # 32) Explique a Puppet Enterprise.
Responda: A Puppet Enterprise é escalonável em várias equipes, sistemas, no local ou em servidores em nuvem, implementando políticas de conformidade e segurança junto com configuração para infraestrutura de migração local e em nuvem com tempo de inatividade zero.
Ele também gera relatórios sobre o status do código que são construídos e informações sobre quem e quais alterações foram feitas em um código de infraestrutura, dispara verificações de análise em intervalos regulares na infraestrutura para avaliar qualquer impacto antes de qualquer incidência.
Q # 33) Descreva a correção do Puppet.
Responda: Ele faz a varredura da infraestrutura e produz dados sobre vulnerabilidades em formatos rastreáveis e auditáveis para priorizar suas resoluções. Corrija ferramentas de equilíbrio que avaliam vulnerabilidades e priorize tarefas que precisam de resolução imediata, atenda a essas tarefas executando tarefas pré-construídas, como gerenciar pacote, serviços ou executar o script de shell e corrigir problemas imediatamente.
Q # 34) Explique o funcionamento do Relé de Marionetes.
Responda: O Puppet Relay monitora sua infraestrutura e executa scripts de automação que não apenas acionam alertas em caso de qualquer incidente usando APIs, ferramentas DevOps disponíveis conectando sistemas locais ou conectados à nuvem, mas redefine a instância usando detalhes de configuração padrão presentes nos catálogos do manifesto e, finalmente, informa a equipe da instância.
Q # 35) O que é Bolt?
Responda: O Bolt automatiza a coordenação, o gerenciamento e a configuração de sistemas de computador e serviços relacionados que eram processados manualmente anteriormente e mantém toda a infraestrutura de uma organização.
Conclusão
O Puppet é uma ferramenta de gerenciamento de configuração automatizada para infraestrutura local e virtual que segue o modelo cliente-servidor, em que uma máquina é mestre e outras atuam como agente ou nós. Seu objetivo principal é gerenciar recursos no servidor de sua infraestrutura. Recurso é um código que gerencia as características do servidor, como uma conta de usuário ou conteúdo de software.
Esta ferramenta de gerenciamento de configuração nos dá poder para expressar a configuração do servidor em código para gerenciar automaticamente sua infraestrutura.
Temos certeza de que este tutorial sobre perguntas da entrevista do Puppet o ajudará a se preparar para sua próxima entrevista.
Leitura recomendada
- Perguntas e respostas da entrevista
- Perguntas e respostas da entrevista de teste de ETL
- Algumas perguntas e respostas complicadas de testes manuais
- Mais de 35 perguntas e respostas da entrevista do Apache Tomcat
- As 35 perguntas e respostas mais frequentes da entrevista com Struts
- 35+ Perguntas e respostas mais comuns para entrevistas no Microsoft Excel
- 35 principais perguntas e respostas da entrevista do Android
- PRINCIPAIS 35 perguntas e respostas da entrevista em HTML5