-
Notifications
You must be signed in to change notification settings - Fork 60
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
Operator installation with default containerd config file makes the K8s node NotReady. #139
Comments
We found a workaround to handle the above problem. Instead of using the installed /etc/containerd/config.toml, if we generate it using the command |
Not sure if this is the same issue, but one thing I have seen many times is that containerd does not always install with a config file or at least I have been on a number of machines where containerd is installed and there is no config. If you run the operator in this state, you will get an unusable installation. It might be a good idea to add a check somewhere that installs the default containerd config file (as @niteeshkd mentions above) if the current one is non-existent or empty. I think in the case described here initially we have a config file, but it is malformed (some important stuff commented out) so that might be out of scope, but I think we should think about handling the empty config case. |
Hi @niteeshkd ,
That's exactly what we do on CI. On https://github.com/confidential-containers/operator/blob/main/tests/e2e/ansible/install_containerd.yml#L16 there is an explanation. @fitzthum maybe it deserves a note on the quickstart's troubleshoot section? |
Hi, I recently faced this issue as well while installing the operator. Definitely +1 for adding a note regarding it. Or would it make sense to also handle it in the script |
I think it would be relatively straightforward to add a check for this in the operator. I guess we've been putting off containerd-related changes because we want to get rid of the containerd fork. This issue could affect upstream containerd as well though. |
After installing the containerd with docker (as suggested by install docker on ubuntu ) and creating a single-node K8s cluster with 'worker' role, when the operator is installed, the K8s node becomes NotReady.
Here is the content of the /etc/containerd/config.toml when the containerd is installed.
The K8s cluster is created after commenting out the line
disabled_plugins = ["cri"]
in above /etc/containerd/config.toml otherwise it reports the following error.[ERROR CRI]: container runtime is not running: output: E1205 20:16:43.815128 869946 remote_runtime.go:948] "Status from runtime service failed" err="rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService"
The status of the K8s node is as follows.
Then, the operator is installed as follows.
Within 60 seconds of the installation of operator, the K8s node becomes NotReady.
The text was updated successfully, but these errors were encountered: