Das pb-CLI
kubectl ist die API für App, ManagedPostgres und ManagedValkey — alles, was pb tut, kann auch ein einfaches kubectl apply, kubectl get oder kubectl delete. pb ist ein kleines Go-Binary, das für drei Dinge existiert, für die kubectl schlecht geeignet ist: ein Deploy, das nur das Image erhöht, eine Statustabelle über alle drei Objektarten plus deine eigenen unverwalteten Objekte, und eine Preview, die mehrere Objekte auf einmal ist.
Globale Flags bei jedem Befehl: --kubeconfig (Standard: die üblichen Kubeconfig-Ladregeln), --context, -n/--namespace (Standard: der Namespace des Kubeconfig-Kontexts, sonst default).
pb app deploy
Abschnitt betitelt „pb app deploy“pb app deploy NAME --image IMAGE [--port PORT] [--plan PLAN] [--wait] [--timeout DURATION]Erstellt die App, wenn sie nicht existiert, oder erhöht ihr spec.image, wenn doch — sonst wird bei einer Erhöhung nichts am Spec angefasst. --port und --plan wirken nur beim Erstellen einer neuen App. --wait (Standard-Timeout 5 Minuten) fragt ab, bis die App Ready ist, und gibt ihre URL aus, oder meldet die letzte Condition-Nachricht, wenn sie fehlschlägt.
pb status
Abschnitt betitelt „pb status“pb status [-A|--all-namespaces]Eine Tabelle: jede App, ManagedPostgres und ManagedValkey im Namespace (oder in jedem Namespace mit -A), mit Phase, Ready/Reconciled/Degraded, einem Endpoint oder einer URL, und der aktuellen Condition-Nachricht — plus deine eigenen handgeschriebenen Knative Services und CNPG Clusters, aufgelistet und klar als unmanaged markiert.
pb preview up / pb preview down
Abschnitt betitelt „pb preview up / pb preview down“pb preview up APP --ref REF [--image IMAGE] [--from-prod] [--ttl DURATION] [--wait] [--timeout DURATION]pb preview down APP --ref REFSiehe Preview-Umgebungen für das, was erstellt wird und wie sich --from-prod und --ttl verhalten.
Geplant
Abschnitt betitelt „Geplant“Diese sind Teil des Designs und noch nicht umgesetzt:
| Befehl | Was er tun wird |
|---|---|
pb login / pb use <cluster> | eine kurzlebige Kubeconfig holen und den Kontext wechseln, ohne separaten Download-Schritt |
pb app promote <name> [--to PERCENT] | spec.traffic für ein Blue/Green-Rollout verschieben, statt es per kubectl zu ändern |
pb pg restore <name> --at <time> | eine wiederhergestellte ManagedPostgres erstellen und ihren Namen ausgeben, statt restoreFrom von Hand zu schreiben |
pb logs | die Pods hinter einer App verfolgen, per Label gematcht |
Kein Befehl tut etwas, das ein Kunde nicht selbst als YAML schreiben könnte — pb ist eine Abkürzung, nie eine eigene Feature-Oberfläche.