Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Executando aplicativos de terceiros em contêineres

Para executar seus próprios aplicativos no Junos OS Evolved, você tem a opção de implantá-los dentro de um contêiner Docker. O contêiner é executado no Junos OS Evolved, e os agentes funcionam dentro do contêiner, mantendo-os isolados do OS. Os contêineres são instalados em uma partição separada montada em /var/extensões.

Nota:

Os contêineres Docker não são integrados ao Junos OS Evolved, eles são criados e gerenciados inteiramente através do Linux usando comandos Docker. Para obter mais informações sobre contêineres e comandos Docker, veja a documentação oficial do Docker: https://docs.docker.com/get-started/

Os contêineres têm limites padrão para os recursos que podem usar do sistema:

  • Storage – O tamanho da partição /var/extensões é orientado por plataforma: 8GB ou 30% do tamanho total de /var, o que for menor.

  • Memory – Os contêineres têm um limite padrão de 2GB ou 10% da memória física total, o que for menor.

  • CPU – Os contêineres têm um limite padrão de uso máximo de CPU de 20% em todos os núcleos.

Nota:

Você pode modificar os limites de recursos em contêineres, se necessário. Veja modificação dos limites de recursos para contêineres.

Implantação de um contêiner Docker

Para implantar um contêiner docker:

  1. Inicie o serviço docker usando o socket vrf0:
  2. Defina a seguinte variável de setenv:
  3. Importe a imagem.
    Nota:

    A URL para o import comando precisa ser alterada para diferentes contêineres.

  4. Certifique-se de que a imagem seja baixada e obtenha a ID da imagem.
  5. Crie um contêiner usando a ID da imagem e insira uma sessão de bash naquele contêiner.
    Nota:

    Os contêineres Docker são daemonizados por padrão, a menos que você use o -it argumento.

Gerenciamento de um contêiner Docker

Os contêineres Docker são gerenciados por meio do fluxo de trabalho do Linux. Use os ps comandos ou top Linux para mostrar quais contêineres Docker estão sendo executados e use comandos Docker para gerenciar os contêineres. Para obter mais informações sobre os comandos Docker, veja: https://docs.docker.com/engine/reference/commandline/cli/

Nota:

Os recursos de alta disponibilidade do Junos OS Evolved não são suportados para aplicativos personalizados em contêineres Docker, se um aplicativo tem funcionalidade de alta disponibilidade, então você deve executar o aplicativo em cada RE para garantir que ele possa se sincronizar.

Selecionando um VRF para um contêiner Docker

Os contêineres herdam o roteamento e o encaminhamento virtual (VRF) do daemon Docker. Para executar contêineres em um VRF distinto, uma instância daemon Docker precisa ser iniciada no VRF correspondente. A docker@vrf.service instância permite iniciar um daemon no VRF correspondente. Se o VRF não estiver especificado, o VRF fica inadimplente em vrf0.

A docker.service rede funciona vrf:none por padrão.

O daemon docker para um VRF específico ouve no socket correspondente localizado em /run/docker-vrf.sock.

O cliente Docker é associado ao daemon docker específico vrF usando os seguintes argumentos:

Por exemplo, para executar um contêiner vrf0 , insira os seguintes argumentos e comandos Docker:

Nota:

Um contêiner só pode ser associado a um único VRF.

Modificação dos limites de recursos para contêineres

Os limites padrão de recursos para contêineres são controlados por um arquivo localizado em /etc/extensões/platform_attributes. Você verá o texto a seguir ao abrir este arquivo:

Para alterar os limites de recursos para contêineres, adicione valores às EXTENSIONS entradas na parte inferior do arquivo:

  • EXTENSIONS_FS_DEVICE_SIZE_MIB= controla o espaço máximo de armazenamento que os contêineres podem usar. Digite o valor em bytes. O valor padrão é de 8GB ou 30% do tamanho total de /var, o que for menor.

  • EXTENSIONS_CPU_QUOTA_PERCENTAGE= controla o uso máximo de CPU que os contêineres podem usar. Digite um valor como porcentagem do uso da CPU. O valor padrão é o uso máximo de CPU de 20% em todos os núcleos

  • EXTENSIONS_MEMORY_MAX_MIB= controla a quantidade máxima de memória física que os contêineres podem usar. Digite o valor em bytes. O valor padrão é de 2GB ou 10% da memória física total, o que for menor.

CUIDADO:

Antes de modificar os limites de recursos para contêineres, esteja ciente dos requisitos de CPU e memória para a escala que você tem a oferecer em sua configuração. Tenha cuidado ao aumentar os limites de recursos para contêineres para evitar que eles causem uma tensão em seu sistema.