Como depurar com a caixa de ferramentas CoreOS

Pode ser preciso instalar outros pacotes ou ferramentas no Container-Optimized OS para certas tarefas, como a depuração. Embora o Container-Optimized OS não inclua um gerenciador de pacotes, você pode usar o utilitário Caixa de ferramentas CoreOS para instalar qualquer pacote ou ferramenta adicional que precisar. O /usr/bin/toolbox é o método preferencial para instalar e executar ferramentas de depuração únicas.

/usr/bin/toolbox essencialmente oferece a você um shell em um ambiente do Debian parecido com o chroot. Ao chamar /usr/bin/toolbox, ele executa os seguintes comandos:

  1. docker pull e docker create para configurar o ambiente. Eles são executados somente na primeira vez que você chama /usr/bin/toolbox.
  2. systemd-nspawn para executar o comando pretendido ou, na ausência de um comando, fornecer um shell.

toolbox tem outras propriedades que você precisa lembrar:

  • Chamar toolbox após a primeira chamada não exige um daemon do Docker em execução e não causa sobrecarga de rede/disco.
  • O ambiente da toolbox é configurado uma vez para cada usuário que a chamar. Execute sudo toolbox para defini-lo para o usuário root.
  • O ambiente da toolbox é criado em /var/lib/toolbox e persiste entre as reinicializações.
  • Você pode acessar seções do sistema de arquivos raiz, como os diretórios principais do usuário, a partir do ambiente da toolbox.

Como personalizar a caixa de ferramentas para sua implantação

Você pode personalizar a imagem do Docker que a toolbox usa, assim como os caminhos disponíveis para a toolbox no sistema de arquivos raiz. Essas configurações estão localizadas no arquivo /etc/default/toolbox. O arquivo /etc/default/toolbox padrão geralmente é assim:

TOOLBOX_DOCKER_IMAGE="gcr.io/google-containers/toolbox"
TOOLBOX_DOCKER_TAG="20161110-02"
TOOLBOX_BIND="--bind=/:/media/root/ --bind=/mnt/disks/:/media/root/mnt/disks/ --bind=/var/:/media/root/var/ --bind=/home:/media/root/home/"
  • As variáveis TOOLBOX_DOCKER_IMAGE e TOOLBOX_DOCKER_TAG especificam a imagem do Docker a ser usada. O padrão gcr.io/google-containers/toolbox é fornecido com algumas ferramentas comuns pré-instaladas, como a ferramenta de linha de comando gcloud.
  • A variável TOOLBOX_BIND especifica os caminhos do rootfs que precisam ser disponibilizados no ambiente da caixa de ferramentas.

Para alterar as configurações padrão, modifique o arquivo /etc/default/toolbox ou especifique novos valores para as variáveis em ${HOME}/.toolboxrc para o usuário adequado da seguinte maneira:

    echo "TOOLBOX_DOCKER_IMAGE=fedora" > "${HOME}/.toolboxrc"
    echo "TOOLBOX_DOCKER_TAG=latest" >> "${HOME}/.toolboxrc"

Como instalar e executar ferramentas a partir da caixa de ferramentas

Depois de chamar o utilitário da caixa de ferramentas para iniciar o shell, você pode usar apt-get dentro do contêiner resultante para instalar pacotes. Por exemplo:

# Inside the toolbox shell
apt-get update && apt-get install -y htop psmisc
htop
pstree -p

Você também pode usar uma notação abreviada para chamar ferramentas da caixa de ferramentas. Por exemplo, para instalar e executar o utilitário strace para monitorar a execução de um processo em execução:

toolbox apt-get install -y strace
toolbox strace -p `pidof docker`

Para executar a ferramenta de linha de comando gcloud pré-instalada, verifique se a instância tem escopos suficientes para acessar as várias APIs.

# Inside the toolbox shell
which gcloud
/google-cloud-sdk/bin/gcloud

# View installed components
gcloud components list

Your current Cloud SDK version is: 134.0.0
The latest available version is: 141.0.0
...
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Container-Optimized OS