首页 > 解决方案 > “--cri-socket”标志和“init阶段”参数之间的kubeadm兼容性

问题描述

我正在尝试设置 kubeadm 使用哪个 cri-o 套接字!

为此,我应该使用标志--cri-socket /var/run/crio/crio.sock


当前命令的格式为kubeadm init phase <phase_name>. 我必须给它加上--cri-socket标志。

我以这种方式编辑了命令kubeadm init --cri-socket /var/run/crio/crio.sock phase <phase_name>

不幸的是我得到了错误 Error: unknown flag: --cri-socket
=> 看来参数phase <phase_name>和标志--cri-socket /var/run/crio/crio.sock不兼容。

我该如何解决?
谢谢


#################更新1######################

文件/etc/kubernetes/kubeadm-config.yaml

apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 10.10.3.15
  bindPort: 6443
certificateKey: 9063a1ccc9c5e926e02f245c06b8xxxxxxxxxxx
nodeRegistration:
  name: p3kubemaster1
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
  criSocket: /var/run/crio/crio.sock

标签: kuberneteskubeadmkubespraycri-o

解决方案


我看到两件事可能会有所帮助:

  1. 检查/var/lib/kubelet/kubeadm-flags.env是否正确配置。

除了启动 kubelet 时使用的标志外,该文件还包含动态参数,例如 cgroup 驱动程序以及是否使用不同的 CRI 运行时套接字(--cri-socket)。

更多细节可以在这里找到。

  1. 检查您的初始化配置文件(kubeadm init --config string将向您显示配置文件的路径)并尝试添加如下内容:

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
nodeRegistration:
  criSocket: "unix:///var/run/crio/crio.sock"

请让我知道这是否有帮助。


推荐阅读