Instale o LXC (Contêineres Linux) em Rhel, Rocky & Almalinux

Instale o LXC (Contêineres Linux) em Rhel, Rocky & Almalinux

Lxd é descrito como o contêiner de próxima geração e gerente de máquina virtual que oferece um imersivo para sistemas Linux em execução dentro de contêineres ou como máquinas virtuais.

Ele fornece imagens para um número excessivo de distribuições Linux com suporte para uma ampla seleção de back -ends de armazenamento e tipos de rede. Ele também oferece a opção de instalar as imagens em um PC/laptop individual e até em uma instância em nuvem.

Lxd permite que você gerencie recipientes e VMs usando três maneiras. Você pode alavancar o cliente lxc ou ferramenta de linha de comando, uma API REST ou mesmo integrações de terceiros.

Recursos LXD

Notável Lxd características incluem:

  • O LXD é baseado em imagem com imagens para uma ampla seleção de distribuições Linux.
  • É construído com segurança como uma prioridade superior.
  • Ele fornece uma ferramenta de linha de comando API e LXC para interagir com contêineres.
  • Ele fornece suporte para uma ampla gama de backndes de armazenamento, volumes de armazenamento e pools de armazenamento.
  • O gerenciamento de rede é através da criação de redes de pontes e túneis cruzados.
  • Controle avançado de recursos como CPU, RAM, uso de disco, E/S de bloco e recursos do kernel.
  • Flexível e escalável - você pode implantar recipientes no seu PC e configurar um cluster que pode agregar milhares de contêineres em vários nós.

O que é LXC?

Não ser confundido com o LXC Ferramenta de cliente da linha de comando fornecida por Lxd, LXC (Contêiner Linux) é uma tecnologia de virtualização popular no nível do sistema operacional que usa uma API poderosa e outras ferramentas para permitir que os usuários criem e gerenciem perfeitamente contêineres e máquinas virtuais em um único host. Compreende modelos, linguagem de ferramentas e ligações de bibliotecas.

Recursos LXC

LXC Aproveita os seguintes recursos do kernel para lidar com processos:

  • Namespaces de kernel: pid, montagem, rede UTS e usuário.
  • CGROUPS (Grupos de controle).
  • Chroots - usando pivot_root.
  • Políticas da Seccomp.
  • Perfis de Selinux e Apparmor.

LinuxContainers.org é o projeto de guarda -chuva atrás de ambos Lxd e LXC. Seu objetivo é oferecer uma plataforma de distro e fornecedor neutra para tecnologias de contêineres Linux.

Com essa introdução fora do caminho, agora demonstraremos como criar e gerenciar LXC contêineres em distribuições de Linux baseadas em RHEL, como CENTOS, Rocky Linux, e Almalinux.

Requisitos

Um sistema operacional Linux em funcionamento com instalação mínima:

  • Instalação do Rhel Linux
  • Instalação do CentOS Linux
  • Instalação do Rocky Linux
  • Instalação de Almalinux

Etapa 1: Defina o Selinux para o modo permissivo

Logo de cara, começaremos configurando Selinux e configurá -lo como permissivo. Mas antes de fazê -lo, vamos atualizar os pacotes do sistema da seguinte forma:

$ sudo dnf atualização 

Pôr Selinux Para permissivo, execute o comando:

$ sudo sed -i 's/^Selinux =.*/Selinux = Permissivo/G '/etc/Selinux/Config 

Para que isso entre em vigor, reinicie seu servidor.

$ sudo reiniciar 

E confirmar o status de Selinux.

$ getenforce 
Verifique o modo Selinux

Etapa 2: Instale o repositório EPEL

EPEL é um repositório do Projeto Fedora que fornece um conjunto de pacotes de alta qualidade para Redhat Enterprise Linux e outras distribuições baseadas em RHEL.

$ sudo yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM ou $ SUDO YUM Instale o lançamento elease 
Instale o repositório EPEL

Etapa 3: adicione os parâmetros do kernel

Antes de instalarmos Lxd, Alguns parâmetros adicionais são necessários. Portanto, mude para o usuário root:

$ su - 

E adicione os parâmetros da seguinte forma.

$ grubby --args = "user_namespace.enable = 1 "-Update-kernel =" $ (Grubby--Default-kernel) "$ Grubby --args =" Namespace.unst_enable = 1 "-Update-kernel =" $ (Grubby--Default-Kernel) "$ ECHO" Usuário.max_user_namespaces = 3883 "| sudo tee -a /etc /sysctl.d/99-Uns.conf 
Adicionar parâmetros do kernel Linux

Uma vez que os parâmetros estiverem em vigor, prossiga e habilite o Snap.

Etapa 4: Instale e ativar o Snap

A maneira mais simples de instalar Lxd sobre RHEL 8 é instalá -lo como um foto pacote. Mas primeiro, vamos instalar foto do seguinte modo.

$ sudo dnf install snapd 

