• 使用kubeoperator安装的k8s集群以及采用的containerd容器运行时,关于采用的是cgroup 驱动还是systemd 驱动的说明


    使用kubeoperator安装的k8s集群,默认使用的是systemd驱动

    # kubectl get cm -n kube-system                      
    NAME                                 DATA   AGE
    calico-config                        4      3d22h
    coredns                              1      3d23h
    extension-apiserver-authentication   6      3d23h
    ingress-controller-leader            0      3d22h
    ingress-nginx                        0      3d22h
    kube-proxy                           2      3d23h
    kube-root-ca.crt                     1      3d23h
    kubeadm-config                       1      3d23h
    kubelet-config-1.22                  1      3d23h
    node-local-dns                       1      3d22h
    tcp-services                         0      3d22h
    udp-services                         0      3d22h
    
    # kubectl edit cm kubelet-config-1.22 -n kube-system
    

    但是与之对应的containerd容器运行时使用的 cgroupfs 驱动

    # cat /etc/containerd/config.toml 
    

    若是修改containerd容器运行时使用的 systemd 驱动,创建pod失败,报错如下:

    要使用systemdcgroup驱动程序,请在/etc/containerd/config.toml中进行设置plugins.cri.systemd_cgroup = true。

      Warning  FailedCreatePodSandBox  2m56s (x16 over 3m11s)  kubelet            (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: OCI runtime create failed: runc create failed: expected cgroupsPath to be of format "slice:prefix:name" for systemd cgroups, got "/kubepods/besteffort/pode7f89a1a-7b40-4178-9ce4-4ad863bf08bb/7cd207ac8d8df9cde147d233bcd5c646c403f4b99048208c661aefd06cc5137d" instead: unknown
    

    注意:更改已加入集群的节点的 cgroup 驱动是一项敏感的操作。 如果 kubelet 已经使用某 cgroup 驱动的语义创建了 pod,更改运行时以使用 别的 cgroup 驱动,当为现有 Pods 重新创建 PodSandbox 时会产生错误。 重启 kubelet 也可能无法解决此类问题。如果你有切实可行的自动化方案,使用其他已更新配置的节点来替换该节点, 或者使用自动化方案来重新安装。

    意思是说只能通过 先配置containerd为systemd 驱动后,再给集群添加新节点的方式来解决

    或者等kubeoperator 版本更新,后续修改containerd容器运行时使用驱动systemd

    有关文档关于这个的说明

    官方文档说明:

  • 相关阅读:
    互联网 DBA 需要做那些事(转)
    mysql_connect和mysql_pconnect区别(转)
    Redis应用案例,查找某个值的范围(转)
    PHP 正则表达式常用函数使用小结
    PHP转换UTF-8和GB2312的URL编码(转)
    PHP 打印调用函数入口地址(堆栈)
    php CI框架nginx 配置
    apache部署多个项目
    Apache+php在windows下的安装和配置
    appium测试之获取appPackage和appActivity
  • 原文地址:https://www.cnblogs.com/hahaha111122222/p/16445834.html
Copyright © 2020-2023  润新知