diff --git a/docs/book/src/faq.md b/docs/book/src/faq.md index dafedf261f8..e0f7082a4b0 100644 --- a/docs/book/src/faq.md +++ b/docs/book/src/faq.md @@ -94,7 +94,7 @@ However, note that this problem is fixed and will not occur if you deploy the pr ## The error `Too long: must have at most 262144 bytes` is faced when I run `make install` to apply the CRD manifests. How to solve it? Why does this error occur? -When attempting to run `make install` to apply the CRD manifests, the error `Too long: must have at most 262144 bytes` may be encountered. This error arises due to a size limit enforced by the Kubernetes API. Note that the `make install` target will apply the CRD manifest under `config/crd` using `kubectl apply -f -`. Therefore, when the apply command is used, the API annotates the object with the `last-applied-configuration` which contains the entire previous configuration. If this configuration is too large, it will exceed the allowed byte size. ([More info][k8s-obj-creation]) and this error will be faced. +When attempting to run `make install` to apply the CRD manifests, the error `Too long: must have at most 262144 bytes` may be encountered. This error arises due to a size limit enforced by the Kubernetes API. Note that the `make install` target will apply the CRD manifest under `config/crd` using `kubectl apply -f -`. Therefore, when the apply command is used, the API annotates the object with the `last-applied-configuration` which contains the entire previous configuration. If this configuration is too large, it will exceed the allowed byte size. ([More info][k8s-obj-creation]) The ideal approach is to use server-side apply, since the entire object configuration doesn't have to be stored as an annotation (last-applied-configuration) on the server. However, it's worth noting that as of now, it isn't supported by controller-gen or kubebuilder. For more on this, refer to: [Controller-tool-discussion][controller-tool-pr].