Pesquisa de site

Instale o Pouch Container Engine no Ubuntu/CentOS 7


PouchContainer é uma tecnologia de contêiner de código aberto da Alibaba. Assim como o Docker, o PouchContainer utiliza a tecnologia de imagem. Uma imagem de contêiner é um pacote de software leve, independente e executável que inclui tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema, bibliotecas e configurações do sistema.

PouchContainer possui os seguintes recursos:

O PouchContainer inclui um modo container rico: possui recursos e funções de um contêiner que podem ser estendidos para suportar uma gama mais ampla de requisitos, como monitoramento de status de integridade, threads, pilha , contenção de bloqueio, estatísticas de mensagens de rede e informações de configuração.

Isolamento: A tecnologia adota princípios de alto isolamento e segurança, como tecnologia de contêiner baseada em hipervisor, lxcfs, cota de disco de diretório, kernel Linux corrigido, etc.

Em uma implantação em larga escala, o contêiner tipo bolsa utiliza o Dragonfly, umsistema de distribuição baseado em P2P que aumenta a taxa de distribuição de contêineres com uma margem enorme.

O PouchContainer é compatível com Kubernetes, de modo que você pode migrar facilmente de um tempo de execução do Kubernetes para o PouchContainer.

O contêiner tipo bolsa tem muitas vantagens em relação às tecnologias VM tradicionais. Vamos explorar alguns dos mais interessantes:

1. Recursos amigáveis

Os aplicativos executados no PouchContainer podem minimizar o uso de armazenamento com uma estrutura de imagem em camadas. Ele também permite a distribuição incremental de imagens, o que, por sua vez, economiza o consumo de largura de banda em comparação com tecnologias legadas de VM.

2. Orientado a aplicativos

O PouchContainer fornece entrega de aplicativos entre plataformas e sistemas operacionais. Isso é possível com a forte técnica de isolamento do tempo de execução do aplicativo.

Instale o Container Container no Ubuntu 22.04|20.04|18.04

O PouchContainer trabalha lado a lado com o LXCFS para isolamento. LXCFS é um sistema de arquivos de espaço de usuário usado na implementação de contêineres.

Precisamos instalar o LXCFS previamente, para que o PouchContainer seja executado em nosso servidor Ubuntu:

sudo apt update
sudo apt install lxcfs

Instale pacotes que permitirão ao aptitude usar um repositório via HTTPS:

sudo apt install curl apt-transport-https ca-certificates software-properties-common

A próxima etapa é adicionar a chave GPG oficial do PouchContainer:

curl -fsSL http://mirrors.aliyun.com/opsx/pouch/linux/debian/[email  | sudo apt-key add -

Adicione o repositório PouchContainer ao seu servidor Ubuntu:

sudo add-apt-repository "deb http://mirrors.aliyun.com/opsx/pouch/linux/debian/ pouch stable"

Instale a versão mais recente do PouchContainer:

sudo apt update
sudo apt install pouch

Iniciar e ativar o PouchContainer

sudo systemctl start pouch
sudo systemctl enable pouch

Agora temos o Pouch Container implantado com sucesso no servidor Ubuntu. Exploraremos alguns dos comandos básicos do PouchContainer posteriormente neste artigo.

Como instalar o PouchContainer no CentOS 7

Observe que o PouchContainer não pode ser instalado junto com o Docker na mesma instância. Se você tiver um serviço Docker em execução e desejar instalar o PouchContainer, desinstale o Docker antes de instalar o PouchContainer.

As etapas abaixo irão guiá-lo sobre como instalar o PouchContainer em uma instância executando o CentOS 7

1. Instale os utilitários yum

sudo yum install -y yum-utils

2. Configure os repositórios do PouchContainer em seu servidor Centos 7 e atualize o sistema:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/opsx/opsx-centos7.repo
sudo yum update

3.Instale o PouchContainer

sudo yum install pouch

O PouchContainer cria uma ‘bolsa’ de grupo sem nenhum usuário adicionado a ela. Somente o usuário root tem acesso exclusivo a qualquer grupo de usuários.

4. Inicie o PouchContainer

sudo systemctl start pouch
sudo systemctl enable pouch

Para executar comandos do pouch com usuários não-root, precisamos adicionar o usuário ao grupo do pouch:

Adicionar usuário ao grupo

sudo gpasswd -a $USER pouch

Uso do mecanismo de contêiner PouchContainer

O PouchContainer possui uma arquitetura cliente/servidor. Neste caso, existem duas linhas de comando que são emitidas dependendo do contexto:

pouchd: a daemon side binary to run as a server;
pouch: a client side binary to run as a client.

Implantando um aplicativo Nginx simples no PouchContainer

Conforme mencionado anteriormente, é compatível com imagens docker.

Faremos download da imagem nginx e executaremos um contêiner nginx:

pouch run --name webserver -p 80:80 -d nginx

Este comando baixa a imagem nginx do repositório docker e inicia o contêiner chamado ‘webserver’.

O contêiner possui uma porta interna 80 mapeada para a porta 80 do servidor.

Para verificar se o contêiner está em execução:

pouch ps -a

A saída deve ser a seguinte:

