[Epic] Kubernetes Operator Core Functionality Enhancements (PKOv2)
Overview
Usage of the Pulumi Kubernetes Operator (PKO) has high friction due to a number of challenges for users. There are numerous performance enhancements that could be adopted by PKO, metrics and logging can sometimes be lacking as well as multi-tenancy concerns. We believe that targeted investments in this project can improve the user experience for users materially. By strengthening our core functionality, we can confidently embark on more ambitious innovations within PKO in the future.
Effort: 5 eng weeks
Key KPIs
- Numerous top-voted enhancement requests can be closed, which pertain to scalability and isolation concerns.
- Significantly improved stack reconciliation performance, esp. in use cases involving numerous stacks, long-running or complex stacks, slow-changing dependencies and/or source code, and period reconciliations.
- multi-tenancy support within a Kubernetes cluster; stacks are significantly more isolated across namespaces, using a dedicated execution environment, no cross-namespace secret exposure, and non-root execution.
Key Stakeholders
Engineers: @EronWright
Approvers: @mjeffryes
Key Deliverables
- An RPC server providing an "automation" API for stack operations.
- A Kubernetes operator providing low-level automation primitives - a
Workspaceto provision an execution environment for a given program, anUpdateto drive one deployment operation against a given workspace, etc. - A revised Stack operator that use the lower-level primitives to reconcile its stacks. The Stack API may see some changes to accommodate the architecture change.
- A new "v2 beta" release of the operator, with supporting materials (blog post, migration guide).
References 📔
- [x] Project View
- [ ] PR/FAQ
- [x] Design Doc
- [ ] UX Designs
- [ ] Decision Log
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/606
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/607
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/606
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/612
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/613
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/573
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/576
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/607
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/608
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/609
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/610
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/611
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/616
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/461
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/617
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/618
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/619
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/615
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/621
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/515
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/501
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/549
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/78
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/498
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/564
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/451
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/521
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/447
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/627
Adding item https://github.com/pulumi/pulumi-kubernetes-operator/issues/620