Implantar rede de contêiner para um host Linux Docker autônomo

O plug-in CNI do Azure habilita a rede por contêiner/pod para hosts docker autônomos e clusters Kubernetes. Neste artigo, você aprenderá como instalar e configurar o plug-in CNI para um host Linux Docker autônomo.

Pré-requisitos

Criar uma rede virtual e um host do Azure Bastion

O procedimento a seguir cria uma rede virtual com uma sub-rede de recurso, uma sub-rede do Azure Bastion e um host Bastion:

  1. No portal, pesquise e selecione Redes virtuais.

  2. Na página Redes virtuais, selecione + Criar.

  3. Na guia Noções básicas de Criar rede virtual, insira ou selecione as seguintes informações:

    Definição Value
    Detalhes do projeto
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione Criar novo.
    Digite test-rg para o nome.
    Selecione OK.
    Detalhes da instância
    Nome Digite vnet-1.
    País/Região Selecione E.U.A. Leste 2.

    Captura de ecrã do separador Noções básicas para criar uma rede virtual no portal do Azure.

  4. Selecione Avançar para prosseguir para a guia Segurança .

  5. Na seção Azure Bastion, selecione Habilitar Azure Bastion.

    Bastion usa seu navegador para se conectar a VMs em sua rede virtual através de Secure Shell (SSH) ou Remote Desktop Protocol (RDP) usando seus endereços IP privados. As VMs não precisam de endereços IP públicos, software cliente ou configuração especial. Para obter mais informações, consulte O que é o Azure Bastion?.

    Nota

    O preço por hora começa a partir do momento em que o Bastion é implantado, independentemente do uso de dados de saída. Para obter mais informações, consulte Preços e SKUs. Se você estiver implantando o Bastion como parte de um tutorial ou teste, recomendamos excluir esse recurso depois de terminar de usá-lo.

  6. No Azure Bastion, insira ou selecione as seguintes informações:

    Definição Value
    Nome do host do Azure Bastion Entre no bastião.
    Endereço IP público do Azure Bastion Selecione Criar um endereço IP público.
    Digite public-ip-bastion em Name.
    Selecione OK.

    Captura de ecrã das opções para ativar um anfitrião do Azure Bastion como parte da criação de uma rede virtual no portal do Azure.

  7. Selecione Avançar para prosseguir para a guia Endereços IP .

  8. Na caixa de espaço de endereço em Sub-redes, selecione a sub-rede padrão .

  9. Em Editar sub-rede, insira ou selecione as seguintes informações:

    Definição Value
    Finalidade da sub-rede Deixe o padrão de Default.
    Nome Digite subnet-1.
    IPv4
    Intervalo de endereços IPv4 Deixe o padrão de 10.0.0.0/16.
    Endereço inicial Deixe o padrão de 10.0.0.0.
    Tamanho Deixe o padrão de /24 (256 endereços).

    Captura de ecrã dos detalhes de configuração de uma sub-rede.

  10. Selecione Guardar.

  11. Selecione Rever + criar na parte inferior da janela. Quando a validação for aprovada, selecione Criar.

Pode levar alguns minutos para que o host Bastion seja implantado. Você pode continuar com as etapas enquanto o host Bastion está implantando.

Criar máquina virtual de teste

