Recursos personalizados¶
rendimiento agrega dos recursos de alcance de clúster en el grupo de API rendimiento.ai/v1alpha1. Se generan desde api/v1alpha1/*_types.go en deploy/crds/.
kubectl get apps.rendimiento.ai # o: kubectl get app
kubectl get addons.rendimiento.ai # o: kubectl get radd
¿Por qué radd?
k3s ya tiene un recurso llamado addons (addons.k3s.cattle.io). Un simple kubectl get addons sería ambiguo, así que el nombre corto es radd.
App¶
Un App por cada repositorio incorporado. La plataforma lo escribe (a partir de rendimiento.yaml y de la última versión). El controlador de aplicaciones lo convierte en cargas de trabajo. Rara vez se edita a mano.
| Campo | Significado |
|---|---|
spec.repo |
dueño/nombre en GitHub |
spec.services[] |
los servicios de rendimiento.yaml (especificación) |
spec.jobs[] |
las tareas programadas o de una sola vez |
spec.sharedNamespace |
desplegar en un espacio de nombres existente, compartido con otras cosas |
spec.postgres, spec.redis |
opciones de las bases de datos de needs: |
spec.images |
servicio → referencia de la imagen, fijada por huella |
spec.release |
el número de versión al que pertenecen estas imágenes |
spec.suspend |
dejar de conciliar (los cambios a mano se dejan en paz) |
spec.adopt |
permitir tomar el control de objetos existentes con nombres que coinciden |
status.phase |
WaitingForBuild, Progressing, Healthy, Degraded, Suspended, Error |
status.message |
el porqué, en una línea |
status.release |
la versión que de verdad se aplicó |
status.services[] |
por servicio: réplicas, réplicas listas, imagen, URL, URL de la red local (lanURL) y si el certificado y el DNS están listos |
status.conditions |
las condiciones estándar de Kubernetes |
kubectl get app muestra Phase, Release, Repo y Age.
Addon¶
Un Addon por cada complemento del clúster instalado. Vienen de addons/*.yaml en el repositorio de gitops (ADDONS_REPO), que aplica el sincronizador. El controlador de complementos los genera y los aplica.
| Campo | Significado |
|---|---|
spec.namespace |
a dónde van los objetos |
spec.source.helm |
repo, chart y version de un paquete de Helm |
spec.source.git |
repo, path y revision de manifiestos simples o de una kustomization |
spec.values |
los valores de Helm (texto YAML) |
spec.releaseName |
el nombre de la instalación de Helm (de forma predeterminada, el nombre del complemento); importa al adoptar una instalación existente |
spec.createNamespace |
crear spec.namespace si falta |
spec.adopt |
permitir tomar el control de objetos que ya existen |
spec.allowAdoptChanges |
permitir la adopción aunque cambie objetos vivos (si no, Blocked) |
spec.prune |
borrar los objetos que ya no se generan |
spec.manualSync |
los cambios esperan en OutOfSync hasta que se aprueben |
spec.syncRequest |
se incrementa para aprobar (el botón Sincronizar) |
spec.suspend |
dejar de conciliar |
spec.skipHooks |
no correr los ganchos de Helm |
spec.hookTimeout |
los segundos que puede tardar un gancho |
spec.title, spec.category, spec.description |
cómo aparece en la interfaz |
status.phase |
Pending, Synced, OutOfSync, Blocked, Error, Suspended |
status.revision |
la versión del paquete o la confirmación de git aplicada |
status.objects[] |
el inventario: cada objeto del que es dueño (se usa para podar y desinstalar) |
status.preview |
los conteos de crear, actualizar, sin cambios y podar, con las diferencias de cada objeto |
status.hooks[], status.hookRuns[] |
los ganchos encontrados en el paquete y sus ejecuciones recientes |
status.appliedHash |
la huella de lo que se aplicó; distingue una instalación de una actualización para los ganchos |
status.lastSynced, status.appliedSyncRequest, status.adopted |
contabilidad interna |
La anotación rendimiento.ai/paused: "true" pausa un complemento sin cambiar su especificación. La usan los guiones y la automatización.
kubectl get radd muestra Phase, Namespace, Revision y Age.
Etiquetas y anotaciones¶
| Llave | En | Significado |
|---|---|---|
app.kubernetes.io/managed-by: rendimiento |
todo lo que crea | la propiedad |
rendimiento.ai/app |
los objetos de las aplicaciones | de qué aplicación |
rendimiento.ai/addon |
los objetos de los complementos | de qué complemento |
rendimiento.ai/lan |
los Services <service>-lan |
un balanceador de carga de la red local hecho por lan: |
rendimiento.ai/paused |
Addon | pausar la conciliación |
rendimiento.ai/backup: skip |
PersistentVolumeClaim | no necesita respaldo, a propósito; la comprobación Respaldos de volúmenes lo deja en paz |
metallb.io/loadBalancerIPs |
los Services de la red local | la IP fija que se le pide a MetalLB |