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

时间:2019-09-06 14:35:26

标签: kubernetes kubeadm kubespray cri-o

我正在尝试设置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不兼容。

该如何解决?
谢谢


################## Update 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 个答案:

答案 0 :(得分:1)

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

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

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

更多详细信息,请参见here

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

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

请告诉我是否有帮助。