> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Hiekkalaatikkokäännökset

> Käännä LaTeXia TeX Live -konteissa Kubernetes-klusterin solmuilla.

Käännökset suorittaa jokaisen Ayakaleaf Pro -podin sisällä toimiva **clsi**-palvelu. Kun hiekkalaatikkokäännökset ovat käytössä, clsi pyytää sen **solmun Docker Engineä**, jolla podi toimii, käynnistämään jokaista käännöstä varten TeX Live -kontin ja antaa sille projektin hakemiston sen solmulla olevan polun perusteella. Hiekkalaatikoinnin toiminta ja saatavilla olevat imaget on kuvattu sivulla [Hiekkalaatikkokäännökset](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/overleaf-toolkit/sandboxed-compiles.md).

| | |
| - | - |
| Palvelu | clsi (käännökset), web (imageluettelo kääntäjäasetuksissa), jokaisessa Ayakaleaf Pro -podissa |
| Solmu | Docker Engine ja jokainen `ALL_TEX_LIVE_DOCKER_IMAGES`-asetuksen image jokaisella solmulla, joka voi ajaa Ayakaleaf Prota |
| Podin liitokset | `/var/run/docker.sock` sekä käännös-, tuloste- ja välimuistihakemistot `hostPath`-taltioina |
| Ajastetut tehtävät | clsi poistaa käännöshakemistot, joita ei ole käytetty päivään, ja poistaa joka tunti vanhat TeX Live -kontit solmun Dockerista |

### Konfigurointi

Asennus määrittää kaiken: Dockerin ja imaget solmuille sivulla [0. Solmujen valmistelu](https://ayakaleaf-pro.mintlify.site/fi/on-premises/installation/using-kubernetes/0.-prepare-the-nodes.md), asetukset sivulla [4. Instanssin mukauttaminen](https://ayakaleaf-pro.mintlify.site/fi/on-premises/installation/using-kubernetes/4.-personalizing-your-instance.md) ja taltiot sivulla [5. Ayakaleaf Pron käyttöönotto](https://ayakaleaf-pro.mintlify.site/fi/on-premises/installation/using-kubernetes/5.-deploy-ayakaleaf-pro.md). Asetukset, kaikki ConfigMapissa:

| Muuttuja | Arvo |
| - | - |
| `SANDBOXED_COMPILES`, `SANDBOXED_COMPILES_SIBLING_CONTAINERS`, `DOCKER_RUNNER` | `"true"` |
| `SANDBOXED_COMPILES_HOST_DIR_COMPILES` | polkuun `/var/lib/overleaf/data/compiles` liitetyn taltion polku solmulla |
| `SANDBOXED_COMPILES_HOST_DIR_OUTPUT` | polkuun `/var/lib/overleaf/data/output` liitetyn taltion polku solmulla |
| `SANDBOXED_COMPILES_HOST_DIR_CACHE` | polkuun `/var/lib/overleaf/data/cache` liitetyn taltion polku solmulla |
| `ALL_TEX_LIVE_DOCKER_IMAGES`, `ALL_TEX_LIVE_DOCKER_IMAGE_NAMES`, `TEX_LIVE_DOCKER_IMAGE` | imaget, kuten Toolkitissa |

### TeX Live -version lisääminen

**1. Hae image jokaiselle solmulle**

```bash theme={null}
# on each node that can run Ayakaleaf Pro
sudo docker pull ghcr.io/ayaka-notes/texlive-full:2025.1
```

Toolkit hakee imaget itse; Kubernetesissa kukaan ei tee sitä. Hae image **Dockeriin**, älä `crictl`-komennolla: clsi pyytää imagea Dockerilta. Käännös, jonka image puuttuu solmulta, epäonnistuu.

**2. Lisää se ConfigMapiin ja käynnistä uudelleen**

```yaml theme={null}
  ALL_TEX_LIVE_DOCKER_IMAGES: ghcr.io/ayaka-notes/texlive-full:2026.1,ghcr.io/ayaka-notes/texlive-full:2025.1
  ALL_TEX_LIVE_DOCKER_IMAGE_NAMES: TeX Live 2026,TeX Live 2025
  TEX_LIVE_DOCKER_IMAGE: ghcr.io/ayaka-notes/texlive-full:2026.1
```

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

Myöhemmin klusteriin lisätty solmu tarvitsee Dockerin ja kaikki imaget ennen kuin Ayakaleaf Pro toimii siellä. Jos kaikki solmut eivät kelpaa, merkitse sopivat solmut nimiöllä ja pidä Ayakaleaf Pro niillä `nodeSelector`-asetuksella.

### Useita replikoita

Jokainen replika kääntää omalla solmullaan ja säilyttää käännöstulosteen siellä, joten käyttäjän on pysyttävä kääntäneellä replikalla, minkä kuormantasaajan pysyvyyseväste (sticky cookie) varmistaa. Älä koskaan aja kahta replikaa samalla solmulla: ne jakaisivat solmun käännöshakemistot. [Horisontaalisen skaalauksen](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/horizontal-scaling.md) kokoonpano estää tämän `podAntiAffinity`-asetuksella.

TeX Live -kontit toimivat podin rinnalla, sen muistirajan ulkopuolella ja ajoittajan näkymättömissä. Jätä solmuille vapaata muistia niitä varten, katso [0. Solmujen valmistelu](https://ayakaleaf-pro.mintlify.site/fi/on-premises/installation/using-kubernetes/0.-prepare-the-nodes.md).

### Testattu Kubernetesissa

Kubernetes 1.37:ssä kolmella replikalla HAProxyn takana, yksi kullakin solmulla, ja TeX Live 2026 ja 2025 haettuina Dockeriin jokaisella solmulla, hiekkalaatikkokäännösten päästä päähän -testimme menevät läpi (7 tapausta): uusi projekti kääntyy PDF:ksi, kääntäjäasetukset tarjoavat molemmat imaget ja vaihtavat niiden välillä, XeLaTeX fontspecillä, LaTeX-virheet ja uudelleenkääntäminen korjauksen jälkeen, käynnissä olevan käännöksen pysäyttäminen sekä SyncTeX molempiin suuntiin. Kuormitustesti, jossa 12 käyttäjää käänsi 600-sivuista dokumenttia samanaikaisesti, ajoi 4 käännöstä solmua kohden, katso [Mitä odottaa](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/kubernetes/horizontal-scaling.md#what-to-expect).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.