【问题标题】:kubernetes controller manager error if use kubeadm init with --cloud-provider=aws flag如果将 kubeadm init 与 --cloud-provider=aws 标志一起使用,则 kubernetes 控制器管理器错误
【发布时间】:2018-07-06 09:40:34
【问题描述】:

k8s控制器管理器无法启动(通过更改AWS EC2标签解决)

我有与这篇文章类似的问题:kube-controller-manager don't start when using “cloud-provider=aws” with kubeadm,但这并没有提供任何解决该问题的解决方案。以下是 kubernetes 控制器管理器的日志统计信息。

I0705 17:59:05.941049       1 controllermanager.go:116] Version: v1.10.3
W0705 17:59:05.941983       1 authentication.go:55] Authentication is disabled
I0705 17:59:05.942004       1 insecure_serving.go:44] Serving insecurely on 127.0.0.1:10252
I0705 17:59:05.942450       1 leaderelection.go:175] attempting to acquire leader lease  kube-system/kube-controller-manager...
I0705 17:59:22.823671       1 leaderelection.go:184] successfully acquired lease kube-system/kube-controller-manager
I0705 17:59:22.823945       1 event.go:218] Event(v1.ObjectReference{Kind:"Endpoints", Namespace:"kube-system", Name:"kube-controller-manager", UID:"ec7f1208-807c-11e8-bc66-0e594759e784", APIVersion:"v1", ResourceVersion:"289", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' k8s_1bbcc7bc-807d-11e8-859d-0e594759e784 became leader
I0705 17:59:22.849017       1 aws.go:1026] Building AWS cloudprovider
I0705 17:59:22.849064       1 aws.go:988] Zone not specified in configuration file; querying AWS metadata service
F0705 17:59:22.851606       1 controllermanager.go:159] error building controller context: cloud provider could not be initialized: could not init cloud provider "aws": error finding instance i-07df027cffda674bc: "error listing AWS instances: \"NoCredentialProviders: no valid providers in chain. Deprecated.\\n\\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors\""

/etc/kubernetes/aws.conf 文件。

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
cloudProvider: aws
kubernetesVersion: 1.10.3

/etc/kubernetes/cloud-config.conf 文件。

[Global]
KubernetesClusterTag=k8s
KubernetesClusterID=k8s

解决方案

更改EC2实例标签,KEY=KubernetesCluster,VALUE=k8s(在我的例子中)。

【问题讨论】:

  • 键应该是KubernetesCluster,值应该是k8s每个cloud-config.conf文件。它应该是 EC2 角色而不是 IAM 用户。
  • 谢谢!更改标签解决了我的问题!
  • 一个新问题是 kube-dns 始终处于挂起状态。
  • 这可能是几件事,但您的网络是否已启动并正常运行(法兰绒、编织...)?您是否正确配置了 sec 组?
  • 我为所有连接到 sec 组的地址打开了所有端口,只是为了便于测试,所以我认为情况并非如此。我确实使用编织网,它在我初始化后立即崩溃。我看不到日志信息。我也尝试使用kubectl describe,它没有提供有用的信息。

标签: amazon-web-services kubernetes


【解决方案1】:

kube-dns 总是挂起,因为 weave net crash

修复cgroups 设置。

  • Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs" 添加到/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
  • 重启 kubelet 服务。
    sudo systemctl deamon-reload
    sudo systemctl restart kubelet
    

在创建 kubernetes 集群之前安装 weave net 并启动。

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 2012-10-17
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多