diff --git a/README.md b/README.md index a42b573d61b..1ff937522e1 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,8 @@ The following settings are optional and allow you to further configure your clus * `settings.kubernetes.registry-burst`: The maximum size of bursty pulls. * `settings.kubernetes.event-qps`: The maximum event creations per second. * `settings.kubernetes.event-burst`: The maximum size of a burst of event creations. +* `settings.kubernetes.kube-api-qps`: The QPS to use while talking with kubernetes apiserver. +* `settings.kubernetes.kube-api-burst`: The burst to allow while talking with kubernetes. You can also optionally specify static pods for your node with the following settings. Static pods can be particularly useful when running in standalone mode. diff --git a/Release.toml b/Release.toml index 27167520a6b..f2cd6d1f0e4 100644 --- a/Release.toml +++ b/Release.toml @@ -45,4 +45,5 @@ version = "1.0.8" "migrate_v1.1.0_shared-containerd-configs.lz4", "migrate_v1.1.0_kubelet-event-qps-event-burst.lz4", "migrate_v1.1.0_schnauzer-paws.lz4", + "migrate_v1.1.0_kubelet-kube-api-qps-kube-api-burst.lz4", ] diff --git a/packages/kubernetes-1.16/kubelet-config b/packages/kubernetes-1.16/kubelet-config index c5f4d93177b..1daa1a51f73 100644 --- a/packages/kubernetes-1.16/kubelet-config +++ b/packages/kubernetes-1.16/kubelet-config @@ -52,6 +52,12 @@ eventRecordQPS: {{settings.kubernetes.event-qps}} {{~#if settings.kubernetes.event-burst includeZero=true}} eventBurst: {{settings.kubernetes.event-burst}} {{~/if}} +{{~#if settings.kubernetes.kube-api-qps includeZero=true}} +kubeAPIQPS: {{settings.kubernetes.kube-api-qps}} +{{~/if}} +{{~#if settings.kubernetes.kube-api-burst includeZero=true}} +kubeAPIBurst: {{settings.kubernetes.kube-api-burst}} +{{~/if}} kubeReserved: cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}" {{~#if settings.kubernetes.kube-reserved.memory}} diff --git a/packages/kubernetes-1.17/kubelet-config b/packages/kubernetes-1.17/kubelet-config index e45e2654e89..0a2f22c07e0 100644 --- a/packages/kubernetes-1.17/kubelet-config +++ b/packages/kubernetes-1.17/kubelet-config @@ -52,6 +52,12 @@ eventRecordQPS: {{settings.kubernetes.event-qps}} {{~#if settings.kubernetes.event-burst includeZero=true}} eventBurst: {{settings.kubernetes.event-burst}} {{~/if}} +{{~#if settings.kubernetes.kube-api-qps includeZero=true}} +kubeAPIQPS: {{settings.kubernetes.kube-api-qps}} +{{~/if}} +{{~#if settings.kubernetes.kube-api-burst includeZero=true}} +kubeAPIBurst: {{settings.kubernetes.kube-api-burst}} +{{~/if}} kubeReserved: cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}" {{~#if settings.kubernetes.kube-reserved.memory}} diff --git a/packages/kubernetes-1.18/kubelet-config b/packages/kubernetes-1.18/kubelet-config index e45e2654e89..0a2f22c07e0 100644 --- a/packages/kubernetes-1.18/kubelet-config +++ b/packages/kubernetes-1.18/kubelet-config @@ -52,6 +52,12 @@ eventRecordQPS: {{settings.kubernetes.event-qps}} {{~#if settings.kubernetes.event-burst includeZero=true}} eventBurst: {{settings.kubernetes.event-burst}} {{~/if}} +{{~#if settings.kubernetes.kube-api-qps includeZero=true}} +kubeAPIQPS: {{settings.kubernetes.kube-api-qps}} +{{~/if}} +{{~#if settings.kubernetes.kube-api-burst includeZero=true}} +kubeAPIBurst: {{settings.kubernetes.kube-api-burst}} +{{~/if}} kubeReserved: cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}" {{~#if settings.kubernetes.kube-reserved.memory}} diff --git a/packages/kubernetes-1.19/kubelet-config b/packages/kubernetes-1.19/kubelet-config index e03c889d236..5c0d40b7472 100644 --- a/packages/kubernetes-1.19/kubelet-config +++ b/packages/kubernetes-1.19/kubelet-config @@ -52,6 +52,12 @@ eventRecordQPS: {{settings.kubernetes.event-qps}} {{~#if settings.kubernetes.event-burst includeZero=true}} eventBurst: {{settings.kubernetes.event-burst}} {{~/if}} +{{~#if settings.kubernetes.kube-api-qps includeZero=true}} +kubeAPIQPS: {{settings.kubernetes.kube-api-qps}} +{{~/if}} +{{~#if settings.kubernetes.kube-api-burst includeZero=true}} +kubeAPIBurst: {{settings.kubernetes.kube-api-burst}} +{{~/if}} kubeReserved: cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}" {{~#if settings.kubernetes.kube-reserved.memory}} diff --git a/packages/kubernetes-1.20/kubelet-config b/packages/kubernetes-1.20/kubelet-config index 9340c044767..372cc2d5b73 100644 --- a/packages/kubernetes-1.20/kubelet-config +++ b/packages/kubernetes-1.20/kubelet-config @@ -52,6 +52,12 @@ eventRecordQPS: {{settings.kubernetes.event-qps}} {{~#if settings.kubernetes.event-burst includeZero=true}} eventBurst: {{settings.kubernetes.event-burst}} {{~/if}} +{{~#if settings.kubernetes.kube-api-qps includeZero=true}} +kubeAPIQPS: {{settings.kubernetes.kube-api-qps}} +{{~/if}} +{{~#if settings.kubernetes.kube-api-burst includeZero=true}} +kubeAPIBurst: {{settings.kubernetes.kube-api-burst}} +{{~/if}} kubeReserved: cpu: "{{kube_reserve_cpu settings.kubernetes.kube-reserved.cpu}}" {{~#if settings.kubernetes.kube-reserved.memory}} diff --git a/sources/Cargo.lock b/sources/Cargo.lock index 5ea50366aa2..4ca3294a42e 100644 --- a/sources/Cargo.lock +++ b/sources/Cargo.lock @@ -1396,6 +1396,13 @@ dependencies = [ "migration-helpers", ] +[[package]] +name = "kubelet-kube-api-qps-kube-api-burst" +version = "0.1.0" +dependencies = [ + "migration-helpers", +] + [[package]] name = "kubelet-registry-qps-registry-burst" version = "0.1.0" diff --git a/sources/Cargo.toml b/sources/Cargo.toml index 204565bddf6..21442c155b9 100644 --- a/sources/Cargo.toml +++ b/sources/Cargo.toml @@ -30,6 +30,7 @@ members = [ "api/migration/migrations/v1.1.0/shared-containerd-configs", "api/migration/migrations/v1.1.0/kubelet-event-qps-event-burst", "api/migration/migrations/v1.1.0/schnauzer-paws", + "api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst", "bottlerocket-release", diff --git a/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/Cargo.toml b/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/Cargo.toml new file mode 100644 index 00000000000..2022b26b1e5 --- /dev/null +++ b/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "kubelet-kube-api-qps-kube-api-burst" +version = "0.1.0" +authors = ["Tianhao Geng "] +license = "Apache-2.0 OR MIT" +edition = "2018" +publish = false +# Don't rebuild crate just because of changes to README. +exclude = ["README.md"] + +[dependencies] +migration-helpers = { path = "../../../migration-helpers" } diff --git a/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/src/main.rs b/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/src/main.rs new file mode 100644 index 00000000000..ae42d43d25f --- /dev/null +++ b/sources/api/migration/migrations/v1.1.0/kubelet-kube-api-qps-kube-api-burst/src/main.rs @@ -0,0 +1,24 @@ +#![deny(rust_2018_idioms)] + +use migration_helpers::common_migrations::AddSettingsMigration; +use migration_helpers::{migrate, Result}; +use std::process; + +/// We added two new settings for configuring kubelet, `settings.kubernetes.kube-api-qps` +/// and `settings.kubernetes.kube-api-burst` +fn run() -> Result<()> { + migrate(AddSettingsMigration(&[ + "settings.kubernetes.kube-api-qps", + "settings.kubernetes.kube-api-burst", + ])) +} + +// Returning a Result from main makes it print a Debug representation of the error, but with Snafu +// we have nice Display representations of the error, so we wrap "main" (run) and print any error. +// https://github.com/shepmaster/snafu/issues/110 +fn main() { + if let Err(e) = run() { + eprintln!("{}", e); + process::exit(1); + } +} diff --git a/sources/models/src/lib.rs b/sources/models/src/lib.rs index b1adff1f72f..0eafffda6f3 100644 --- a/sources/models/src/lib.rs +++ b/sources/models/src/lib.rs @@ -143,6 +143,8 @@ struct KubernetesSettings { registry_burst: i32, event_qps: i32, event_burst: i32, + kube_api_qps: i32, + kube_api_burst: i32, // Settings where we generate a value based on the runtime environment. The user can specify a // value to override the generated one, but typically would not.