mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 05:57:25 +00:00
Configuration changes
This commit is contained in:
parent
5bf6b0fd70
commit
a86062c259
@ -97,10 +97,14 @@ type Config struct {
|
|||||||
CloudProviderBackoffJitter float64 `json:"cloudProviderBackoffJitter" yaml:"cloudProviderBackoffJitter"`
|
CloudProviderBackoffJitter float64 `json:"cloudProviderBackoffJitter" yaml:"cloudProviderBackoffJitter"`
|
||||||
// Enable rate limiting
|
// Enable rate limiting
|
||||||
CloudProviderRateLimit bool `json:"cloudProviderRateLimit" yaml:"cloudProviderRateLimit"`
|
CloudProviderRateLimit bool `json:"cloudProviderRateLimit" yaml:"cloudProviderRateLimit"`
|
||||||
// Rate limit QPS
|
// Rate limit QPS (Read)
|
||||||
CloudProviderRateLimitQPS float32 `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPS"`
|
CloudProviderRateLimitQPS float32 `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPS"`
|
||||||
// Rate limit Bucket Size
|
// Rate limit Bucket Size
|
||||||
CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucket"`
|
CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucket"`
|
||||||
|
// Rate limit QPS (Write)
|
||||||
|
CloudProviderRateLimitQPSWrite float32 `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPSWrite"`
|
||||||
|
// Rate limit Bucket Size
|
||||||
|
CloudProviderRateLimitBucketWrite int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucketWrite"`
|
||||||
|
|
||||||
// Use instance metadata service where possible
|
// Use instance metadata service where possible
|
||||||
UseInstanceMetadata bool `json:"useInstanceMetadata" yaml:"useInstanceMetadata"`
|
UseInstanceMetadata bool `json:"useInstanceMetadata" yaml:"useInstanceMetadata"`
|
||||||
@ -168,6 +172,10 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||||||
|
|
||||||
// operationPollRateLimiter.Accept() is a no-op if rate limits are configured off.
|
// operationPollRateLimiter.Accept() is a no-op if rate limits are configured off.
|
||||||
operationPollRateLimiter := flowcontrol.NewFakeAlwaysRateLimiter()
|
operationPollRateLimiter := flowcontrol.NewFakeAlwaysRateLimiter()
|
||||||
|
operationPollRateLimiterWrite := flowcontrol.NewFakeAlwaysRateLimiter()
|
||||||
|
|
||||||
|
// If reader is provided (and no writer) we will
|
||||||
|
// use the same value for both.
|
||||||
if config.CloudProviderRateLimit {
|
if config.CloudProviderRateLimit {
|
||||||
// Assign rate limit defaults if no configuration was passed in
|
// Assign rate limit defaults if no configuration was passed in
|
||||||
if config.CloudProviderRateLimitQPS == 0 {
|
if config.CloudProviderRateLimitQPS == 0 {
|
||||||
@ -176,12 +184,29 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||||||
if config.CloudProviderRateLimitBucket == 0 {
|
if config.CloudProviderRateLimitBucket == 0 {
|
||||||
config.CloudProviderRateLimitBucket = rateLimitBucketDefault
|
config.CloudProviderRateLimitBucket = rateLimitBucketDefault
|
||||||
}
|
}
|
||||||
|
if config.CloudProviderRateLimitQPSWrite == 0 {
|
||||||
|
config.CloudProviderRateLimitQPSWrite = rateLimitQPSDefault
|
||||||
|
}
|
||||||
|
if config.CloudProviderRateLimitBucketWrite == 0 {
|
||||||
|
config.CloudProviderRateLimitBucketWrite = rateLimitBucketDefault
|
||||||
|
}
|
||||||
|
|
||||||
operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter(
|
operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter(
|
||||||
config.CloudProviderRateLimitQPS,
|
config.CloudProviderRateLimitQPS,
|
||||||
config.CloudProviderRateLimitBucket)
|
config.CloudProviderRateLimitBucket)
|
||||||
glog.V(2).Infof("Azure cloudprovider using rate limit config: QPS=%g, bucket=%d",
|
|
||||||
|
operationPollRateLimiterWrite = flowcontrol.NewTokenBucketRateLimiter(
|
||||||
|
config.CloudProviderRateLimitQPSWrite,
|
||||||
|
config.CloudProviderRateLimitBucketWrite)
|
||||||
|
|
||||||
|
glog.V(2).Infof("Azure cloudprovider (read ops) using rate limit config: QPS=%g, bucket=%d",
|
||||||
config.CloudProviderRateLimitQPS,
|
config.CloudProviderRateLimitQPS,
|
||||||
config.CloudProviderRateLimitBucket)
|
config.CloudProviderRateLimitBucket)
|
||||||
|
|
||||||
|
glog.V(2).Infof("Azure cloudprovider (write ops) using rate limit config: QPS=%g, bucket=%d",
|
||||||
|
config.CloudProviderRateLimitQPSWrite,
|
||||||
|
config.CloudProviderRateLimitBucketWrite)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
azClientConfig := &azClientConfig{
|
azClientConfig := &azClientConfig{
|
||||||
@ -189,7 +214,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||||||
resourceManagerEndpoint: env.ResourceManagerEndpoint,
|
resourceManagerEndpoint: env.ResourceManagerEndpoint,
|
||||||
servicePrincipalToken: servicePrincipalToken,
|
servicePrincipalToken: servicePrincipalToken,
|
||||||
rateLimiterReader: operationPollRateLimiter,
|
rateLimiterReader: operationPollRateLimiter,
|
||||||
rateLimiterWriter: operationPollRateLimiter,
|
rateLimiterWriter: operationPollRateLimiterWrite,
|
||||||
}
|
}
|
||||||
az := Cloud{
|
az := Cloud{
|
||||||
Config: *config,
|
Config: *config,
|
||||||
|
Loading…
Reference in New Issue
Block a user