O procedimento a seguir cria uma máquina virtual (VM) de teste chamada vm-1 na rede virtual.

  1. No portal, procure e selecione Máquinas virtuais.

  2. Em Máquinas virtuais, selecione + Criar e, em seguida , Máquina virtual do Azure.

  3. Na guia Noções básicas de Criar uma máquina virtual, insira ou selecione as seguintes informações:

    Definição Value
    Detalhes do projeto
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione test-rg.
    Detalhes da instância
    Virtual machine name Digite vm-1.
    País/Região Selecione E.U.A. Leste 2.
    Opções de disponibilidade Selecione Sem necessidade de redundância de infraestrutura.
    Tipo de segurança Deixe o padrão de Padrão.
    Image Selecione Ubuntu Server 22.04 LTS - x64 Gen2.
    Arquitetura VM Deixe o padrão de x64.
    Tamanho Selecione um tamanho.
    Conta de administrador
    Authentication type Selecione Senha.
    Username Digite azureuser.
    Palavra-passe Introduza uma palavra-passe.
    Confirme a palavra-passe Reintroduza a palavra-passe.
    Regras de porta de entrada
    Portas de entrada públicas Selecione Nenhuma.
  4. Selecione a guia Rede na parte superior da página.

  5. Insira ou selecione as seguintes informações na guia Rede :

    Definição Value
    Interface de Rede
    Rede virtual Selecione vnet-1.
    Sub-rede Selecione sub-rede-1 (10.0.0.0/24).
    IP público Selecione Nenhuma.
    Grupo de segurança de rede NIC Selecione Avançadas.
    Configurar grupo de segurança de rede Selecione Criar novo.
    Digite nsg-1 para o nome.
    Deixe o restante nos padrões e selecione OK.
  6. Deixe o restante das configurações nos padrões e selecione Revisar + criar.

  7. Revise as configurações e selecione Criar.

Nota

As máquinas virtuais em uma rede virtual com um host bastion não precisam de endereços IP públicos. Bastion fornece o IP público, e as VMs usam IPs privados para se comunicar dentro da rede. Você pode remover os IPs públicos de qualquer VM em redes virtuais hospedadas por bastion. Para obter mais informações, consulte Dissociar um endereço IP público de uma VM do Azure.

Nota

O Azure fornece um IP de acesso de saída padrão para VMs que não recebem um endereço IP público ou estão no pool de back-end de um balanceador de carga básico interno do Azure. O mecanismo IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.

O IP de acesso de saída padrão é desativado quando um dos seguintes eventos acontece:

  • Um endereço IP público é atribuído à VM.
  • A VM é colocada no pool de back-end de um balanceador de carga padrão, com ou sem regras de saída.
  • Um recurso do Gateway NAT do Azure é atribuído à sub-rede da VM.

As VMs que você cria usando conjuntos de dimensionamento de máquina virtual no modo de orquestração flexível não têm acesso de saída padrão.

Para obter mais informações sobre conexões de saída no Azure, consulte Acesso de saída padrão no Azure e Usar SNAT (Conversão de Endereço de Rede de Origem) para conexões de saída.

Adicionar configuração de IP

O plug-in CNI do Azure aloca endereços IP para contêineres com base em um pool de endereços IP criados na interface de rede virtual da máquina virtual. Para cada contêiner no host, uma configuração IP deve existir na interface de rede virtual. Se o número de contêineres no servidor superar as configurações de IP na interface de rede virtual, o contêiner será iniciado, mas não tiver um endereço IP.

Nesta seção, você adiciona uma configuração IP à interface de rede virtual da máquina virtual criada anteriormente.

  1. Na caixa de pesquisa na parte superior do portal, digite Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.

  2. Selecione vm-1.

  3. Em Definições, selecione Redes.

  4. Selecione o nome da interface de rede ao lado de Interface de rede:. A interface de rede é denominada vm-1 com um número aleatório.

  5. Em Configurações da interface de rede, selecione Configurações de IP.

  6. em Configurações de IP, selecione ipconfig1 em Nome.

  7. Nas configurações ipconfig1, altere a atribuição do endereço IP privado de Dinâmico para Estático.

  8. Selecione Guardar.

  9. Retorne às configurações de IP.

  10. Selecione + Adicionar.

  11. Insira ou selecione as seguintes informações para Adicionar configuração de IP:

    Definição Valor
    Nome Digite ipconfig-2.
    Configurações de endereço IP privado
    Alocação Selecione Estático.
    Endereço IP Digite 10.0.0.5.
  12. Selecione OK.

  13. Verifique se ipconfig-2 foi adicionado como uma configuração IP secundária.

Repita as etapas anteriores para adicionar quantas configurações forem os contêineres que você deseja implantar no host do contêiner.

