Skip to content

Commit 5efff0b

Browse files
authored
Merge pull request #74097 from bergerhoffer/OSDOCS-10121
OSDOCS#10121: Updating for removed Kubernetes APIs in 1.29
2 parents 40eb87d + 2e76c18 commit 5efff0b

8 files changed

+31
-33
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -680,10 +680,10 @@ Topics:
680680
- Name: Preparing to update a cluster
681681
Dir: preparing_for_updates
682682
Topics:
683-
- Name: Preparing to update to OpenShift Container Platform 4.15
683+
- Name: Preparing to update to OpenShift Container Platform 4.16
684684
File: updating-cluster-prepare
685685
Distros: openshift-enterprise
686-
- Name: Preparing to update to OKD 4.15
686+
- Name: Preparing to update to OKD 4.16
687687
File: updating-cluster-prepare
688688
Distros: openshift-origin
689689
- Name: Preparing to update a cluster with manually maintained credentials

modules/update-preparing-ack.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ Be aware that all responsibility falls on the administrator to ensure that all u
2323
+
2424
[source,terminal]
2525
----
26-
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.13-kube-1.27-api-removals-in-4.16":"true"}}' --type=merge
26+
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.15-kube-1.29-api-removals-in-4.16":"true"}}' --type=merge
2727
----

modules/update-preparing-evaluate-apirequestcount-workloads.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,23 @@ For example:
2525
+
2626
[source,terminal]
2727
----
28-
$ oc get apirequestcounts csistoragecapacities.v1beta1.storage.k8s.io -o yaml
28+
$ oc get apirequestcounts flowschemas.v1beta2.flowcontrol.apiserver.k8s.io -o yaml
2929
----
3030
+
3131
You can also use `-o jsonpath` to extract the `username` and `userAgent` values from an `APIRequestCount` resource:
3232
+
3333
[source,terminal]
3434
----
35-
$ oc get apirequestcounts csistoragecapacities.v1beta1.storage.k8s.io \
35+
$ oc get apirequestcounts flowschemas.v1beta2.flowcontrol.apiserver.k8s.io \
3636
-o jsonpath='{range .status.currentHour..byUser[*]}{..byVerb[*].verb}{","}{.username}{","}{.userAgent}{"\n"}{end}' \
3737
| sort -k 2 -t, -u | column -t -s, -NVERBS,USERNAME,USERAGENT
3838
----
3939
+
4040
.Example output
4141
[source,terminal]
4242
----
43-
VERBS USERNAME USERAGENT
44-
list watch system:kube-controller-manager cluster-policy-controller/v0.0.0
45-
list watch system:kube-controller-manager kube-controller-manager/v1.26.5+0abcdef
46-
list watch system:kube-scheduler kube-scheduler/v1.26.5+0abcdef
43+
VERBS USERNAME USERAGENT
44+
create system:admin oc/4.13.0 (linux/amd64)
45+
list get system:serviceaccount:myns:default oc/4.16.0 (linux/amd64)
46+
watch system:serviceaccount:myns:webhook webhook/v1.0.0 (linux/amd64)
4747
----

modules/update-preparing-evaluate-apirequestcount.adoc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ $ oc get apirequestcounts
2626
----
2727
NAME REMOVEDINRELEASE REQUESTSINCURRENTHOUR REQUESTSINLAST24H
2828
...
29-
csistoragecapacities.v1.storage.k8s.io 14 380
30-
csistoragecapacities.v1beta1.storage.k8s.io 1.27 0 16
31-
custompolicydefinitions.v1beta1.capabilities.3scale.net 8 158
32-
customresourcedefinitions.v1.apiextensions.k8s.io 1407 30148
29+
flowschemas.v1beta2.flowcontrol.apiserver.k8s.io 1.29 0 3
30+
...
31+
prioritylevelconfigurations.v1beta2.flowcontrol.apiserver.k8s.io 1.29 0 1
3332
...
3433
----
3534
+
@@ -51,7 +50,6 @@ $ oc get apirequestcounts -o jsonpath='{range .items[?(@.status.removedInRelease
5150
.Example output
5251
[source,terminal]
5352
----
54-
1.27 csistoragecapacities.v1beta1.storage.k8s.io
5553
1.29 flowschemas.v1beta2.flowcontrol.apiserver.k8s.io
5654
1.29 prioritylevelconfigurations.v1beta2.flowcontrol.apiserver.k8s.io
5755
----

modules/update-preparing-list.adoc

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,21 @@
55
[id="update-preparing-list_{context}"]
66
= Removed Kubernetes APIs
77

8-
{product-title} 4.15 uses Kubernetes 1.27, which removed the following deprecated APIs. You must migrate manifests and API clients to use the appropriate API version. For more information about migrating removed APIs, see the link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-27[Kubernetes documentation].
8+
{product-title} 4.16 uses Kubernetes 1.29, which removed the following deprecated APIs. You must migrate manifests and API clients to use the appropriate API version. For more information about migrating removed APIs, see the link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-29[Kubernetes documentation].
99

10-
.APIs removed from Kubernetes 1.27
11-
[cols="2,2,2",options="header",]
10+
.APIs removed from Kubernetes 1.29
11+
[cols="2,2,2,1",options="header",]
1212
|===
13-
|Resource |Removed API |Migrate to
13+
|Resource |Removed API |Migrate to |Notable changes
1414

