Folha de dicas do Kubernetes: arquitetura, componentes, folha de comando
Publicados: 2020-12-15O Kubernetes se tornou uma parte essencial das indústrias e está mudando o mundo da tecnologia. Janet Kuo, copresidente da KubeCon, abordou os recursos do Kubernetes e sua importância nos próximos tempos. Ela fala sobre as extensões e soluções do Kubernetes que vão mudar o mundo .
Esta folha de dicas fornecerá uma referência aos profissionais que trabalham na implementação do Kubernetes. Ele contém todos os detalhes necessários para ajudar os iniciantes que são novos no Kubernetes. A folha de dicas do Kubernetes é um meio rápido e prático para consultar todos os conceitos e comandos essenciais do Kubernetes.
Índice
Sobre o Kubernetes
Uma plataforma de código aberto para implantação automática e dimensionamento de contêineres nos clusters de hosts para fornecer infraestrutura centrada em contêineres é conhecida como Kubernetes (também conhecido como “Kube” ou k8s). Ele permite o gerenciamento fácil e eficiente de diferentes hosts executando contêineres Linux, agrupando-os.
O Kubernetes é uma plataforma projetada para gerenciar completamente o ciclo de vida de aplicativos e serviços em contêiner. Um usuário do Kubernetes pode definir as maneiras pelas quais um aplicativo deve ser executado e interagir com diferentes aplicativos.
Os usuários podem alternar o tráfego entre diferentes versões de aplicativos, realizar atualizações, aumentar e diminuir os serviços etc. com o Kubernetes. Ele oferece aos usuários um alto grau de flexibilidade, confiabilidade e poder no gerenciamento de aplicativos.
Alguns dos principais recursos do Kubernetes são:

- Maximize os recursos fazendo melhor uso do hardware.
- Um orquestrador de contêineres em vários hosts.
- Automatize o processo de implantação e as atualizações.
- Capaz de executar um contêiner Linux.
- O escalonamento automático ajuda na inicialização de contêineres em nós de cluster.
- Escalando para cima e para baixo conforme necessário.
- Auto-recuperação substituindo, reprogramando e reiniciando os contêineres mortos.
- Rollbacks e rollouts automatizados.
- Balanceamento de carga e descoberta de serviços.
- Reinício automático, posicionamento automático e replicação automática, etc.
Leia: Algoritmo de Aprendizado Profundo
Arquitetura do Kubernetes
A arquitetura do Kubernetes consiste em camadas: camadas superiores e inferiores. A complexidade de abstrair a camada superior pode ser encontrada nas camadas inferiores. As máquinas físicas ou virtuais individuais são reunidas em um cluster. Uma rede compartilhada é usada para comunicação entre cada servidor. Assim, assim como outras plataformas distribuídas, o Kubernetes tem um mestre (pelo menos) e vários nós de computação.
- O mestre do Kubernetes agenda as implantações, expõe a API e gerencia o cluster geral do Kubernetes.
- O nó executa um tempo de execução do contêiner, agente para comunicação com o mestre e outros componentes de monitoramento, log, etc.
Componentes da arquitetura do Kubernetes
Vamos dar uma olhada na finalidade e nos componentes do mestre e dos nós na arquitetura do Kubernetes.
Mestre
O mestre mantém o estado desejado do cluster. Como ele gerencia todo o cluster, ele é chamado de mestre. Contém:
- Servidor de API: servidor de API do Kubernetes
- Agendador: usado para agendamento de pod em nós do trabalhador
- Controlador: gerencia a replicação do pod
- Etcd: Um serviço de metadados
Nós
Ele contém os serviços necessários que são importantes para executar os pods. O mestre gerencia os nós. Também é chamado de Minion. Contém:
- Pod: Grupo de contêineres
- Docker: Tecnologia baseada em contêiner, espaço do usuário do SO.
- Kubelet: Agentes de contêiner que são responsáveis por manter o conjunto de pods.
- Kube-proxy: roteia o tráfego que entra em um nó do serviço
Agora, vamos entender os comandos importantes do Kubernetes.
Comandos Kubectl
Kubectl é a ferramenta de linha de comando para Kubernetes. Os comandos básicos do Kubectl podem ser divididos em:
- Introspecção de pods e contêineres
- Introspecção de cluster
- Depuração
- Comandos rápidos
- Objetos
Introspecção de pods e contêineres
Funcionalidade | Comando |
Para descrever nomes de pods | Kubectl descreve o pod<name> |
Para listar todos os pods atuais | Kubectl obtém pods |
Para listar todos os controladores de replicação | Kubectl obter rc |
Para mostrar o nome do controlador de replicação | Kubectl descreve rc <name> |
Para listar controladores de replicação em um namespace | Kubectl get rc –namespace=”namespace” |
Para mostrar um nome de serviço | Kubectl descreve svc<nome> |
Para serviços de listagem | Kubectl obter cvc |
Para assistir nós continuamente. | Kubectl obtém nós -w |
Para excluir um pod | Kubectl excluir pod<nome> |
Introspecção de cluster
Funcionalidade | Comando |
Para obter informações relacionadas à versão | Versão do Kubectl |
Para obter detalhes de configuração | Visualização da configuração do Kubectl |
Para obter informações relacionadas ao cluster | Kubectl cluster-info |
Para obter informações sobre um nó | Kubectl descreve o nó<nó> |
Comandos de depuração

