Partilhar via


Solucionar problemas comuns do Host de Contêiner Linux do Azure para AKS

Este artigo fornece etapas de solução de problemas para alguns dos problemas comumente relatados que você pode enfrentar ao usar hosts de contêiner Linux do Azure no AKS (Serviço de Kubernetes do Azure). Para obter mais informações sobre como começar a usar hosts de contêiner Linux do Azure no AKS, consulte Usar o Linux do Azure com o AKS.

Antes de começar

Leia o guia oficial para solução de problemas de clusters do Kubernetes. Além disso, leia o guia do engenheiro da Microsoft para solução de problemas do Kubernetes. Este guia contém comandos para solucionar problemas de pods, nós, clusters e outros recursos.

Por fim, examine a lista de limitações conhecidas no Linux do Azure. Um problema que você está tentando resolver pode ser um em que já estamos trabalhando.

Pré-requisitos

  • CLI do Azure, versão 2.31 ou posterior. Se a CLI do Azure já estiver instalada, você poderá encontrar o número da versão executando az --version.

Sobre o Host de Contêiner do Linux do Azure para AKS

O Linux do Azure é uma distribuição Linux de software livre criada pela Microsoft. Como um sistema operacional leve, o Linux do Azure tem os seguintes recursos:

  • Contém apenas os pacotes necessários para executar cargas de trabalho de contêiner
  • Passa por testes de validação do Azure
  • É compatível com agentes do Azure

O Host de Contêiner Linux do Azure para AKS é uma imagem do sistema operacional para o AKS otimizada para executar cargas de trabalho de contêiner. Ele é mantido pela Microsoft e baseado no Linux do Azure. Ele fornece confiabilidade e consistência da nuvem à borda nos produtos AKS, AKS no Azure Stack HCI e Azure Arc . Você pode usar hosts de contêiner Linux do Azure para executar os seguintes processos:

  • Implante pools de nós do Linux do Azure em um novo cluster.
  • Adicione pools de nós do Linux do Azure aos clusters existentes do Ubuntu.
  • Migre seus nós do Ubuntu para nós do Linux do Azure.

Para obter mais informações sobre o Linux do Azure, consulte o repositório GitHub do Linux do Azure.

Lista de verificação de solução de problemas

Etapa 1: Examinar comandos equivalentes no Ubuntu e no Linux do Azure

A maioria dos comandos no sistema operacional Linux do Azure, como o comando process status (ps), se assemelha a comandos usados no Ubuntu. No entanto, o gerenciamento de pacotes é feito usando o comando Tiny DNF (tdnf). A tabela a seguir lista alguns comandos comuns no Ubuntu e seus equivalentes no Linux do Azure.

Comando do Ubuntu Comando sugerido do Linux do Azure
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (sem equivalente exato; leia o Pacotes na pasta /var/lib/rpm )
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

Etapa 2: Verificar a versão do Linux do Azure

Verifique se você está usando a versão correta do Linux do Azure. A versão com suporte do Linux do Azure para consumo é o Azure Linux 2.0. Na saída do comando az aks nodepool list a seguir, a osSKU propriedade deve ser .AzureLinux

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

Embora esse comando possa não resolver o problema que você está enfrentando, o controle de versão é um problema comum para usuários que relatam que agentes ou extensões não estão funcionando corretamente no Linux do Azure.

Etapa 3: Entender a diferença nos caminhos do arquivo de certificado

O Linux do Azure (e outras distribuições RPM) armazena certificados de forma diferente do Ubuntu.

No Linux do Azure, o caminho /etc/ssl/certs é um link simbólico para /etc/pki/tls/certs. Se um contêiner espera mapear /etc/ssl/certs para usar o arquivo de certificado ca-certificates.crt no Linux do Azure, o contêiner obtém um link simbólico que aponta para lugar nenhum. Esse comportamento causa erros relacionados ao certificado no contêiner. O contêiner também precisa mapear /etc/pki para que o contêiner possa seguir a cadeia de links simbólicos. Se o contêiner tiver que funcionar em hosts Linux do Ubuntu e do Azure, você poderá mapear /etc/pki usando o DirectoryOrCreate tipo em um volume hostPath.

Etapa 4: Atualizar a CLI do Azure e a extensão de visualização do AKS

Se você tentar implantar um cluster do AKS Linux do Azure usando a CLI do Azure, poderá receber uma mensagem de erro informando que a AzureLinux opção não tem suporte para o OSSku parâmetro. Essa mensagem significa que você pode estar usando uma versão desatualizada da CLI do Azure ou da extensão de visualização do AKS. Para corrigir esse problema, execute uma ou ambas as ações a seguir:

  • Se a CLI do Azure não estiver atualizada, instale a versão mais recente. Para atualizar a CLI do Azure, execute o seguinte comando az upgrade :

    az upgrade
    
  • Se você tiver uma versão mais antiga da aks-preview extensão instalada, instale uma versão mais recente para que o OSSku parâmetro tenha um valor de AzureLinux. Para atualizar a extensão, execute o seguinte comando az extension update :

    az extension update --name aks-preview
    

Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.

Aviso de isenção de responsabilidade para contatos de terceiros

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar informações adicionais sobre esse tópico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão das informações de contato de terceiros.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.