kubernetes - “--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
解决方案
我看到两件事可能会有所帮助:
- 检查
/var/lib/kubelet/kubeadm-flags.env
是否正确配置。
除了启动 kubelet 时使用的标志外,该文件还包含动态参数,例如 cgroup 驱动程序以及是否使用不同的 CRI 运行时套接字(--cri-socket)。
更多细节可以在这里找到。
- 检查您的初始化配置文件(
kubeadm init --config string
将向您显示配置文件的路径)并尝试添加如下内容:
apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
nodeRegistration:
criSocket: "unix:///var/run/crio/crio.sock"
请让我知道这是否有帮助。
推荐阅读
- swift - 由于一种系统语言,NSLocalizedString 出现致命错误
- arrays - 重塑数组错误:*** IndexError:元组索引超出范围
- ruby - 如何在 searchkick 中结合精确短语和部分匹配
- javascript - 如何使用 Facebook Javascript SDK 登录并在组件内使用 React Web 和 Typescript 强制重新认证
- angularjs - 如何在 AngularJS 中显示占位符图像
- video - 如何批量编辑 AVI、MOV、MP4 等视频文件的“拍摄日期”元数据?
- sass - 如何使用其他尺寸扩展 Bootstrap 4.1 $spacers
- android - SQLLite 在不同 Android SDK 中的不同行为
- c# - 如何使其他类可以访问属性或字段
- swift - 创建函数来设置导航控制器