Instalar o Docker

O mecanismo de contêiner do Docker deve ser instalado e configurado na máquina virtual criada anteriormente.

Entre na máquina virtual que você criou anteriormente com o host do Azure Bastion implantado com a rede virtual.

  1. Na caixa de pesquisa na parte superior do portal, digite Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.

  2. Selecione vm-1.

  3. Na Visão geral do vm-1, selecione Conectar e, em seguida, Bastion.

  4. Digite o nome de usuário e a senha criados quando implantou a máquina virtual nas etapas anteriores.

  5. Selecione Ligar.

Para obter instruções de instalação do Docker em um host de contêiner do Ubuntu, consulte Instalar o Docker Engine no Ubuntu.

Depois que o Docker for instalado na máquina virtual, siga as instruções para a pós-instalação do Linux. Para obter instruções sobre a pós-instalação do Linux, consulte Etapas de pós-instalação do Docker Engine.

Depois que o Docker for instalado em sua máquina virtual, continue com as etapas neste artigo.

Instale o plug-in CNI e crie um contêiner de teste

O plug-in CNI do Azure é mantido como um projeto do GitHub e está disponível para download na página do GitHub do projeto. Para este artigo, você usa git dentro da máquina virtual para clonar o repositório para o plug-in e, em seguida, instalar e configurar o plug-in.

Para obter mais informações sobre o plug-in CNI do Azure, consulte Microsoft Azure Container Networking.

  1. Na caixa de pesquisa na parte superior do portal, digite Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.

  2. Selecione vm-1.

  3. Na Visão geral do vm-1, selecione Conectar e, em seguida, Bastion.

  4. Digite o nome de usuário e a senha criados quando implantou a máquina virtual nas etapas anteriores.

  5. Selecione Ligar.

  6. O aplicativo jq é necessário para o script de instalação para o plug-in CNI, use o seguinte exemplo para instalar o aplicativo:

    sudo apt-get update
    sudo apt-get install jq
    
  7. Em seguida, você clona o repositório para o plug-in CNI. Use o exemplo a seguir para clonar o repositório:

    git clone https://github.com/Azure/azure-container-networking.git
    
  8. Configure permissões e instale o plug-in CNI. O comando install script requer um número de versão para o plug-in CNI. No momento da redação deste artigo, a versão mais recente é v1.4.39. Para obter o número da versão mais recente do plugin ou versões anteriores, consulte Versões.

    cd ./azure-container-networking/scripts
    chmod u+x install-cni-plugin.sh
    sudo ./install-cni-plugin.sh v1.4.39
    chmod u+x docker-run.sh
    
  9. Para iniciar um contêiner com o plug-in CNI, você deve usar um script especial que vem com o plug-in para criar e iniciar o contêiner. O exemplo a seguir cria um contêiner Alpine com o script de plug-in CNI:

    sudo ./docker-run.sh vnetdocker1 default alpine
    
  10. Para verificar se o contêiner recebeu o endereço IP que você configurou anteriormente, conecte-se ao contêiner e visualize o IP:

    sudo docker exec -it vnetdocker1 /bin/sh
    
  11. Use o ifconfig comando no exemplo a seguir para verificar se o endereço IP foi atribuído ao contêiner:

    ifconfig
    

    Captura de tela da saída ifconfig no prompt Bash do contêiner de teste.

Quando terminar de usar os recursos que criou, você poderá excluir o grupo de recursos e todos os seus recursos.

  1. No portal do Azure, procure e selecione Grupos de recursos.

  2. Na página Grupos de recursos, selecione o grupo de recursos test-rg.

  3. Na página test-rg, selecione Excluir grupo de recursos.

  4. Digite test-rg em Digite o nome do grupo de recursos para confirmar a exclusão e selecione Excluir.

Próximos passos

Neste artigo, você aprendeu como instalar o plug-in CNI do Azure e criar um contêiner de teste.

Para obter mais informações sobre a rede de contêiner do Azure e o serviço Kubernetes do Azure, consulte: