Instale o LXC (Contêineres Linux) em Rhel, Rocky & Almalinux
- 746
- 137
- Enrique Crist
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.
$ getenforceVerifique 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 eleaseInstale 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.confAdicionar 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 LinuxCom 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 lxdInstale 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 TECMINTGrupos 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 LXDPara 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ãoListe os perfis LXD
Para exibir os adaptadores de rede e o IPv4 e IPv6 endereços, execução:
Lista de rede $ lxcListar adaptadores de rede LXD
Você pode reduzi -lo e exibir informações mais refinadas sobre o LXDBR0 interface da seguinte maneira.
$ LXC Network Show LXDBR0Listar informações de rede LXD
Você também pode verificar o pool de armazenamento.
Lista de armazenamento $ lxcListar o pool de armazenamento LXD
Você pode obter ainda mais detalhes complexos sobre o pool de armazenamento.
$ lxc armazenamento mostra tec-poolListar 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 LXCEtapa 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 rockyListar imagens de contêiner LXC
Se você está procurando Debian Imagens, execute o comando:
$ lxc imagem de imagem imagens: grep -i debianListar 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-container2Inicie 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 LXCPara 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 pareiLista 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-container1Listar 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ÇÃOGanhe 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 DataExecutar 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 /tecmintPuxe 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 /dadosEmpurre 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-container1Pare 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-container1Inicie o contêiner LXC
Para reiniciar os dois LXC Contêineres, executaremos o comando:
$ lxc reiniciar tec-container1 $ lxc reiniciar tec-container2Reinicie 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-container1Exclua 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 -HelpAjuda 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.
- « 30 comandos linux úteis para administradores de sistema
- 10 Exemplos de comando WGET (Linux File Downloader) no Linux »