Skip to main content
O Ayakaleaf Pro compila LaTeX em contêineres do TeX Live em sandbox. Ele mesmo os inicia, por meio do socket do Docker da máquina em que é executado. No Kubernetes, isso significa que:
  • cada nó que pode executar o pod do Ayakaleaf Pro tem o Docker Engine instalado e em execução;
  • cada imagem do TeX Live que você configurar é baixada no Docker de cada um desses nós.
O kubelet pode continuar usando o containerd: o Docker Engine inclui o containerd.io, e ambos usam o mesmo daemon em namespaces diferentes.
Pools de nós gerenciados sem Docker (a maioria dos padrões do EKS, GKE e AKS) não conseguem executar Sandboxed Compiles. Use pools de nós em que você possa instalar o Docker Engine, ou rotule esses nós e mantenha o Ayakaleaf Pro neles com um nodeSelector.
As etapas abaixo são para o Ubuntu 24.04 e um cluster criado com o kubeadm. Se o seu cluster já existir, execute as etapas 1, 2 e 5 nos nós que executarão o Ayakaleaf Pro.
1

Módulos do kernel e sysctls

2

Docker Engine

Instale o Docker Engine a partir do repositório do Docker, como em 0. Configurar o Docker. O plugin Compose não é necessário. Isso também instala o containerd.io.
3

containerd para o kubelet

O pacote containerd.io do repositório do Docker vem com o plugin CRI desativado. Grave a configuração padrão completa, que o ativa, e mude-a para cgroups do systemd:
4

kubeadm, kubelet e kubectl

Siga Installing kubeadm e, em seguida, crie o cluster com kubeadm init e kubeadm join e instale um plugin de rede. Por exemplo, com o flannel:
kubeadm-config.yaml
O cluster também precisa de uma StorageClass padrão. Para um cluster de teste, o local-path-provisioner funciona; em produção, use o armazenamento em bloco da sua plataforma (Longhorn, Ceph, um driver CSI de nuvem).
5

Imagens do TeX Live

Em cada nó que pode executar o Ayakaleaf Pro, baixe com o Docker as imagens do TeX Live que você vai listar em ALL_TEX_LIVE_DOCKER_IMAGES, por exemplo:
crictl pull ou ctr não ajudam aqui: o Ayakaleaf Pro pede a imagem ao Docker. As imagens completas são grandes (cerca de 28 GB cada); veja Sandboxed Compiles para a lista. Para um primeiro teste, ghcr.io/ayaka-notes/texlive-basic:2026.1 (cerca de 630 MB, um TeX Live mínimo) é suficiente.

Q&A

Resposta: Somente com SANDBOXED_COMPILES=false. As compilações passam então a ser executadas dentro do contêiner do Ayakaleaf Pro com seu pequeno TeX Live embutido, e os documentos LaTeX podem ler e gravar tudo o que esse contêiner pode. Não recomendamos isso; veja Sandboxed Compiles.
Resposta: Não. Os contêineres do TeX Live são iniciados pelo Docker do nó, fora do pod e fora da visão do kubelet. Deixe memória livre no nó para eles, por exemplo com systemReserved como acima, e não encha o nó com outros pods.
Última modificação em 2 de novembro de 2026