[root@pouch ~]# pouch ps -a
Name        ID       Status       Created          Image                                          Runtime
webserver   ad50b8   created      13 seconds ago   registry.hub.docker.com/library/nginx:latest   runc

O Nginx agora pode estar acessível na porta 80 do host:

Para executar comandos nativos em um contêiner, use pouch exec:

$ pouch exec -it <container> [command]
# Example
$ pouch exec -it webserver /bin/bash

Comandos básicos de gerenciamento do PouchContainer

Outros comandos básicos de uso do PouchContainer incluem:

$ pouch version
Version:         1.3.0
APIVersion:      1.24
Arch:            amd64
BuildTime:       2019-06-13T11:25:25+00:00
GitCommit:       1.3.0
GoVersion:       go1.10.4
KernelVersion:   3.10.0-1127.el7.x86_64
Os:              linux

1. Puxar bolsa

Uso: puxador de bolsa

[root@pouch ~]# pouch pull ubuntu
registry.hub.docker.com/library/ubuntu:latest:                                    resolved       |++++++++++++++++++++++++++++++++++++++| 
index-sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537:    done           |++++++++++++++++++++++++++++++++++++++| 
manifest-sha256:2e70e9c81838224b5311970dbf7ed16802fbfe19e7a70b3cbfa3d7522aa285b4: done           |++++++++++++++++++++++++++++++++++++++| 
layer-sha256:b6a83d81d1f4f942d37e1f17195d9c519969ed3040fc3e444740b884e44dec33:    done           |++++++++++++++++++++++++++++++++++++++| 
layer-sha256:d72e567cc804d0b637182ba23f8b9ffe101e753a39bf52cd4db6b89eb089f13b:    done           |++++++++++++++++++++++++++++++++++++++| 
layer-sha256:0f3630e5ff08d73b6ec0e22736a5c8d2d666e7b568c16f6a4ffadf8c21b9b1ad:    done           |++++++++++++++++++++++++++++++++++++++| 
config-sha256:9140108b62dc87d9b278bb0d4fd6a3e44c2959646eb966b86531306faa81b09b:   done           |++++++++++++++++++++++++++++++++++++++| 
elapsed: 12.3s                                                                    total:  27.2 M (2.2 MiB/s)                                       

2. corrida de bolsa

Uso: bolsa run -it

Este comando é usado para criar um contêiner a partir de uma imagem

[root@pouch ~]# pouch run -it  ubuntu
root@f4abc5c8966b:/# 

Mostrar lista de imagens de bolsas armazenadas localmente

pouch images

3. Pare o recipiente da bolsa:

Pare o contêiner primeiro usando a sintaxe:

pouch stop <container>
# Example
pouch stop webserver

4. Remover contêiner

Para remover um contêiner use a sintaxe do comando:

pouch rm <container>

por exemplo

pouch rm webserver

5. commit de bolsa

Uso:

docker commit <conatainer id> <username/imagename>

Este comando cria uma nova imagem de um contêiner editado no sistema local

Configuração do Daemon de bolsa

Com o arquivo de configuração do daemon, um usuário pode definir sinalizadores para o pouchd: uma ferramenta de linha de comando do lado do servidor.

Com o PouchContainer, existem duas maneiras de os usuários passarem sinalizadores para o daemon:

  1. Executando o pouchd diretamente com sinalizadores especificados, por exemplo, pouchd -c /var/run/containerd.sock,
  2. Usando o arquivo de configuração do daemon.

Os sinalizadores do Pouchd podem ser encontrados em https://github.com/alibaba/pouch/blob/master/docs/commandline/pouchd.md

Configurando o arquivo de configuração do pouchd:

Recomenda-se aos usuários definir o sinalizador do daemon por meio do arquivo de configuração do daemon, o caminho padrão para o arquivo de configuração é /etc/pouch/config.json, você pode alterá-lo configurando o valor de --config- arquivo

Formato de tempo de execução

Se o usuário quiser adicionar mais tempo de execução ao pouchd, adicione como:

{
    "add-runtime": {
        "runc": {
            "path": "/usr/local/bin/runc",
            "runtimeArgs": [
                "--debug"
            ]
        }
    }
}

Etapas para configurar o arquivo de configuração

  1. Instalar o PouchContainer
  2. Edite o arquivo de configuração do daemon, como:
{
    "image-proxy": "http://127.0.0.1:65001",
    "debug": false
}

3. Inicie o serviço de bolsa:

systemctl start pouch

Como desinstalar a bolsa

No Ubuntu:

sudo apt-get purge pouch

No CentOS

sudo yum remove pouch

Depois de executar o comando remove, imagens, contêineres, volumes ou arquivos de configuração customizados em seu host não serão removidos automaticamente. Para excluir todas as imagens, contêineres e volumes, execute o seguinte comando:

sudo rm -rf /var/lib/pouch

Conclusão

PouchContainer é uma das melhores tecnologias de contêineres. Ele tem muitas vantagens sobre a tecnologia de VM legada e muitos recursos que você realmente gostaria de explorar. Abordaremos mais recursos do PouchContainer em outros artigos deste site. Fique à vontade para deixar uma mensagem se tiver alguma sugestão sobre a tecnologia ou se encontrar algum problema durante o processo de instalação.

Artigos relacionados: