“--cri-socket”标志和 "init phase" 参数之间的 kubeadm 兼容性

kubeadm compatibility between "--cri-socket" flag and "init phase" argument

我正在尝试设置 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

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

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

In addition to the flags used when starting the kubelet, the file also contains dynamic parameters such as the cgroup driver and whether to use a different CRI runtime socket (--cri-socket).

可以找到更多详细信息 here

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

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

如果有帮助,请告诉我。