Isso instalará Snapd daemon ou serviço ao lado de outras dependências do Python, como mostrado.

Instale o Snap in Linux

Com o snap instalado, prossiga e ativar o principal foto soquete de comunicação.

$ sudo systemctl atabille -agora snapd.soquete 

Além /var/lib/snapd/snap para /foto.

$ sudo ln -s/var/lib/snapd/snap/snap 

Para atualizar o foto Caminhos, reinicie seu sistema.

$ sudo reiniciar 

Etapa 5: Instale o Gerenciador de Containerização LXD

Existem duas maneiras de instalar Lxd a partir de um foto. Você pode instalar a versão mais recente de Lxd como mostrado.

$ sudo snap install -clássico lxd 
Instale o LXD no Linux

Como alternativa, você pode instalar o mais recente estável Lts versão da seguinte maneira:

$ sudo snap install lxd -cannel = 4.0/estável 

Para poder executar LXC Comandos sem mudar para o usuário sudo, adicione o usuário atualmente conectado ao lxd grupo.

$ sudo userMod -AG lxd $ usuário 

Verifique se o usuário foi adicionado ao lxd grupo listando todos os grupos que o usuário pertence a.

$ GRUPOS TECMINT 
Grupos de listas no Linux

Em seguida, execute o newGrp comando da seguinte forma.

$ newGrp lxd 

O comando altera o ID do grupo atual durante uma sessão de login. Ele define o ID do grupo atual para o grupo nomeado que é lxd.

Etapa 6: Inicializando o ambiente LXD

Antes de começarmos a criar e gerenciar Lxd Recipientes, precisamos inicializar o Lxd ambiente executando o comando.

$ lxc init 

O que se segue é uma série de avisos que permitirão que você configure seu ambiente. Os padrões funcionarão muito bem, mas fique à vontade para especificar suas próprias preferências.

Nós criamos um pool de armazenamento chamado Tec-Pool com o lvm opção como back -end.

Inicializando o ambiente LXD

Para verificar o Lxd ambiente que você acabou de configurar, há vários comandos que você pode usar. Por exemplo, para exibir o perfil LXD padrão executivo:

$ lxc perfil show padrão 
Liste os perfis LXD

Para exibir os adaptadores de rede e o IPv4 e IPv6 endereços, execução:

Lista de rede $ lxc 
Listar adaptadores de rede LXD

Você pode reduzi -lo e exibir informações mais refinadas sobre o LXDBR0 interface da seguinte maneira.

$ LXC Network Show LXDBR0 
Listar informações de rede LXD

Você também pode verificar o pool de armazenamento.

Lista de armazenamento $ lxc 
Listar o pool de armazenamento LXD

Você pode obter ainda mais detalhes complexos sobre o pool de armazenamento.

$ lxc armazenamento mostra tec-pool 
Listar informações do pool de armazenamento LXD

Para listar em execução LXC Contêineres, execute o comando:

Lista de $ lxc 

No momento, ainda não temos nenhum recipiente em execução. Então você receberá uma mesa vazia com apenas os rótulos da coluna.

Liste os contêineres em execução LXC

Etapa 7: Listando imagens de contêiner LXC pré -construído

Assim como Docker, o LXC A plataforma fornece um repositório de imagens pré-construídas da qual você pode criar contêineres. Para listar todas as imagens pré -construídas para todos os sistemas operacionais, incluindo máquinas virtuais, execute o comando:

Imagens de lista de imagem de $ lxc: 

Isso preenche uma enorme lista de imagens de contêineres e máquinas virtuais para todos os sistemas operacionais. Para diminuir a uma distribuição específica do Linux, use a sintaxe:

$ LXC Imagem Lista de imagens: Grep -i OS -Type 

Por exemplo, para pesquisar imagens disponíveis para Rocky Linux, Execute o comando:

$ lxc imagens de imagem imagens: grep -i rocky 
Listar imagens de contêiner LXC

Se você está procurando Debian Imagens, execute o comando:

$ lxc imagem de imagem imagens: grep -i debian 
Listar a imagem LXC Debian

Etapa 8: Lançamento de contêineres LXC

Lançar LXC Recipientes, use a sintaxe:

$ lxc iniciar imagens: distro/versão/arch contêiner-name here 

Aqui, lançaremos 2 contêineres: Tec-container1 de Debian 10 e Tec-container2 de Rocky Linux 8.

$ lxc Lançar imagens: Debian/10/amd64 tec-container1 $ lxc lançamento imagens: rockylinux/8/amd64 tec-container2 
Inicie os contêineres LXC

Para listar o LXC Recipientes, execute o comando:

Lista de $ lxc 

A saída exibe uma série de informações sobre os contêineres. Isso inclui o nome dos contêineres, o estado - executando ou parado - endereços IPv4 e IPv6, tipo (seja um contêiner ou máquina virtual) e vários instantâneos.

Liste contêineres LXC

Para listar apenas os contêineres em execução, execute o comando:

Lista $ lxc | Grep -i Running 

