Skip to content

Commit b7efdd5

Browse files
authored
Merge pull request #18222 from rifelpet/lbc-prune
aws: Prune LBC deployment
2 parents 1460bea + 9daad47 commit b7efdd5

File tree

5 files changed

+194
-1
lines changed

5 files changed

+194
-1
lines changed

tests/integration/update_cluster/aws-lb-controller/data/aws_s3_object_minimal.example.com-addons-bootstrap_content

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,54 @@ spec:
148148
manifestHash: 985bbe03988009bb6b25d153bf8ab44b3a71f100c9628c98d4114d94bcdb424b
149149
name: aws-load-balancer-controller.addons.k8s.io
150150
needsPKI: true
151+
prune:
152+
kinds:
153+
- kind: ConfigMap
154+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
155+
- kind: Service
156+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
157+
namespaces:
158+
- kube-system
159+
- kind: ServiceAccount
160+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
161+
namespaces:
162+
- kube-system
163+
- group: admissionregistration.k8s.io
164+
kind: MutatingWebhookConfiguration
165+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
166+
- group: admissionregistration.k8s.io
167+
kind: ValidatingWebhookConfiguration
168+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
169+
- group: apps
170+
kind: DaemonSet
171+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
172+
- group: apps
173+
kind: Deployment
174+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
175+
namespaces:
176+
- kube-system
177+
- group: apps
178+
kind: StatefulSet
179+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
180+
- group: policy
181+
kind: PodDisruptionBudget
182+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
183+
- group: rbac.authorization.k8s.io
184+
kind: ClusterRole
185+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
186+
- group: rbac.authorization.k8s.io
187+
kind: ClusterRoleBinding
188+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
189+
- group: rbac.authorization.k8s.io
190+
kind: Role
191+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
192+
namespaces:
193+
- kube-system
194+
- group: rbac.authorization.k8s.io
195+
kind: RoleBinding
196+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
197+
namespaces:
198+
- kube-system
151199
selector:
152200
k8s-addon: aws-load-balancer-controller.addons.k8s.io
153201
version: 9.99.0

tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_s3_object_minimal.example.com-addons-bootstrap_content

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,54 @@ spec:
163163
manifestHash: fa5eff25d4de083f5797aef8c7944098f5629fd0bacf9b2498cbc2a5a867d0f2
164164
name: aws-load-balancer-controller.addons.k8s.io
165165
needsPKI: true
166+
prune:
167+
kinds:
168+
- kind: ConfigMap
169+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
170+
- kind: Service
171+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
172+
namespaces:
173+
- kube-system
174+
- kind: ServiceAccount
175+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
176+
namespaces:
177+
- kube-system
178+
- group: admissionregistration.k8s.io
179+
kind: MutatingWebhookConfiguration
180+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
181+
- group: admissionregistration.k8s.io
182+
kind: ValidatingWebhookConfiguration
183+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
184+
- group: apps
185+
kind: DaemonSet
186+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
187+
- group: apps
188+
kind: Deployment
189+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
190+
namespaces:
191+
- kube-system
192+
- group: apps
193+
kind: StatefulSet
194+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
195+
- group: policy
196+
kind: PodDisruptionBudget
197+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
198+
- group: rbac.authorization.k8s.io
199+
kind: ClusterRole
200+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
201+
- group: rbac.authorization.k8s.io
202+
kind: ClusterRoleBinding
203+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
204+
- group: rbac.authorization.k8s.io
205+
kind: Role
206+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
207+
namespaces:
208+
- kube-system
209+
- group: rbac.authorization.k8s.io
210+
kind: RoleBinding
211+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
212+
namespaces:
213+
- kube-system
166214
selector:
167215
k8s-addon: aws-load-balancer-controller.addons.k8s.io
168216
version: 9.99.0

