mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
Merge pull request #40797 from apprenda/kubeadm_selfhosted_rollingupdate_params
Automatic merge from submit-queue (batch tested with PRs 40801, 40797) kubeadm: set maxUnavailable and maxSurge for self-hosted component deployments **What this PR does / why we need it**: This PR explicitly specifies `kubeadm` self-hosted components deployment update strategy (`RollingUpdateDeploymentStrategyType`) and its parameters (`maxUnavailable` and `maxSurge`). **Which issue this PR fixes**: Refs https://github.com/kubernetes/kubernetes/pull/40075#discussion_r97107015 Refs https://github.com/kubernetes/kubeadm/issues/127 **Special notes for your reviewer**: /cc @kargakis @luxas **Release note**: ```release-note NONE ```
This commit is contained in:
commit
fe36648062
@ -24,6 +24,7 @@ import (
|
||||
"time"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
"k8s.io/kubernetes/cmd/kubeadm/app/images"
|
||||
@ -32,6 +33,12 @@ import (
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
)
|
||||
|
||||
var (
|
||||
// maximum unavailable and surge instances per self-hosted component deployment
|
||||
maxUnavailable = intstr.FromInt(0)
|
||||
maxSurge = intstr.FromInt(1)
|
||||
)
|
||||
|
||||
func CreateSelfHostedControlPlane(cfg *kubeadmapi.MasterConfiguration, client *clientset.Clientset) error {
|
||||
volumes := []v1.Volume{k8sVolume(cfg)}
|
||||
volumeMounts := []v1.VolumeMount{k8sVolumeMount()}
|
||||
@ -234,6 +241,13 @@ func getControllerManagerDeployment(cfg *kubeadmapi.MasterConfiguration, volumes
|
||||
},
|
||||
Spec: ext.DeploymentSpec{
|
||||
// TODO bootkube uses 2 replicas
|
||||
Strategy: ext.DeploymentStrategy{
|
||||
Type: ext.RollingUpdateDeploymentStrategyType,
|
||||
RollingUpdate: &ext.RollingUpdateDeployment{
|
||||
MaxUnavailable: &maxUnavailable,
|
||||
MaxSurge: &maxSurge,
|
||||
},
|
||||
},
|
||||
Template: v1.PodTemplateSpec{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Labels: map[string]string{
|
||||
@ -281,6 +295,13 @@ func getSchedulerDeployment(cfg *kubeadmapi.MasterConfiguration) ext.Deployment
|
||||
},
|
||||
Spec: ext.DeploymentSpec{
|
||||
// TODO bootkube uses 2 replicas
|
||||
Strategy: ext.DeploymentStrategy{
|
||||
Type: ext.RollingUpdateDeploymentStrategyType,
|
||||
RollingUpdate: &ext.RollingUpdateDeployment{
|
||||
MaxUnavailable: &maxUnavailable,
|
||||
MaxSurge: &maxSurge,
|
||||
},
|
||||
},
|
||||
Template: v1.PodTemplateSpec{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Labels: map[string]string{
|
||||
|
Loading…
Reference in New Issue
Block a user