Skip to content
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

Hack to handle GKE COS Containerd #62

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

gremsam
Copy link
Contributor

@gremsam gremsam commented Dec 28, 2021

Background
We've run into some problems with GKE's COS with the containerd runtime.
This manifests as a permissions issue when attempting to use runc to
initiate a side car container which mounts the state and logs paths
(which are themselves hostmounted paths) from the daemonset

Change
Don't mount these paths as hostmounts

Gremlin agent will create these inside the daemonset's pod's chroot and
then mount those inside of the sidecar which does work properly. The
only downside is we lose debuggability when the ds pod restarts as the
folders aren't hostmounted. While this is undesirable it is acceptable
to work around the GKE limitations

In order to support this the Helm chart will identify if it's installing
on to a GKE COS containerd environment before removing these hostmounts

NOTE: Helm doesn't run the lookup command when running a template
command or a --dry-run and you will not get the hostmounts removed
when debugging that way. Instead you have to do the full installation
to test

**Background**
We've run into some problems with GKE's COS with the containerd runtime.
This manifests as a permissions issue when attempting to use runc to
initiate a side car container which mounts the `state` and `logs` paths
(which are themselves hostmounted paths) from the daemonset

**Change**
Don't mount these paths as hostmounts

Gremlin agent will create these inside the daemonset's pod's chroot and
then mount those inside of the sidecar which does work properly.  The
only downside is we lose debuggability when the ds pod restarts as the
folders aren't hostmounted.  While this is undesirable it is acceptable
to work around the GKE limitations

In order to support this the Helm chart will identify if it's installing
on to a GKE COS containerd environment before removing these hostmounts

NOTE: Helm doesn't run the lookup command when running a `template`
command or a `--dry-run` and you will not get the hostmounts removed
when debugging that way.  Instead you have to do the full installation
to test
@gremsam gremsam requested review from a team as code owners December 28, 2021 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants