github.com/gocrane/crane@v0.11.0/docs/proposals/20220706-universal-resource-optimization.md (about) 1 # Universal Resource Optimization 2 - Universal Resource Optimization provide a consistence progress to optimize variable kinds of resources in kubernetes. The progress should be Pluggable and support Multi-Cloud. 3 4 ## Table of Contents 5 6 <!-- TOC --> 7 8 9 <!-- /TOC --> 10 ## Motivation 11 Currently, we use `Analytics` and `Recommendation` to provide a recommendation service for workloads in cluster. Kubernetes' users use the recommendation to optimize the resource configuration and reduce their cost. 12 But the recommendations have some limitations now: 13 14 1. Multiple Analytics can select some same resources, it's confused and unnecessary to have two recommendation for the same resource. 15 2. We need to support more kinds of resources, for example, scan for idle load balancers. 16 3. We need to make the progress Pluggable to support different user in difference clouds. 17 18 ### Goals 19 20 - Global analytics rules 21 - Easy to know the recommendation for my resource 22 - Consistence progress for all resource recommendation 23 - Plugin mechanism to support Multi-Cloud 24 25 ### Non-Goals 26 27 - Cloud Resources that not included in kubernetes 28 29 ## Proposal 30 31 Recommendation Definition 32 33 Recommendation Framework 34 35 ### User Stories 36 37 #### Story 1 38 As a Serverless customer, I want to know the suitable requests and limits for my deployments, the result should be fit the existing pod model(e.g. 2c4g, 1c1g) in my cloud production. 39 #### Story 2 40 As an Aliyun ACK customer, I want to know whether there is a waste of LoadBalances in my cluster and delete them if exists. 41 #### Story 3 42 As a container platform user, I want to integrate optimize recommendation to my platform and optimize my cluster within my CICD pipeline. 43 44