Gerenciamento do Kubernetes Dashboard

KubernetesBeginner
Pratique Agora

Introdução

O Kubernetes Dashboard é uma interface de usuário baseada na web que simplifica o gerenciamento e o monitoramento de clusters Kubernetes. Ele oferece uma maneira intuitiva de implantar e gerenciar aplicativos, bem como visualizar e analisar recursos do cluster. Este laboratório irá guiá-lo através da implantação e acesso ao Kubernetes Dashboard.

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 96%. Recebeu uma taxa de avaliações positivas de 97% dos estudantes.

Iniciar o Cluster Kubernetes

Antes de implantar o Kubernetes Dashboard, certifique-se de que seu cluster esteja em execução. Usaremos o Minikube para este laboratório.

  1. Abra um terminal e navegue até o diretório do projeto:

    cd ~/project
  2. Inicie o cluster Minikube:

    minikube start

    O Minikube cria um cluster Kubernetes local, facilitando o teste de recursos como o Dashboard. A configuração pode levar alguns minutos.

  3. Verifique se o Minikube está em execução verificando seu status:

    minikube status

    Se o cluster não estiver em execução, reinicie-o com minikube delete seguido por minikube start.

Implantar o Kubernetes Dashboard

O Kubernetes Dashboard não está incluído por padrão no cluster. Implante-o usando o arquivo YAML de implantação oficial.

  1. Execute o seguinte comando para implantar o Dashboard:

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

    Este comando cria todos os recursos necessários para o Dashboard, incluindo um Deployment, um Service e configurações de Controle de Acesso Baseado em Funções (RBAC).

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

    kubectl get pods -n kubernetes-dashboard

    Procure um pod com o nome kubernetes-dashboard e certifique-se de que seu status seja Running.

  3. Verifique o namespace para o Dashboard:

    kubectl get ns | grep kubernetes-dashboard

    O namespace kubernetes-dashboard deve existir.

Criar uma Conta de Serviço e Binding de Função

Por padrão, o Kubernetes Dashboard restringe o acesso. Para fazer login com privilégios de administrador, você precisa criar uma conta de serviço e vinculá-la a uma função de cluster.

  1. Crie um arquivo chamado dashboard-admin.yaml:

    nano ~/project/dashboard-admin.yaml
  2. Adicione o seguinte conteúdo ao arquivo:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard

Este arquivo define uma conta de serviço admin-user e concede a ela privilégios de administrador em todo o cluster.

Pressione Ctrl+X, Y, e então Enter para salvar o arquivo.

  1. Aplique a configuração:

    kubectl apply -f dashboard-admin.yaml
  2. Verifique a conta de serviço e a vinculação de função:

    kubectl get sa -n kubernetes-dashboard

    Você deve ver a conta de serviço admin-user listada.

    kubectl get clusterrolebinding

    Você deve ver a vinculação de função de cluster admin-user listada.

Acessar o Kubernetes Dashboard

Agora que o Dashboard está em execução e as permissões estão configuradas, acesse-o através de um navegador.

  1. Gere um token de login:

    kubectl -n kubernetes-dashboard create token admin-user

    Copie o token gerado. Ele será usado para fazer login.

  2. Edite o Serviço do Dashboard para expô-lo em um NodePort:

    kubectl edit service -n kubernetes-dashboard kubernetes-dashboard

    Encontre o campo type em spec e altere seu valor para NodePort. Salve e saia.

    Editing Dashboard Service NodePort
  3. Encontre o NodePort atribuído ao Dashboard:

    kubectl get service -n kubernetes-dashboard
    NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
    dashboard-metrics-scraper   ClusterIP   10.104.164.172   <none>        8000/TCP        20m
    kubernetes-dashboard        NodePort    10.108.222.153   <none>        443:30587/TCP   20m

    Observe o número da porta listado na coluna PORT(S) (por exemplo, 30587). Esta é a porta que você usará para acessar o Dashboard.

  4. Recupere o endereço IP do nó:

    kubectl get node -o wide
    NAME       STATUS   ROLES           AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
    minikube   Ready    control-plane   35m   v1.26.1   192.168.58.2   <none>        Ubuntu 20.04.5 LTS   5.15.0-56-generic   docker://20.10.23

    A coluna INTERNAL-IP fornece o endereço IP do nó.

  5. Abra o navegador Firefox na área de trabalho e navegue até a seguinte URL:

    https://<node-ip>:<node-port>

    Substitua <node-ip> pelo endereço IP do nó e <node-port> pela porta da Etapa 3.

    Firefox browser Kubernetes Dashboard
  6. Se for solicitado um aviso de segurança, prossiga selecionando "Avançado" e, em seguida, "Aceitar o Risco e Continuar".

Security warning proceed screen
  1. Na página de login, selecione a opção Token, cole (clique com o botão direito) o token da Etapa 1 e clique em "Sign In".
Kubernetes Dashboard login page

Você deve estar agora logado no Kubernetes Dashboard, onde pode explorar os recursos do cluster e gerenciar as cargas de trabalho.

Kubernetes Dashboard interface

Resumo

Neste laboratório, você aprendeu como:

  1. Implantar o Kubernetes Dashboard em um cluster local.
  2. Criar uma conta de serviço e vinculá-la a uma função de cluster para acesso de administrador.
  3. Acessar o Dashboard através de um navegador usando um serviço NodePort.

Com o Kubernetes Dashboard, você pode gerenciar visualmente aplicativos, monitorar recursos e explorar as configurações do cluster. Esta ferramenta simplifica as operações do Kubernetes, especialmente para iniciantes que estão migrando de fluxos de trabalho de linha de comando. Continue explorando seus recursos para aproveitar ao máximo seu ambiente Kubernetes!