tests/integration/update_cluster/many-addons-ccm/data/aws_s3_object_minimal.example.com-addons-bootstrap_content

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,54 @@ spec:
163163
manifestHash: acd41d6756fdd33656319579aeaac261a9deb6df86610f3ab7bdb70bcf388c13
164164
name: aws-load-balancer-controller.addons.k8s.io
165165
needsPKI: true
166+
prune:
167+
kinds:
168+
- kind: ConfigMap
169+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
170+
- kind: Service
171+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
172+
namespaces:
173+
- kube-system
174+
- kind: ServiceAccount
175+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
176+
namespaces:
177+
- kube-system
178+
- group: admissionregistration.k8s.io
179+
kind: MutatingWebhookConfiguration
180+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
181+
- group: admissionregistration.k8s.io
182+
kind: ValidatingWebhookConfiguration
183+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
184+
- group: apps
185+
kind: DaemonSet
186+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
187+
- group: apps
188+
kind: Deployment
189+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
190+
namespaces:
191+
- kube-system
192+
- group: apps
193+
kind: StatefulSet
194+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
195+
- group: policy
196+
kind: PodDisruptionBudget
197+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
198+
- group: rbac.authorization.k8s.io
199+
kind: ClusterRole
200+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
201+
- group: rbac.authorization.k8s.io
202+
kind: ClusterRoleBinding
203+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
204+
- group: rbac.authorization.k8s.io
205+
kind: Role
206+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
207+
namespaces:
208+
- kube-system
209+
- group: rbac.authorization.k8s.io
210+
kind: RoleBinding
211+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
212+
namespaces:
213+
- kube-system
166214
selector:
167215
k8s-addon: aws-load-balancer-controller.addons.k8s.io
168216
version: 9.99.0

tests/integration/update_cluster/many-addons/data/aws_s3_object_many-addons.example.com-addons-bootstrap_content

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,54 @@ spec:
212212
manifestHash: 8424a27e27bc397ba203dfbe3f4705264e1e85b8e85b06560b02d896e8666902
213213
name: aws-load-balancer-controller.addons.k8s.io
214214
needsPKI: true
215+
prune:
216+
kinds:
217+
- kind: ConfigMap
218+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
219+
- kind: Service
220+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
221+
namespaces:
222+
- kube-system
223+
- kind: ServiceAccount
224+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
225+
namespaces:
226+
- kube-system
227+
- group: admissionregistration.k8s.io
228+
kind: MutatingWebhookConfiguration
229+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
230+
- group: admissionregistration.k8s.io
231+
kind: ValidatingWebhookConfiguration
232+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
233+
- group: apps
234+
kind: DaemonSet
235+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
236+
- group: apps
237+
kind: Deployment
238+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
239+
namespaces:
240+
- kube-system
241+
- group: apps
242+
kind: StatefulSet
243+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
244+
- group: policy
245+
kind: PodDisruptionBudget
246+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
247+
- group: rbac.authorization.k8s.io
248+
kind: ClusterRole
249+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
250+
- group: rbac.authorization.k8s.io
251+
kind: ClusterRoleBinding
252+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
253+
- group: rbac.authorization.k8s.io
254+
kind: Role
255+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
256+
namespaces:
257+
- kube-system
258+
- group: rbac.authorization.k8s.io
259+
kind: RoleBinding
260+
labelSelector: addon.kops.k8s.io/name=aws-load-balancer-controller.addons.k8s.io,app.kubernetes.io/managed-by=kops
261+
namespaces:
262+
- kube-system
215263
selector:
216264
k8s-addon: aws-load-balancer-controller.addons.k8s.io
217265
version: 9.99.0

upup/pkg/fi/cloudup/bootstrapchannelbuilder/bootstrapchannelbuilder.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,13 +653,14 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.CloudupModelBuilderContext)
653653
}
654654
location := key + "/" + id + ".yaml"
655655

656-
addons.Add(&channelsapi.AddonSpec{
656+
addon := addons.Add(&channelsapi.AddonSpec{
657657
Name: fi.PtrTo(key),
658658
Selector: map[string]string{"k8s-addon": key},
659659
Manifest: fi.PtrTo(location),
660660
Id: id,
661661
NeedsPKI: true,
662662
})
663+
addon.BuildPrune = true
663664

664665
// Generate aws-load-balancer-controller ServiceAccount IAM permissions
665666
if b.UseServiceAccountExternalPermissions() {

0 commit comments

Comments
 (0)