Comando Kubernetes Set

KubernetesKubernetesBeginner
Pratique Agora

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

O comando set no Kubernetes é uma ferramenta versátil que permite modificar a configuração de recursos Kubernetes existentes. Este comando possibilita ajustes como a atualização de imagens de contêiner e a configuração de solicitações e limites de recursos, tudo sem editar diretamente os arquivos YAML. Ele simplifica o gerenciamento de recursos e aumenta a eficiência operacional.

Ao final deste laboratório, você entenderá como:

  • Iniciar um cluster Kubernetes.
  • Atualizar a imagem do contêiner de um deployment.
  • Configurar solicitações e limites de recursos para um deployment.
  • Modificar rótulos (labels) e anotações (annotations) em um deployment usando os comandos relevantes.

Este laboratório foi projetado para iniciantes e presume que você está trabalhando em um sistema Ubuntu Linux com as ferramentas Kubernetes instaladas. Nenhuma experiência prévia com Kubernetes é necessária.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 100%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/ClusterInformationGroup(["Cluster Information"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ConfigurationandVersioningGroup(["Configuration and Versioning"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/BasicCommandsGroup -.-> kubernetes/set("Set") kubernetes/BasicCommandsGroup -.-> kubernetes/run("Run") kubernetes/BasicCommandsGroup -.-> kubernetes/annotate("Annotate") kubernetes/ClusterInformationGroup -.-> kubernetes/cluster_info("Cluster Info") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/ConfigurationandVersioningGroup -.-> kubernetes/label("Label") subgraph Lab Skills kubernetes/initialization -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/get -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/create -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/set -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/run -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/annotate -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/cluster_info -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/describe -.-> lab-8424{{"Comando Kubernetes Set"}} kubernetes/label -.-> lab-8424{{"Comando Kubernetes Set"}} end

Iniciar um Cluster Kubernetes

Antes de interagir com os recursos Kubernetes, certifique-se de que um cluster Kubernetes esteja em execução. Para este laboratório, usaremos o Minikube para configurar um cluster Kubernetes de nó único.

  1. Abra um terminal e inicie o Minikube:

    minikube start

    Isso inicializa um cluster Kubernetes local. O Minikube atribui automaticamente os recursos apropriados, mas você pode personalizá-los usando flags como --cpus e --memory, se necessário.

  2. Verifique se o Minikube está em execução:

    kubectl cluster-info

    Certifique-se de que a saída confirme que o cluster está operacional.

Criar um Deployment

Depois que o cluster estiver em execução, crie um deployment Kubernetes simples chamado hello-world usando a imagem nginx.

  1. Execute o seguinte comando para criar o deployment:

    kubectl create deployment hello-world --image=nginx

    Este comando cria um deployment chamado hello-world com uma réplica do contêiner nginx.

  2. Verifique se o deployment foi criado com sucesso:

    kubectl get deployments

    Verifique a saída para garantir que hello-world apareça na lista de deployments.

Explorar o Comando kubectl set

O comando kubectl set fornece múltiplos subcomandos para configurar e modificar recursos de aplicação. Ele ajuda a gerenciar aspectos específicos como variáveis de ambiente, imagens de contêiner e configurações de recursos.

  1. Execute o seguinte comando para visualizar os subcomandos kubectl set disponíveis:

    kubectl set -h

    Você verá a seguinte saída:

    Configure application resources.
    
    These commands help you make changes to existing application resources.
    
    Available Commands:
      env              Update environment variables on a pod template
      image            Update the image of a pod template
      resources        Update resource requests/limits on objects with pod templates
      selector         Set the selector on a resource
      serviceaccount   Update the service account of a resource
      subject          Update the user, group, or service account in a role binding or cluster role binding
    
    Usage:
      kubectl set SUBCOMMAND [options]
    
    Use "kubectl --help" for more information about a given command. Use "kubectl options" for a list of global command-line options (applies to all commands).

    Revise os subcomandos disponíveis e suas descrições para entender como o kubectl set pode ser usado.

  2. Use kubectl set --help para explorar detalhes adicionais sobre cada subcomando, conforme necessário.

Atualizar a Imagem do Contêiner

Em seguida, atualize a imagem do contêiner no deployment hello-world para uma versão específica.

  1. Use o comando kubectl set para atualizar a imagem do contêiner para nginx:1.19.10:

    kubectl set image deployment/hello-world nginx=nginx:1.19.10

    Este comando atualiza o contêiner nginx no deployment hello-world.

  2. Verifique a atualização da imagem consultando a imagem do contêiner:

    kubectl get deployment hello-world -o jsonpath='{.spec.template.spec.containers[0].image}'

    Certifique-se de que a saída mostre nginx:1.19.10.

Configurar as Requisições e Limites de Recursos

O gerenciamento de recursos é essencial para os deployments do Kubernetes. Defina as requisições e limites de recursos para o deployment hello-world.

  1. Configure as requisições e limites de CPU e memória:

    kubectl set resources deployment/hello-world --limits=cpu=1,memory=512Mi --requests=cpu=500m,memory=256Mi

    Este comando define as requisições de recursos para 500m de CPU e 256Mi de memória e os limites para 1 CPU e 512Mi de memória.

  2. Verifique as configurações de recursos descrevendo o deployment:

    kubectl describe deployment hello-world

    Verifique as seções Limits e Requests na saída para confirmar a configuração.

Modificar Labels no Deployment

Labels (rótulos) ajudam a categorizar e organizar recursos do Kubernetes. Use o comando kubectl label para adicionar ou modificar labels no deployment.

  1. Adicione um label environment=development ao deployment hello-world:

    kubectl label deployment hello-world environment=development

    Este comando adiciona um novo label ao deployment.

  2. Verifique se o label foi aplicado:

    kubectl get deployment hello-world --show-labels

    Verifique a coluna LABELS para o label environment=development.

Atualizar Anotações no Deployment

Anotações (annotations) fornecem metadados aos recursos do Kubernetes. Use o comando kubectl annotate para adicionar ou atualizar anotações no deployment.

  1. Adicione uma anotação owner=team-alpha ao deployment hello-world:

    kubectl annotate deployment hello-world owner=team-alpha

    Este comando adiciona uma anotação ao deployment.

  2. Verifique se a anotação foi aplicada:

    kubectl describe deployment hello-world

    Verifique a seção Annotations para owner=team-alpha.

Resumo

Neste laboratório, você aprendeu como usar o comando set do Kubernetes para gerenciar deployments de forma eficaz. Você:

  • Iniciou um cluster Kubernetes.
  • Criou um deployment.
  • Atualizou a imagem do contêiner.
  • Configurou as requisições e limites de recursos.
  • Modificou rótulos (labels) e anotações (annotations) usando os comandos apropriados.

Essas habilidades são essenciais para gerenciar aplicações Kubernetes de forma eficiente.

OSZAR »