Conteúdo[Esconder][Mostrar]
- 1. O que é Kubernetes?
- 2. O que você quer dizer com contêiner no Kubernetes?
- 3. Quais são os principais componentes do Kubernetes?
- 4. O que você quer dizer com orquestração no kubernetes?
- 5. O que exatamente é um cluster Kubernetes?
- 6. Como a implantação em contêiner é simplificada pelo Kubernetes?
- 7. Quais são as diferenças fundamentais entre o Kubernetes e o Docker Swarm?
- 8. O que é um namespace no Kubernetes?
- 9. O que exatamente é o componente mestre etcd do Kubernetes?
- 10. Quais soluções existem para segurança de API no Kubernetes?
- 11. Quais são as diferenças entre aplicativos implantados em hosts e contêineres?
- 12. O que você realmente quer dizer com Minikube?
- 13. Como o cluster Kubernetes pode ser monitorado?
- 14. Qual é a função dos nós do Kubernetes?
- 15. Descreva o hipster em detalhes.
- 16. Descreva a operação do nó mestre do Kubernetes.
- 17. O que diferencia o container da cápsula?
- 18. O que você entende por balanceador de carga no Kubernetes?
- 19. Qual função o servidor Kube-API executa?
- 20. O que significam os conjuntos stateful do Kubernetes?
- 21. Como você examina os logs centrais do pod?
- 22. ClusterIP: O que é?
- 23. Fale-me sobre os controladores de replicação?
- 24. Como funciona a rede Ingress e o que é?
- 25. Prometheus no Kubernetes: para que serve?
- 26. O que é serviço headless?
- 27. Para executar a arquitetura Kubernetes localmente, o que eu preciso?
- 28. O que você entende por Stateful set?
- 29. No Kubernetes, o que significa minions?
- 30. Quais funções os serviços executam nos componentes do Kubernetes?
- 31. O que exatamente é Helm?
- 32. Explique o PVC
- Conclusão
O Google criou originalmente o Kubernetes, uma tecnologia de orquestração de contêineres de código aberto, em 2014. A implantação, o dimensionamento e a administração de aplicativos em contêineres deveriam ser automatizados.
O Kubernetes se desenvolveu ao longo do tempo para se tornar o padrão de fato do setor para orquestração de contêineres e é amplamente usado por empresas de todos os tamanhos para gerenciar suas cargas de trabalho em contêineres.
A importância do Kubernetes no mundo moderno está em sua capacidade de oferecer um método consistente de gerenciamento de aplicativos conteinerizados em escala, abrangendo vários clusters e ambientes de nuvem. Por causa disso, as empresas podem gerenciar, expandir e implantar seus aplicativos rápida e eficazmente.
A manutenção de aplicativos conteinerizados é ainda mais facilitada pelo amplo conjunto de recursos do Kubernetes, que inclui autocorreção, dimensionamento automatizado e atualizações contínuas.
À medida que mais empresas usam conteinerização e microsserviços para acelerar seus procedimentos de desenvolvimento e implantação de aplicativos, espera-se que o escopo do Kubernetes continue se expandindo no futuro.
A adoção de tecnologias nativas da nuvem e a mudança geral para sistemas multinuvem e nuvem híbrida dependerão fortemente do Kubernetes. À medida que mais e mais dispositivos estão conectados à Internet, o Kubernetes também será utilizado cada vez mais no contexto de computação de borda e IoT.
Presumo que você já esteja ciente desses detalhes porque está lendo este post sobre Perguntas de entrevista do Kubernetes, que irá informá-lo sobre as perguntas de entrevista mais frequentes. Vamos começar.
1. O que é Kubernetes?
Kubernetes é um framework de código aberto para orquestração e administração de aplicativos em contêineres. Ele possibilita implantar, dimensionar e manter aplicativos em contêineres de forma consistente e eficaz.
O Kubernetes oferece um método único para gerenciar aplicativos em contêineres em escala e foi criado para operar em vários clusters e ambientes de nuvem.
Autocorreção, dimensionamento automatizado e atualizações contínuas são apenas alguns dos recursos que facilitam ainda mais o gerenciamento de aplicativos em contêineres.
2. O que você quer dizer com contêiner no Kubernetes?
Os contêineres são uma abordagem portátil, leve e autossuficiente para empacotar e executar software. O empacotamento e a implantação de aplicativos são feitos de maneira consistente e eficaz no Kubernetes usando contêineres.
Para se manter separado de outros contêineres e da máquina host, cada contêiner executa apenas um processo. As dependências, bibliotecas e arquivos de configuração de um aplicativo estão todos incluídos na imagem do contêiner que serve como a definição de um contêiner.
O número pretendido de réplicas de um contêiner está sempre operando graças ao uso da orquestração de contêineres do Kubernetes para gerenciar e escalar os contêineres. Isso torna simples para os desenvolvedores gerenciar e implantar seus aplicativos em vários clusters e ambientes de nuvem.
3. Quais são os principais componentes do Kubernetes?
Aqui estão os principais componentes dos kubeneters:
- O mestre do Kubernetes: Este componente, que também compreende o gerenciador do controlador e o agendador, o etcd (um armazenamento de chave-valor distribuído), o servidor de API e outros componentes, é responsável pelo gerenciamento do cluster como um todo.
- Nós: São as estações de trabalho nas quais os programas conteinerizados são executados. O kubelet, que interage com o mestre para manter o estado pretendido do cluster, é executado em cada nó junto com um tempo de execução de contêiner (como o Docker).
- Pods: o menor e mais básico elemento do modelo de objeto do Kubernetes é o pod, que serve como host para um ou mais contêineres.
- Serviços: os serviços oferecem um endpoint consistente para pods e permitem o balanceamento de carga e a descoberta de serviços.
- Controladores de replicação: garantem que o número necessário de réplicas de pod esteja sempre operando.
- Segredos e ConfigMaps: Esses recursos são usados para manter os dados de configuração e segredos para pods e outros objetos de cluster.
4. O que você quer dizer com orquestração no kubernetes?
No Kubernetes, o termo “orquestração” refere-se à administração e coordenação automatizadas de containers e dos recursos aos quais eles estão conectados. Envolve atividades que incluem rede, escalabilidade, implantação e autocorreção. Usando objetos como pods, serviços e controladores de replicação, o Kubernetes orquestra aplicativos.
Os pods, que podem conter um ou mais contêineres, são as menores unidades implementáveis. Gerenciamento de serviços balanceamento de carga e descoberta de serviços e dar aos pods um endpoint sólido. Uma réplica de um pod está sempre operando com o número necessário de cópias graças aos controladores de replicação.
5. O que exatamente é um cluster Kubernetes?
Um conjunto de nós executando aplicativos conteinerizados em diversos contextos e máquinas — baseados em nuvem, físicos, virtuais e locais — compõem um cluster Kubernetes. Facilita a gestão e migração simples de apps, bem como a sua criação.
6. Como a implantação em contêiner é simplificada pelo Kubernetes?
Como um aplicativo típico operaria em um cluster de contêineres em muitos hosts, todos esses contêineres precisariam se comunicar uns com os outros.
Portanto, para isso, é necessário um sistema de grande escala que possa dimensionar, balancear a carga e monitorar os contêineres. Você deve usar o Kubernetes para facilitar a implantação conteinerizada, pois ele é independente da nuvem e pode operar em qualquer provedor público ou privado.
7. Quais são as diferenças fundamentais entre o Kubernetes e o Docker Swarm?
Agende e agrupe contêineres do Docker com o Docker Swarm, uma ferramenta nativa de orquestração de contêineres de código aberto do Docker. As seguintes características diferenciam o Swarm do Kubernetes:
- Embora o Kubernetes e o Docker Swarm não tenham recursos de escalonamento automático, o escalonamento do Docker é cinco vezes mais rápido que o Kubernetes.
- O Kubernetes fornece uma GUI na forma de um painel, mas o Docker Swarm não possui um.
- Comparado ao Kubernetes, que é mais difícil de configurar, mas oferece a garantia de um cluster forte, o Docker Swarm é mais fácil de instalar, mas não possui um cluster estável.
- Enquanto o Kubernetes inclui recursos integrados para registro e monitoramento, o Docker precisa de ferramentas externas como a pilha ELK.
- As atualizações contínuas podem ser implantadas por meio do Docker, mas as reversões automatizadas não; As atualizações contínuas, bem como as reversões automatizadas, podem ser implantadas usando o Kubernetes.
8. O que é um namespace no Kubernetes?
O namespace Kubernetes é utilizado em um ambiente onde há vários usuários trabalhando em vários projetos em uma ampla área geográfica. O namespace divide os recursos do cluster entre vários usuários.
9. O que exatamente é o componente mestre etcd do Kubernetes?
O Etcd é uma parte crucial do servidor mestre do Kubernetes. Além disso, ele serve como hub do cluster Kubernetes, onde os itens são armazenados em um armazenamento distribuído de chave-valor.
A tecnologia de replicação é usada em conjunto com um algoritmo para preservar os dados salvos no etcd entre os servidores. Ao comparar e trocar dados entre servidores etcd, a moeda otimista é usada para minimizar situações de bloqueio e aumentar a velocidade do servidor.
10. Quais soluções existem para segurança de API no Kubernetes?
O fornecimento de segurança de API pode ser feito da maneira listada abaixo:
- Por meio de autenticação de API
- Selecionando o modo de autenticação apropriado para o modo de autenticação do servidor API = Nó, RBAC
- Rastrear erros de RBAC
- Garantir que o TLS esteja sendo usado para proteger o tráfego
- Usando o authorization-mode=Webhook para garantir que o Kubeless proteja sua API
- Eliminação das permissões padrão da conta de serviço
- Usando a versão mais recente do kube
- Certificando-se de que o kube-dashboard segue uma política RBAC rigorosa
- Implementando uma política de segurança de pod para limitar o acesso ao contêiner e proteger o nó
11. Quais são as diferenças entre aplicativos implantados em hosts e contêineres?
Um sistema operacional e uma arquitetura compõem os aplicativos implantados. O sistema operacional terá um kernel que abriga as várias bibliotecas necessárias para um aplicativo.
Uma máquina que executa contêineres de processo é chamada de host de contêiner. Como esse tipo de software é diferente de outros programas, os aplicativos devem incluir as bibliotecas necessárias. Os binários não podem infringir os direitos de nenhum outro software, pois estão separados do resto do sistema.
12. O que você realmente quer dizer com Minikube?
Com o Minikube, o Kubernetes pode ser facilmente executado localmente. Isso permite que uma máquina virtual hospede um cluster Kubernetes com um único nó.
13. Como o cluster Kubernetes pode ser monitorado?
A operação e o status dos contêineres operando no Kubernetes podem ser rastreados usando vários métodos. O Prometheus, um dos instrumentos mais usados, contém várias partes, que são divididas nas seções abaixo.
- O servidor Prometheus coleta e armazena dados de série temporal.
- Ele inclui bibliotecas cliente que facilitam a instrumentação do código do aplicativo.
- Possui um gateway push que pode suportar trabalhos temporários.
- Existem exportadores com funções especializadas para uma variedade de serviços de contêineres, como StatsD, HAProxy, Graphite, etc.
- Além disso, você receberá um gerenciador de alertas para lidar com notificações em vários sistemas de suporte.
14. Qual é a função dos nós do Kubernetes?
Para a operação de pods, o Node oferece funções cruciais. Os Nods, também conhecidos como minions, podem operar em qualquer computador real ou virtual, dependendo do cluster.
No Kubernetes, o nó é o computador de trabalho primário, enquanto os componentes principais supervisionam cada nó individualmente.
15. Descreva o hipster em detalhes.
O Heapster combina os dados em todo o cluster que o Kubelet, que é executado em cada nó, gera. Essa ferramenta de gerenciamento de contêiner é suportada nativamente por esse cluster Kubernetes e funciona como um pod como qualquer outro pod no cluster.
Basicamente, isso envolve a localização de cada nó no cluster e a utilização de um agente Kubernetes na máquina para consultar dados dos nós Kubernetes do cluster.
16. Descreva a operação do nó mestre do Kubernetes.
O nó mestre eleva os nós governantes e controladores dos nós trabalhadores. Isso é semelhante a um cluster do Kubernetes. Os nós são responsáveis pelo gerenciamento do cluster, bem como pela API usada para configurar e gerenciar os recursos da coleção. Devido ao benefício dos pods dedicados, os nós principais do Kubernetes podem ser executados junto com o próprio Kubernetes.
17. O que diferencia o container da cápsula?
Como unidade de replicação, o Kubernetes utiliza um pod, que é um grupo de contêineres. Os contêineres são a coleção de códigos que um pod para um aplicativo deve criar. Dentro do mesmo pod, os contêineres podem se comunicar uns com os outros.
18. O que você entende por balanceador de carga no Kubernetes?
Um dos métodos mais comuns e aceitos de exposição de serviço é um balanceador de carga. Dependendo do ambiente de trabalho, um balanceador de carga é um balanceador de carga interno ou um balanceador de carga externo.
Enquanto o balanceador de carga externo roteia o tráfego da carga externa para os pods de back-end, o balanceador de carga interno equilibra automaticamente a carga e atribui aos pods a configuração necessária.
19. Qual função o servidor Kube-API executa?
Para os objetos da API, esse tipo verifica e oferece informações de configuração. Consiste em controladores de replicação, serviços e pods. Além disso, oferece operações REST e a interface do cluster. Todos os outros componentes se comunicam entre si por meio desse estado de cluster de front-end comum.
20. O que significam os conjuntos stateful do Kubernetes?
Um objeto de API de carga de trabalho chamado conjunto com estado é usado para gerenciar aplicativos com estado. Ele é empregado para dimensionar os conjuntos de pods e gerenciar implantações. No armazenamento em disco vinculado ao conjunto stateful, as informações de estado e outros dados resilientes dos pods stateful foram salvos e mantidos atualizados.
21. Como você examina os logs centrais do pod?
Para recuperar logs centrais do pod, você pode utilizar um dos dois estilos de log.
- Use um agente de criação de log no nível do nó.
- O contêiner sidecar no fluxo
- Use o agente de criação de log junto com o contêiner sidecar.
- Exporte os logs diretamente do programa
22. ClusterIP: O que é?
O serviço Kubernetes padrão, ClusterIP, oferece um serviço de cluster interno (sem acesso externo) que outros aplicativos em seu cluster podem acessar.
23. Fale-me sobre os controladores de replicação?
Para todos os pods de execução longa, os controladores de replicação atuam como supervisores. Ele garante que o número necessário de pods esteja ativo a qualquer momento e que cada pod ou grupo de pods tenha uma estrutura consistente.
Se houver mais pods do que o número pretendido, os pods excedentes serão encerrados. Além disso, o controlador substituirá imediatamente quaisquer pods defeituosos.
24. Como funciona a rede Ingress e o que é?
Os usuários podem acessar seus serviços Kubernetes de fora do cluster Kubernetes graças a um item chamado entrada. Ao estabelecer regras que especificam quais conexões de entrada alcançam determinados serviços, os usuários podem configurar o acesso.
Este objeto API oferece as regras de roteamento necessárias para controlar como os serviços no cluster Kubernetes são acessados por visitantes de fora do cluster por meio de HTTPS/HTTP. Com isso, os usuários podem criar regras de roteamento de tráfego de forma rápida e eficiente, sem precisar fazer vários balanceadores de carga ou expor todos os serviços aos nós.
25. Prometheus no Kubernetes: para que serve?
Um kit de ferramentas de código aberto chamado Prometheus é usado para monitorar e avisar o aplicativo dependendo das métricas. Ele oferece um esquema de dados e uma linguagem de consulta e é capaz de fornecer informações e ações de métricas. Ele permite o uso da linguagem para muitos propósitos instrumentais.
Além do Alertmanager e Grafana, a operadora Prometheus oferece monitoramento simples para implantações e serviços K8s.
26. O que é serviço headless?
Um serviço headless é aquele que utiliza um endereço IP, mas fornece informações sobre pods conectados em vez de balanceamento de carga.
27. Para executar a arquitetura Kubernetes localmente, o que eu preciso?
Para a integração do Kubernetes, várias infraestruturas locais passaram por remodelação. Conhecimento de alto nível é necessário para integrar armazenamento, servidores e rede em um sistema integrado.
Selecionar o hardware de rede e armazenamento apropriado é essencial para o Kubernetes, pois permite a interação com recursos para armazenamento, balanceadores de carga, etc. Automatizar os componentes de rede e armazenamento é um componente chave da proposta de valor do Kubernetes.
28. O que você entende por Stateful set?
O item de API de carga de trabalho conhecido como conjunto stateful é utilizado para gerenciar aplicativos stateful. Ele também pode ser usado para dimensionar os conjuntos de pods e gerenciar implantações. O armazenamento em disco, que está conectado ao conjunto stateful, armazena as informações de estado e outros dados para os pods stateful.
29. No Kubernetes, o que significa minions?
No Kubernetes, um nó é chamado de máquina de trabalho; anteriormente, era conhecido como um lacaio. Com base em um cluster, pode ser um computador virtual ou uma máquina real.
Cada nó é controlado pelos componentes principais do Kubernetes e contém os serviços necessários para operar os pods. O container runtime, kubelet e Kube-proxy estão incluídos nos serviços oferecidos pelo nó.
30. Quais funções os serviços executam nos componentes do Kubernetes?
Por meio do fornecimento do endereço IP virtual, um serviço serve como uma abstração para os pods. O endereço IP virtual facilita as conexões do usuário com os contêineres executados dentro dos pods. É um componente que determina como os contêineres são organizados dentro dos pods.
31. O que exatamente é Helm?
O registro de gerenciamento de pacote de aplicativos Helm mantido por CNF está disponível para Kubernetes. O pré-configurado Gráficos de leme pode ser baixado e implantado em seu sistema Kubernetes. Uma das soluções de gerenciamento de pacotes mais populares para o ambiente Kubernetes é esta. As equipes de DevOps podem implantar aplicativos nos ambientes de produção e desenvolvimento, versá-los e acompanhar seu progresso usando os gráficos existentes.
32. Explique o PVC
PVC é um acrônimo para Reivindicação de Volume Persistente. É o armazenamento que o Kubernetes solicitou para os pods. O conhecimento do usuário sobre o provisionamento subjacente não é necessário. O namespace em que o pod é formado e onde essa declaração deve ser feita deve corresponder.
Conclusão
As perguntas e respostas da entrevista do Kubernetes estão completas.
Sem dúvida, há mais a aprender sobre o Kubernetes, a tecnologia de ponta que tornou viável o gerenciamento e a execução de milhares de contêineres, mas este é um bom ponto de partida. Para obter ajuda na preparação da entrevista, consulte Série de entrevistas de Hashdork.
Deixe um comentário