Skip to content

Glossary

Plesk/LAMP vocabulary on the left, Kubernetes/GitOps equivalent on the right, in alphabetical order.

Term (old world)Term (new world)Notes
.htaccessIngress/IngressRoute annotationRewrites, redirects, auth — all live in the Ingress resource
Apache/nginx vhostIngress + ServiceIngress owns the hostname, Service owns the routing to pods
Auto-scaling (never had it in Plesk)KEDA ScaledObject + cluster-autoscalerKEDA scales pods, autoscaler scales nodes
Backup (mysqldump on a cron)Backup + PhysicalBackup CRs (mariadb-operator)Scheduled via CR, uploads to S3 bucket ecn-private/wecare/mariadb-*-backup/
cPanel / Plesk web UIArgoCD web UI + Grafana + Google Chat alertsSpread across tools, each specialising
Cron jobCronJob resourceSame schedule syntax (0 4 * * *)
Database (self-hosted MySQL)MariaDB CR (mariadb-operator)Primary + replica, MaxScale in front, operator-managed
Disk space on /var/www/PersistentVolumeClaim ("PVC")Per-workload, attached to a specific pod/StatefulSet
DNS records (in panel)Cloudflare DNS + Cloudflared tunnelDNS in Cloudflare dashboard, internal routing via tunnel
FTP upload of new codeNew image tag pushed to registry + commit to manifests repoArgoCD syncs, pods roll automatically
HostnameIngress spec.rules[].hoste.g. www.wecare.gr
Let's Encrypt (Plesk button)cert-manager with DNS01 challenge via CloudflareRenewals fully automatic
Logs (tail -f /var/log/...)kubectl logs -f + Loki in GrafanaSee Check app status
memcached/Redis (on same box as app)RedisReplication CR + Sentinel (opstree redis-operator)Separate pods with master/replica failover
Password (stored in panel DB)Kubernetes Secret, encrypted via Sealed SecretsSee Secrets & Bitwarden
PHP config (Plesk UI)ConfigMap mounted as php.iniEdit YAML, commit, pods restart automatically via Reloader
phpMyAdmin (web UI)kubectl exec into MariaDB pod + mysql CLI, or port-forward the (usually disabled) phpmyadmin deploymentDirect UI is offline by default for security
Process manager (supervisord)Deployment + StatefulSet controllersK8s restarts pods that die
Provisioning a new customer siteClient onboarding via the client-onboarder Claude agentSee Add a client
Raw disk volumePersistentVolume ("PV")K8s-level abstraction; PVCs claim PVs
Reboot the serverDrain node → reboot → uncordonkured handles this automatically; Terraform node-replace if replacing the VM outright. The legacy reboot.yml Ansible playbook is a fallback. See Reboot & patch
Restart Apachekubectl rollout restart deploy/<name> (imperative) or edit ConfigMap → Reloader auto-restartsRare — usually not needed
Root passwordkubeconfig + BitwardenNo literal "root" on a node; cluster access is via kubeconfig
Running processPodSmallest unit K8s schedules
Service status (systemctl status)kubectl get pods + kubectl describe podSee Check app status
Shared serverKubernetes clusterInstead of one box, a fleet
SSH into serverkubectl exec -it <pod> -- shOnly inside a pod; no literal SSH
Staging siteA separate overlay (kustomize) or separate namespaceWe use both patterns depending on app
System update (apt update && apt upgrade)kured (automated); legacy apt_update_and_upgrade.yml Ansible playbook as last-resort fallbackFully automatic in normal operation
Traffic spike → upgrade planKEDA scales pods, cluster-autoscaler creates more nodesHappens on its own; see Scale the cluster
Uptime monitoring (external ping)Blackbox-exporter → Probe CR → Prometheus → Alertmanager → Google ChatSee External probes
Virtual host config fileIngress YAML + sometimes an nginx sidecar ConfigMapWe have both — nginx sits in front of PHP-FPM inside the pod
What's running on the box?kubectl get pods -A (across all namespaces)Shows the fleet-wide view

Kubernetes-native terms (things Plesk didn't have)

TermPlain English
PodOne running "thing" — 1-N containers together
Deployment"Keep N copies of this pod running"
StatefulSetLike a Deployment, but each pod has a stable identity and its own disk (for databases)
ServiceStable network address for a set of pods
IngressPublic URL → Service routing
NamespaceFolder of related resources
ConfigMapKey/value blob mounted into pods as files or env vars
SecretLike ConfigMap, but encrypted at rest
CRD"Custom Resource Definition" — a new kind of resource added by an extension
OperatorA program that watches a CRD and reconciles reality to match
SidecarA secondary container in a pod that does something auxiliary (metrics, log shipping, proxy)
Labels / SelectorsHow one resource finds another. Everything uses them
FinalizerA "wait, don't delete me until I clean up" hook
Taint / Toleration"This node repels pods" / "This pod is OK with that node's repellent" — used to dedicate nodes per tenant
Affinity / Anti-affinity"Prefer/avoid landing on pods with these labels"
GitOpsThe repo is the source of truth; a controller reconciles the cluster to it
Self-heal (ArgoCD)ArgoCD reverts manual changes back to what the repo says
Sync wave (ArgoCD)Ordering hint — lower waves apply first
ignoreDifferences (ArgoCD)"Treat these fields as managed externally, don't revert them"

Further reading

Internal documentation — Advisable only