-
Notifications
You must be signed in to change notification settings - Fork 69
Multi Tenancy Roadmap
hwchen edited this page Aug 5, 2020
·
52 revisions
This section lists a brief overview of the release theme of each milestone, and the key features delivered by the milestone.
The details of each milestone and the execution status are listed in the next section.
Milestone | Theme & Key Features |
---|---|
130 | Initial features (tenant object & tenant space) |
330 | Cluster Virtualization & Access Control |
430 | Multi-tenancy controllers and CRD isolation |
530 | Multi-tenancy networking & Multi-tenancy controllers |
630 | Multi-tenancy networking |
Post 630 | P2 Features (tenant-level rate limiting, cross-tenant access, etc) |
- New API object "tenant" in system space
- TenantName in ObjectMeta type.
- Key path of the resources in etcd with tenant
- Self-links with tenant info included
- Tenant resource url resolution and access control
- Client-go changes to support tenancy
- Tenancy-aware scheduler
- Tenancy-aware replicaSet controller
- Tenancy-aware deployment controller
- Support Kata to provide OS kernel isolation
- Short path for tenant space resources in endpoint handler
- Tenancy-aware certificate authenticator
- Tenancy-aware token authenticator
- Tenancy-aware RBAC authorizer
- Tenant context in kube-config
- Tenancy-level API resource discovery
- Add tenant controller
- CRD Isolation among tenants
- Tenancy-aware job controller
- Tenancy-aware volume (pv/pvc) controller
- Tenancy-aware scheduler & kubelet for volume control
- New API object "network"
- Multi-tenancy CRD resource discovery
- Default tenant role binding
- Support tenant.All
- Tenancy-aware statefulSet controller
- Tenancy-aware daemonset controller
- Tenancy-aware service controller
- Tenancy-aware cronjob controller
- Endpoints design proposal
- Tenant controller to bootstrap default network
- Bug Bash
- Stabilization Improvement
- Check tenant existence during request processing
- Tenant controller: tenant deletion
- Tenancy-aware resource quota controller
- "--tenant" command-line option for patch and other verbs in Kubectl
- containerd changes to pass tenant & extra CNI arguments
- virtlet changes to pass tenant & extra CNI arguments
- Mizar network provider can be deployed
- runtime changes for CNI integration
- Kubelet changes to wait on readiness
- API Server changes for service IP
- DNS changes
- Support more verbs in Kubectl
- E2E test for kubectl
- Define the expected behavior: node (virtual node?), daemonSet, Local PV/PV provisioner for tenant users, system CRDs(like rook) in tenant spaces
- service IPAM: external provider
- service IPAM: default provider (Arktos API Server)
- Endpoint of "kubernetes" read-only sharing across all tenant
- DNS alias of per-network service for "Kubernetes" and "Kube-DNS"
- Per-network DNS pod auto deployment
- Integration with Mizar network provider
- Refactoring: Set objectMeta.tenant for all objects (not urgent)
- Tenant-level Resource quota
- Cross-tenant access
- Remaining controllers for multi-tenancy
- Tenant-level rate limiting
- Tenant-level usage metrics/statistics
- flat network: kube-proxy to support multi-tenancy
- Flat network: multi-tenancy kube-proxy
- Flat network: policy-based network isolation
- Arktos network operator deployment