-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to mount on initContainer #38
Comments
Currently, the driver does not support init container. However, we may have a potential solution: The KEP for sidecar container pattern https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/753-sidecar-containers is implemented and merged: kubernetes/kubernetes#116429
This change can be a good solution. Instead of injecting the sidecar container as a regular container, we can leverage the new SidecarContainers feature to inject the container as an init container, so that other non-sidecar init container can also use the driver. |
kubernetes/kubernetes#116429 is now merged🎉 Sidecar feature will release in Kubernetes v1.28 with feature-gate. So, the driver can inject the sidecar-mounter container as a sidecar container which runs in the whole pod lifecycle (as an initContainer with |
FYI, the sidecar containers feature is alpha in Kubernetes 1.28, which means it will not be available on GKE. The Kubernetes feature needs to be at least beta until GKE can use it. |
We are working to adopt the k8s native sidecar container feature. We are targeting mid-March to support the init container mount. Note that it will only be supported in >1.29 clusters. |
The new GKE version rollout completed. Starting from GKE 1.29.3-gke.1093000, the CSI driver injects the GCSFuse sidecar container as an init container that supports mounting GCSFuse volumes in other init containers. To try out the new feature, please upgrade your GKE cluster to 1.29.3-gke.1093000 or later, and make sure ALL your nodes are also upgraded to GKE version 1.29 or later, then re-deploy your workloads. Closing this issue for now. |
@songjiaxun Hey. I've just upgraded my control plane and the nodes in GKE to v1.29.6-gke.1038001 and I'm still experiencing this issue:
I'm trying to launch an Airflow worker here with logs volume being the FUSE one.
BTW, why do we need this? I've upgraded only nodes that run the workloads for the FUSE mount. Do I need to upgrade all nodes in the cluster and why? |
Hi @vanushah, you will need to upgrade all of your nodes to 1.29 or later, because the native sidecar container is only enabled on GKE 1.29 nodes. The CSI driver checks if all the nodes have version 1.29 and above, and then decides whether the cluster can support native sidecar container feature -- this design is to avoid the case where a Pod having the native sidecar container got scheduled to 1.28 nodes and the Pod will be stuck there. |
Using static provisioning PVC in init containers causes pod initialization to hang, and eventually getting
Init:CreateContainerError
.pod init container spec
k8s events
Dirver version
Running Google Cloud Storage FUSE CSI driver sidecar mounter version v0.1.3-gke.0
GKE
1.26.3-gke.1000
As sidecar is needed for normal containers to access the bucket, I believe this issue arise due to init container not having a sidecar to support mounting.
The text was updated successfully, but these errors were encountered: