Welcome to the Linux Foundation Forum!

Lab 3.6 - node is not ready once /etc/containerd/config.toml is changed the second time

The instructions in containerd-setup.txt tells first to set /etc/containerd/config.toml to

  1. version = 2
  2. #disabled_plugins = ["cri"]
  3. [plugins."io.containerd.runtime.v1.linux"]
  4. shim_debug = true
  5. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  6. runtime_type = "io.containerd.runc.v2"
  7. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  8. runtime_type = "io.containerd.runsc.v1"

And then later on to

  1. disabled_plugins = ["restart"]
  2. [plugins.linux]
  3. shim_debug = true
  4. [plugins.cri.containerd.runtimes.runsc]
  5. runtime_type = "io.containerd.runsc.v1"

My problem is that the node becomes not ready with the second version.

Please, observe:

The first variant - all is good

  1. student@master:/etc/containerd$ cat config.toml
  2. version = 2
  3. #disabled_plugins = ["cri"]
  4. [plugins."io.containerd.runtime.v1.linux"]
  5. shim_debug = true
  6. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  7. runtime_type = "io.containerd.runc.v2"
  8. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  9. runtime_type = "io.containerd.runsc.v1"
  10. student@master:/etc/containerd$ systemctl status containerd.service | head -5
  11. containerd.service - containerd container runtime
  12. Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
  13. Active: active (running) since Sun 2022-12-18 20:35:41 UTC; 54min ago
  14. Docs: https://containerd.io
  15. Process: 145675 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
  16. student@master:/etc/containerd$ k get node
  17. NAME STATUS ROLES AGE VERSION
  18. master Ready control-plane,master 3h35m v1.23.1
  19. student@master:/etc/containerd$

The second variant - node becomes not ready

  1. student@master:/etc/containerd$ sudo ln --force -s config.toml.v2 config.toml
  2. student@master:/etc/containerd$ cat config.toml
  3. disabled_plugins = ["restart"]
  4. [plugins.linux]
  5. shim_debug = true
  6. [plugins.cri.containerd.runtimes.runsc]
  7. runtime_type = "io.containerd.runsc.v1"
  8. student@master:/etc/containerd$ sudo systemctl restart containerd.service
  9. student@master:/etc/containerd$ systemctl status containerd.service | head -5
  10. containerd.service - containerd container runtime
  11. Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
  12. Active: active (running) since Sun 2022-12-18 21:31:11 UTC; 4s ago
  13. Docs: https://containerd.io
  14. Process: 176547 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
  15. student@master:/etc/containerd$ k get node
  16. NAME STATUS ROLES AGE VERSION
  17. master Ready control-plane,master 3h36m v1.23.1
  18. student@master:/etc/containerd$ sleep 30
  19. student@master:/etc/containerd$ k get node
  20. NAME STATUS ROLES AGE VERSION
  21. master NotReady control-plane,master 3h37m v1.23.1
  22. student@master:/etc/containerd$

Switch back to the first variant - all is good

  1. student@master:/etc/containerd$ sudo ln --force -s config.toml.v1 config.toml
  2. student@master:/etc/containerd$ cat config.toml
  3. version = 2
  4. #disabled_plugins = ["cri"]
  5. [plugins."io.containerd.runtime.v1.linux"]
  6. shim_debug = true
  7. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  8. runtime_type = "io.containerd.runc.v2"
  9. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  10. runtime_type = "io.containerd.runsc.v1"
  11. student@master:/etc/containerd$ sudo systemctl restart containerd.service
  12. student@master:/etc/containerd$ systemctl status containerd.service | head -5
  13. containerd.service - containerd container runtime
  14. Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
  15. Active: active (running) since Sun 2022-12-18 21:33:03 UTC; 4s ago
  16. Docs: https://containerd.io
  17. Process: 176798 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
  18. student@master:/etc/containerd$ k get node
  19. NAME STATUS ROLES AGE VERSION
  20. master Ready control-plane,master 3h38m v1.23.1
  21. student@master:/etc/containerd$

When the second variant is selected:

  1. student@master:/etc/containerd$ k describe node | tail -5
  2. Normal NodeHasSufficientPID 3m22s kubelet Node master status is now: NodeHasSufficientPID
  3. Normal NodeAllocatableEnforced 3m21s kubelet Updated Node Allocatable limit across pods
  4. Normal NodeReady 3m21s kubelet Node master status is now: NodeReady
  5. Normal NodeNotReady 59s (x2 over 3m22s) kubelet Node master status is now: NodeNotReady
  6. Warning ContainerGCFailed 22s (x2 over 82s) kubelet rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService
  7. student@master:/etc/containerd$

Your help is greatly appreciated.

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Answers

  • Hi @mark.kharitonov,

    I would recommend continuing the lab with the config.toml that allows the node to become ready.

    Regards,
    -Chris

  • I guess I have no other choice, but I would like to understand what is wrong. After all, these are the instructions. I hope this will not impede me from doing the lab.

  • Hi @mark.kharitonov,

    Yes, I got the same issue.
    May any one help to explain more detail about this and how to fix this issue?

    Thank you.

  • Hi @dennis6,

    Please use the config.toml configuration that brings the node to a ready state, as suggested above.

    Regards,
    -Chris

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training