15-
|`CSIStorageCapacity`
16-
|`storage.k8s.io/v1beta1`
17-
|`storage.k8s.io/v1`
15+
|`FlowSchema`
16+
|`flowcontrol.apiserver.k8s.io/v1beta2`
17+
|`flowcontrol.apiserver.k8s.io/v1` or `flowcontrol.apiserver.k8s.io/v1beta3`
18+
|No
19+
20+
|`PriorityLevelConfiguration`
21+
|`flowcontrol.apiserver.k8s.io/v1beta2`
22+
|`flowcontrol.apiserver.k8s.io/v1` or `flowcontrol.apiserver.k8s.io/v1beta3`
23+
|link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/#flowcontrol-resources-v129[Yes]
1824

1925
|===
20-
// Removed the "Notable changes" column since they were all "No" and table so wide it was causing a scrollbar. Add it back in for the next time there are notable changes (1.29)

modules/update-preparing-migrate.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
[id="update-preparing-migrate_{context}"]
66
= Migrating instances of removed APIs
77

8-
For information about how to migrate removed Kubernetes APIs, see the link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-27[Deprecated API Migration Guide] in the Kubernetes documentation.
8+
For information about how to migrate removed Kubernetes APIs, see the link:https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-29[Deprecated API Migration Guide] in the Kubernetes documentation.

updating/preparing_for_updates/updating-cluster-prepare.adoc

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
:_mod-docs-content-type: ASSEMBLY
22
[id="updating-cluster-prepare"]
3-
= Preparing to update to {product-title} 4.15
3+
= Preparing to update to {product-title} 4.16
44
include::_attributes/common-attributes.adoc[]
55
:context: updating-cluster-prepare
66

@@ -27,15 +27,11 @@ Without the correct micro-architecture requirements, the update process will fai
2727
[id="kube-api-removals_{context}"]
2828
== Kubernetes API removals
2929

30-
There are no Kubernetes API removals in {product-title} 4.15.
30+
{product-title} 4.16 uses Kubernetes 1.29, which removed several deprecated APIs.
3131

32-
// Commenting out this section because there are no APIs being removed in OCP 4.15 / Kube 1.28. But we'll need this section again for 4.16
33-
////
34-
{product-title} 4.14 uses Kubernetes 1.27, which removed several deprecated APIs.
35-
36-
A cluster administrator must provide a manual acknowledgment before the cluster can be updated from {product-title} 4.13 to 4.14. This is to help prevent issues after upgrading to {product-title} 4.14, where APIs that have been removed are still in use by workloads, tools, or other components running on or interacting with the cluster. Administrators must evaluate their cluster for any APIs in use that will be removed and migrate the affected components to use the appropriate new API version. After this evaluation and migration is complete, the administrator can provide the acknowledgment.
32+
A cluster administrator must provide a manual acknowledgment before the cluster can be updated from {product-title} 4.15 to 4.16. This is to help prevent issues after upgrading to {product-title} 4.16, where APIs that have been removed are still in use by workloads, tools, or other components running on or interacting with the cluster. Administrators must evaluate their cluster for any APIs in use that will be removed and migrate the affected components to use the appropriate new API version. After this evaluation and migration is complete, the administrator can provide the acknowledgment.
3733

38-
Before you can update your {product-title} 4.13 cluster to 4.14, you must provide the administrator acknowledgment.
34+
Before you can update your {product-title} 4.15 cluster to 4.16, you must provide the administrator acknowledgment.
3935

4036
// Removed Kubernetes APIs
4137
include::modules/update-preparing-list.adoc[leveloffset=+2]
@@ -59,7 +55,6 @@ include::modules/update-preparing-migrate.adoc[leveloffset=+2]
5955

6056
// Providing the administrator acknowledgment
6157
include::modules/update-preparing-ack.adoc[leveloffset=+2]
62-
////
6358

6459
// Assessing the risk of conditional updates
6560
include::modules/update-preparing-conditional.adoc[leveloffset=+1]

updating/updating_a_cluster/updating-cluster-cli.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ See xref:../../authentication/using-rbac.adoc#using-rbac[Using RBAC to define an
3030
* Ensure that all machine config pools (MCPs) are running and not paused. Nodes associated with a paused MCP are skipped during the update process. You can pause the MCPs if you are performing a canary rollout update strategy.
3131
* If your cluster uses manually maintained credentials, update the cloud provider resources for the new release. For more information, including how to determine if this is a requirement for your cluster, see xref:../../updating/preparing_for_updates/preparing-manual-creds-update.adoc#preparing-manual-creds-update[Preparing to update a cluster with manually maintained credentials].
3232
* Ensure that you address all `Upgradeable=False` conditions so the cluster allows an update to the next minor version. An alert displays at the top of the *Cluster Settings* page when you have one or more cluster Operators that cannot be updated. You can still update to the next available patch update for the minor release you are currently on.
33-
// * Review the list of APIs that were removed in Kubernetes 1.28, migrate any affected components to use the new API version, and provide the administrator acknowledgment. For more information, see xref:../../updating/preparing_for_updates/updating-cluster-prepare.adoc#updating-cluster-prepare[Preparing to update to {product-title} 4.14].
33+
* Review the list of APIs that were removed in Kubernetes 1.28, migrate any affected components to use the new API version, and provide the administrator acknowledgment. For more information, see xref:../../updating/preparing_for_updates/updating-cluster-prepare.adoc#updating-cluster-prepare[Preparing to update to {product-title} 4.16].
3434
* If you run an Operator or you have configured any application with the pod disruption budget, you might experience an interruption during the update process. If `minAvailable` is set to 1 in `PodDisruptionBudget`, the nodes are drained to apply pending machine configs which might block the eviction process. If several nodes are rebooted, all the pods might run on only one node, and the `PodDisruptionBudget` field can prevent the node drain.
3535

3636
[IMPORTANT]

0 commit comments

Comments
 (0)