KERYN fleet · previzualizarepreview

Fișierul keryn.yamlThe keryn.yaml file

AplicațiiApps

O aplicație este un container cu replici, resurse, verificări de sănătate și, opțional, domenii publice.

An app is a container with replicas, resources, health checks and, optionally, public domains.

CâmpuriFields

CâmpImplicitDescriere
image—imaginea containerului; recomandat fixată prin amprentă (@sha256:…)
build—construire din cod sursă în registrul grupului (poartă deschisă)
port8080portul pe care ascultă containerul
replicas10–50
domains[]domenii publice cu TLS automat
privatefalsefără port public; accesibilă doar în grup
env{}variabile de mediu fără caracter secret
secrets[]numele secretelor injectate ca variabile
health—path sau tcp, initial_delay, period
resourcescpu 250m, memory 256Miplus gpu 0–8
volumes[]name, path, size (implicit 1Gi)
scratch[]directoare temporare care pot fi scrise
command—comanda containerului, ca listă
host—fixează aplicația pe o anumită gazdă
schedule—expresie cron cu 5 câmpuri; vedeți Joburi
FieldDefaultDescription
image—container image; pinning by digest (@sha256:…) is recommended
build—build from source into the cluster registry (open gate)
port8080port the container listens on
replicas10–50
domains[]public domains with automatic TLS
privatefalseno public port; reachable only in the cluster
env{}non-secret environment variables
secrets[]names of secrets injected as variables
health—path or tcp, initial_delay, period
resourcescpu 250m, memory 256Miplus gpu 0–8
volumes[]name, path, size (default 1Gi)
scratch[]writable temporary directories
command—container command, as a list
host—pins the app to a specific host
schedule—5-field cron expression; see Jobs

Verificări de sănătateHealth checks

Keryn generează o verificare de pregătire și una de funcționare. Traficul ajunge la o replică doar după ce verificarea de pregătire trece; o replică blocată este repornită.

Keryn generates a readiness and a liveness check. Traffic reaches a replica only after readiness passes; a stuck replica is restarted.

health:
  path: /healthz      # sau tcp: true / or tcp: true
  initial_delay: 5
  period: 10

Securitate implicităDefault security

  • Containerul rulează fără drepturi de administrator, cu toate capabilitățile eliminate și profil seccomp implicit.
  • Sistemul de fișiere este doar pentru citire; /tmp și directoarele scratch sunt singurele care pot fi scrise.
  • Contul de serviciu Kubernetes nu este montat în container.
  • The container runs without root, with all capabilities dropped and the default seccomp profile.
  • The filesystem is read-only; /tmp and the scratch directories are the only writable ones.
  • The Kubernetes service account is not mounted into the container.

Imagini care cer drepturi de administratorImages that need root

Unele imagini publice pornesc ca root și vor fi refuzate. Folosiți variante fără privilegii, cum ar fi nginxinc/nginx-unprivileged.

Some public images start as root and will be refused. Use unprivileged variants such as nginxinc/nginx-unprivileged.