Funcionalidade | Comando |
Para exibir métricas de um pod | Pod superior Kubectl |
Para exibir métricas de um nó | Nó superior do Kubectl |
Para assistir aos logs do Kubelet | Assista -n 2 cat/var/log/kublet.log |
Para obter logs do serviço para o contêiner | Kubectl logs -f<name>>[-c< $container>] |
Para a execução do comando em serviço selecionando um container | Kubectl exec<service><commands>[-c< $container>] |
Comandos rápidos
Os comandos rápidos abaixo são frequentemente usados e, portanto, muito úteis.

Funcionalidade | Comando |
Para iniciar um pod com um nome e uma imagem. | Kubectl run<nome> — imagem=<nome-imagem> |
Para criar um serviço descrito em <manifest.yaml> | Kubectl create -f <manifest.yaml> |
Para dimensionar o contador de replicação para contar o número de instâncias. | Kubectl scale –replicas=<count>rc<name> |
Para mapear a porta externa para a porta de replicação interna. | Expor rc<nome> –port=<externo>–target-port=<interno> |
Para parar todos os pods em <n> | Kubectl drena<n>– delete-local-data–force–ignore-daemonset |
Para criar um namespace. | Kubectl cria namespace <namespace> |
Para permitir que o nó mestre execute pods. | Kubectltaintnodes –all-node-role.kuernetes.io/master- |
Objetos
Alguns dos objetos familiares usados no Kubernetes são os seguintes:
Lista de objetos comuns | |
Todo | Revisões do controlador |
cm= conf gmaps | Vinculações de papéis de cluster |
Cronjobs | cs=status dos componentes |
Implantar=implantações | limites = intervalos de limite |
ev= eventos | hpa= escalonamento automático de pod horizontal |
empregos | ds= conjuntos de daemons |
Não = nós | ns= namespaces |
po= vagens | Predefinição de pod |
Psp= políticas de segurança do pod | Pv= volumes persistentes |
cota= cotas de recursos | rs= conjuntos de réplicas |
papéis | rc= controladores de replicação |
sc= classes de armazenamento | pdb= orçamentos de distribuição de pods |
papéis de cluster | segredos |
crd=definição de recurso personalizado | Modelos de pod |
csr= solicitações de assinatura de certificado | sa= contas de serviço |
Políticas de rede Netpol | Vinculações de papéis |
ing= entrada | pvc= reivindicações de volume persistentes |
ep=pontos finais | sts = conjuntos com estado |
Leia também: Regularização em Deep Learning
Folha de dicas de comando do Kubernetes
Todas as informações básicas sobre o Kubernetes, sua arquitetura e comandos são mostrados abaixo da folha de dicas do Kubernetes:
Se você estiver interessado em aprender mais sobre técnicas de aprendizado profundo, aprendizado de máquina, confira o Diploma PG do IIIT-B e do upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, status de ex-alunos do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.
O que é Kubernetes?
Kubernetes é uma plataforma de código aberto para automatizar a implantação, dimensionamento e gerenciamento de contêineres. Um contêiner é um pacote de software pronto para execução que contém tudo o que é necessário para executar o aplicativo: código, ambiente de tempo de execução, aplicativo e bibliotecas do sistema. Os contêineres são como unidades lógicas de aplicativo e, quando o Kubernetes os agrupa, fica fácil gerenciar e descobrir os contêineres. Esses contêineres são implantados e dimensionados em hosts para fornecer uma infraestrutura centrada em contêiner. Resumindo, é uma plataforma que gerencia todo o ciclo de vida dos aplicativos conteinerizados.
Quais são os principais componentes da arquitetura Kubernetes?
Existem dois componentes principais no nó mestre da arquitetura do Kubernetes e no nó do trabalhador. Um nó é a máquina de trabalho principal que é importante para executar um grupo de clusters chamados pods. Todo o cluster é gerenciado pelo nó mestre, enquanto o nó do trabalhador executa as tarefas atribuídas pelo nó mestre. Esses nós têm muitos componentes embutidos dentro deles. O nó mestre contém Kubernetes API Server, Kubernetes Scheduler, Kubernetes Controller e Etcd. O nó do trabalhador tem pod, docker, kubelet e kube-proxy.
O que o kubelet e o kube-proxy fazem?
O Kubelet, que está presente em todos os nós, garante que os contêineres funcionem bem em um pod. Ele faz isso pegando um conjunto de PodSpecs fornecido principalmente por meio do apiserver e verificando os contêineres presentes nesses PodSpecs. Um PodSpec é um objeto YAML ou JSON que descreve um pod. O Kubernetes Network Proxy, também conhecido como kube-proxy, mantém as regras de rede nos nós. A comunicação de sessões de rede dentro ou fora do cluster para os pods é possível por meio dessas regras de rede. O Kube-proxy encaminha o tráfego se a camada de filtragem de pacotes do SO não estiver disponível.