Da mesma forma, para recipientes parados, execute:

Lista $ lxc | Grep -Eu parei 
Lista em execução de contêineres LXC

Você pode investigar as informações e métricas de um contêiner, como processos de execução, utilização da CPU e memória e largura de banda para mencionar alguns usando o comando:

$ lxc info tec-container1 
Listar informações de contêiner LXC

Etapa 9: Ganhe acesso de shell a um contêiner LXC

Você pode obter acesso bash a um contêiner usando a sintaxe:

$ LXC EXEC Nome do nome de contêineres da concha 

Para obter acesso à concha a Tec-container1, Vamos executar o comando:

$ lxc execut-container1 BASH 

Depois de obter acesso do shell, você pode começar a interagir com o contêiner como usuário root executando comandos comuns do shell, incluindo a atualização do sistema como mostrado:

$ APT ATUALIZAÇÃO 
Ganhe acesso de shell de contêiner LXC

Para sair do contêiner, execute o comando:

$ saída 

Como alternativa, você pode executar os comandos diretamente no contêiner sem acessar o shell usando o seguinte formato:

$ lxc Exec Container-Name Command 

Por exemplo, você pode executar os seguintes comandos que atualizarão as listas de pacotes, verificar a versão do sistema operacional em execução no contêiner Debian e verificar a data.

$ LXC EXEC TEC-CONTAINER1 APT ATUALIZAÇÃO $ LXC EXEC TEC-CONTAINER1 CAT /etc /Debian_version $ lxc Exec Tec-Container1 Data 
Executar comandos no contêiner LXC

Etapa 10: puxe / empurre um (s) arquivo (s) para um contêiner LXC

Outra operação que você pode realizar é transferir arquivos de e para o contêiner. Para demonstrar isso, criaremos um novo diretório no Lxd contêiner e navegue nele.

# dados mkdir e dados de CD 

Em seguida, criaremos um arquivo de amostra e adicionaremos alguns dados. Para fazer isso, criaremos um arquivo de amostra com vim editor

# vim file1.TXT 

Em seguida, digitaremos algum texto de amostra e salvaremos o arquivo.

Olá mundo, bem -vindo aos contêineres LXD. 

Para puxar o arquivo do contêiner para o sistema host local, usaremos a sintaxe:

$ lxc Arquivo puxar container-name/path/to/file /path/to/local/dest 

Nesse caso, o comando será:

$ lxc arquivo puxar tec-container2/root/data/file1.txt /home /tecmint 
Puxe arquivos para o contêiner LXC

Para empurrar ou copiar um arquivo do diretório local para o contêiner, use a sintaxe:

$ lxc arquivo push /path/to/file container-nane/path/to/dest/dir/dir/ 

Nesse caso, temos um arquivo de amostra no diretório inicial chamado File2.TXT sendo copiado para o /raiz/dados/ caminho no Tec-container2 recipiente.

$ lxc Arquivo Push/Home/Tecmint/File2.txt tec-container2/root/data/ 

Para confirmar a existência do arquivo no contêiner, executaremos:

$ lxc exec-container2 ls /root /dados 
Empurre arquivos para o contêiner LXC

Etapa 11: Parar / iniciar / reiniciar e excluir contêineres LXC

Com o LXC Utilitário da linha de comando Você pode executar tarefas de gerenciamento de contêineres, como parar, iniciar, reiniciar e excluir contêineres.

Para parar um LXC Contêiner, use a sintaxe:

$ lxc Stop-Name de contêineres 

Por exemplo, para parar Tec-container1, Vamos executar o comando:

$ lxc Stop tec-container1 
Pare o contêiner LXC

Para começar o LXC Contêiner, use a sintaxe:

$ lxc start-name de contêineres 

Por exemplo, para começar Tec-container1, Vamos executar:

$ lxc Start Tec-container1 
Inicie o contêiner LXC

Para reiniciar os dois LXC Contêineres, executaremos o comando:

$ lxc reiniciar tec-container1 $ lxc reiniciar tec-container2 
Reinicie os contêineres LXC

Para excluir um LXC Recipiente, você deve, primeiro, parar o recipiente e depois excluí -lo. Por exemplo, para excluir, executaremos os comandos:

$ lxc Stop tec-container1 $ lxc exclua tec-container1 

Como alternativa, você pode combinar esses dois comandos como mostrado.

$ lxc Stop tec-container1 && lxc delete tec-container1 
Exclua recipientes LXC

Etapa 12: Obtenha ajuda nas opções de linha de comando LXC

Para obter ajuda em outras opções de comando fornecidas por LXC, Simplesmente execute o comando:

$ lxc -help ou $ lxc comando - -help e.G $ LXC Arquivo -Help 
Ajuda do contêiner LXC
Conclusão

Isso foi um mergulho profundo em Lxd contêineres e como você pode criá -los e gerenciá -los usando o LXC Ferramenta de utilidade da linha de comando. Confiamos que você achou este guia útil.