|
1 | 1 | # Troubleshooting
|
2 | 2 |
|
| 3 | +<!-- TOC --> |
| 4 | +* [Troubleshooting](#troubleshooting) |
| 5 | + * [Troubleshooting Quick Start with Docker (CAPD)](#troubleshooting-quick-start-with-docker-capd) |
| 6 | + * [Node bootstrap failures when using CABPK with cloud-init](#node-bootstrap-failures-when-using-cabpk-with-cloud-init) |
| 7 | + * [Labeling nodes with reserved labels such as `node-role.kubernetes.io` fails with kubeadm error during bootstrap](#labeling-nodes-with-reserved-labels-such-as-node-rolekubernetesio-fails-with-kubeadm-error-during-bootstrap) |
| 8 | + * [Cluster API with Docker - common issues with docker -](#cluster-api-with-docker---common-issues-with-docker---) |
| 9 | + * [Cluster API with Docker - "too many open files"](#cluster-api-with-docker---too-many-open-files) |
| 10 | + * [MacOS and Docker Desktop - "too many open files"](#macos-and-docker-desktop---too-many-open-files) |
| 11 | + * [Failed clusterctl init - 'failed to get cert-manager object'](#failed-clusterctl-init---failed-to-get-cert-manager-object) |
| 12 | + * [Failed clusterctl upgrade apply - 'failed to update cert-manager component'](#failed-clusterctl-upgrade-apply---failed-to-update-cert-manager-component) |
| 13 | + * [Clusterctl failing to start providers due to outdated image overrides](#clusterctl-failing-to-start-providers-due-to-outdated-image-overrides) |
| 14 | + * [Managed Cluster and co-authored slices](#managed-cluster-and-co-authored-slices) |
| 15 | + * [Failed to removed fields from lists using Server Side Apply](#failed-to-removed-fields-from-lists-using-server-side-apply) |
| 16 | +<!-- TOC --> |
| 17 | + |
3 | 18 | ## Troubleshooting Quick Start with Docker (CAPD)
|
4 | 19 |
|
5 | 20 | <aside class="note warning">
|
@@ -59,8 +74,6 @@ Exiting PID 1...
|
59 | 74 |
|
60 | 75 | To resolve this specific error please read [Cluster API with Docker - "too many open files"](#cluster-api-with-docker----too-many-open-files).
|
61 | 76 |
|
62 |
| - |
63 |
| - |
64 | 77 | ## Node bootstrap failures when using CABPK with cloud-init
|
65 | 78 |
|
66 | 79 | Failures during Node bootstrapping can have a lot of different causes. For example, Cluster API resources might be
|
@@ -102,7 +115,7 @@ kubectl get nodes --no-headers -l '!node-role.kubernetes.io/master' -o jsonpath=
|
102 | 115 | kubectl get nodes --no-headers -l '!node-role.kubernetes.io/control-plane' -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}' | xargs -I{} kubectl label node {} node-role.kubernetes.io/worker=''
|
103 | 116 | ```
|
104 | 117 |
|
105 |
| -## Cluster API with Docker |
| 118 | +## Cluster API with Docker - common issues with docker - |
106 | 119 |
|
107 | 120 | When provisioning workload clusters using Cluster API with the Docker infrastructure provider,
|
108 | 121 | provisioning might be stuck:
|
@@ -235,3 +248,24 @@ In cases the slice is instead co-authored (templates provide some info, the infr
|
235 | 248 | fills in other info) this can lead to infinite reconcile.
|
236 | 249 |
|
237 | 250 | A solution to this problem is being investigated, but in the meantime you should avoid co-authored slices.
|
| 251 | + |
| 252 | +## Failed to removed fields from lists using Server Side Apply |
| 253 | + |
| 254 | +The Cluster API projects is continuously improving its API, including improving the support for Server Side Apply, |
| 255 | +which allows for a more granular ownership of list items. |
| 256 | + |
| 257 | +However, when transitioning from atomic lists to map lists, there are edge cases not supported |
| 258 | +and this can lead to a SSA patches failing to remove an item in a list. |
| 259 | + |
| 260 | +Note: the issue only occurs in a very specific scenario, most of the users are not affected |
| 261 | +(e.g. client-side apply or "continuous" SSA with GitOps tools works as expected) |
| 262 | + |
| 263 | +Example of fields transitioned from atomic lists to map lists are e.g. |
| 264 | + |
| 265 | +- `cluster.spec.topology.variables` |
| 266 | +- `cluster.spec.topology.workers.machineDeployments` |
| 267 | + |
| 268 | +In case you face this issue, please use kubectl edit or kubectl apply with client-side apply |
| 269 | +to remove the item from the list; after the item is removed everything should work as expected. |
| 270 | + |
| 271 | +See [comment](https://github.com/kubernetes-sigs/cluster-api/issues/11857#issuecomment-2740339933) for more details. |
0 commit comments