K9S is a fast terminal UI for managing Kubernetes clusters. It gives real-time access to resources, pods, logs, and events. With great access comes great risk. Without clear Separation of Duties, any operator can deploy, delete, or modify anything—across all namespaces—without peer review or audit trails.
Separation of Duties in a K9S workflow means defining who can do what, and ensuring those permissions are enforced at the Kubernetes RBAC level. K9S itself is a client. It respects whatever Kubernetes lets the connected user account do. This makes RBAC configuration the foundation of secure K9S usage. You assign service accounts, bind them to roles or cluster roles, and grant the least privilege needed for the job. Developers can view logs, troubleshoot pods, and restart services in their own namespace, while admins handle cluster-wide changes and sensitive deployments.
The principle is simple: no single person should have the power to move code from dev to prod, deploy critical images, and approve their own changes. In Kubernetes terms, this means separating roles like “view,” “edit,” and “admin” to prevent privilege creep. K9S reads these rules directly—if the account can’t do it in Kubernetes, it can’t do it in K9S.