Cells for NetBSD – Isolamento semelhante a uma prisão, imposto pelo kernel e com operações fáceis de usar

PUBLICIDADE

Esta seção demonstra um fluxo de trabalho mínimo e reproduzível com o atual
cellmgr superfície de comando.

O exemplo inicializa o host, cria um manifesto de célula desejado para um serviço HTTP simples, inclui um plano de aplicação declarativo, converge o estado do tempo de execução e verifica se a célula está em execução.


1. Integração de host Bootstrap

Inicialize a integração do host, prepare as camadas base e verifique se os pré-requisitos de kernel/tempo de execução necessários estão presentes.

vhost# cellmgr system bootstrap 

2. Crie o manifesto da célula desejada

Crie o manifesto do estado desejado para uma carga de trabalho HTTP. Isso grava a configuração em /etc/cellmgr apenas (--scope desired) e ainda não inicia o serviço.

vhost# cellmgr cell create mysite-edge-httpd \
  --autostart YES \
  --profile medium \
  --reserved-ports 8080 \
  --log-facility local1 \
  --stdout-level info \
  --stderr-level err \
  --log-tag cell-mysite-edge-httpd \
  --cmd '/usr/libexec/httpd -I 8080 -X -f -s /var/www/mysite-edge-httpd' \
  --healthcheck 'test -f /var/www/mysite-edge-httpd/index.html' \
  --scope desired
Created manifest /etc/cellmgr/mysite-edge-httpd.cell

3. Adicionar plano de aplicação declarativa

Defina um pequeno plano de aplicação que crie o conteúdo inicial da web dentro da célula. Os planos são declarativos, versionáveis ​​e executados por cellmgr apply durante a reconciliação.

vhost# vi /etc/cellmgr/mysite-edge-httpd.apply

Conteúdo do plano:

FILE_BEGIN /var/www/mysite-edge-httpd/index.html

        Hello NetBSD

FILE_END

4. Convergir o desejado para o tempo de execução

Execute a reconciliação para renderizar o estado do tempo de execução a partir de manifestos, execute o plano de aplicação, inicie processos de serviço supervisionados e execute a verificação de integridade configurada.

vhost# cellmgr apply
apply: dry-run=NO reapply=NO restart-changed=NO verbose=NO
cell mysite-edge-httpd
  CREATE       render runtime cell state
  APPLY        run /etc/cellmgr/mysite-edge-httpd.apply
  START        supervised service after apply
  HEALTHCHECK  test -f /var/www/mysite-edge-httpd/index.html
  RESULT       changed

summary: cells=1 changed=1 failed=0 dry-run=NO

5. Verifique o estado do tempo de execução

Inspecione a visualização da célula ativa e confirme se a instância está em execução com um CID atribuído e com idade crescente.

vhost# cellmgr cell list -o name,running,cid,age
NAME               RUNNING  CID  AGE
mysite-edge-httpd  YES      1    31s

6. Abra o serviço

Confirme o endpoint HTTP do seu cliente ou navegador:

http://vhost.local:8080/


7. Exportar métricas compatíveis com Prometheus

cellctl stats -P -h emite formato de texto Prometheus com um cabeçalho HTTP mínimo. Isso pode ser conectado inetd para um endpoint de métricas muito leve, sem software exportador adicional.

vhost# cellctl stats -P -h
HTTP/1.1 200 OK
Content-Type: text/plain

# TYPE cell_cpu_ticks_1s gauge
# TYPE cell_cpu_ticks_10s_avg gauge
# TYPE cell_processes_current gauge
# TYPE cell_references_current gauge
# TYPE cell_memory_vmsize_bytes gauge
# TYPE cell_age_seconds gauge
cell_cpu_ticks_1s{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 0
cell_cpu_ticks_10s_avg{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 0
cell_processes_current{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 1
cell_references_current{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 1
cell_memory_vmsize_bytes{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 137601024
cell_age_seconds{cid="2",name="mysite-edge-httpd",root="/var/cellmgr/cells/mysite-edge-httpd/root"} 596

Próximas etapas

Para guias operacionais mais detalhados e material de referência, continue na documentação.

Os documentos ainda estão sendo desenvolvidos, mas já incluem receitas sofisticadas de ponta a ponta, incluindo uma configuração de 3 camadas do MantisBT (três células, vários volumes) e um exemplo de servidor de jogo Luanti.

Fonte: theverge

Mais recentes

PUBLICIDADE

WP Twitter Auto Publish Powered By : XYZScripts.com