Amazon ec2 无法使用kubeadm在Kubernetes v1.15中设置外部etcd群集

Amazon ec2 无法使用kubeadm在Kubernetes v1.15中设置外部etcd群集,amazon-ec2,kubernetes,high-availability,kubeadm,etcd,Amazon Ec2,Kubernetes,High Availability,Kubeadm,Etcd,我正在尝试使用多主机和外部etcd集群设置Kubernetes集群。按照中所述的步骤进行操作。在执行步骤7之后,我能够在/etc/kubernetes/manifests文件夹的所有3台主机中创建静态清单pod文件 之后,当我执行命令“sudo kubeadmin init”时,由于kubelet错误,初始化失败。还验证了journalctl日志,错误显示cgroup驱动程序配置错误,与此类似 我在上面的SO链接中尝试过,但无法解决 请帮我解决这个问题 对于docker、kubeadm、kube

我正在尝试使用多主机和外部etcd集群设置Kubernetes集群。按照中所述的步骤进行操作。在执行步骤7之后,我能够在/etc/kubernetes/manifests文件夹的所有3台主机中创建静态清单pod文件

之后,当我执行命令“sudo kubeadmin init”时,由于kubelet错误,初始化失败。还验证了journalctl日志,错误显示cgroup驱动程序配置错误,与此类似

我在上面的SO链接中尝试过,但无法解决

请帮我解决这个问题

对于docker、kubeadm、kubectl和kubelet的安装,我只关注kubernetes.io站点

环境:

云:AWS

EC2实例操作系统:Ubuntu 18.04

Docker版本:18.09.7


谢谢

在搜索了一些链接并进行了一些跟踪之后,我能够解决这个问题

正如容器运行时中所给出的,Docker cgroup驱动程序是系统化的。但Kubelet的默认cgroup驱动程序是cgroupfs。因此,由于Kubelet无法单独自动识别cgroup驱动程序(如文档中所示),我们必须在运行Kubelet时在外部提供cgroup驱动程序,如下所示:

cat/etc/systemd/system/kubelet.service.d/20-etcd-service-manager.conf

[服务]

执行开始=

ExecStart=/usr/bin/kubelet--cgroup driver=systemd--address=127.0.0.1--pod->manifest path=/etc/kubernetes/manifests

重新启动=始终

EOF

systemctl后台程序重新加载

systemctl重新启动kubelet

此外,不需要运行sudokubeadminit,因为我们提供了到Kubelet的--pod清单路径,它将etcd作为静态pod运行

对于调试,可以使用以下命令检查Kubelet的日志

journalctl-u kubelet-r

希望能有帮助。谢谢