输入'kubectl get nodes'时看不到我的节点

时间:2018-01-11 17:26:00

标签: amazon-ec2 kubernetes kops

我正在尝试用Kops创建集群, 在我的脚本中,我获取一个名为instancegroup的目录,并将其内容复制到我的“状态”S3存储桶中。 在创建集群时,我可以在亚马逊控制台中看到我部署的所有节点(主节点,2个默认节点和我在instancegroup目录中指定的5个节点)。

问题在于输入时:

kubectl get nodes

我只获得主机和2个默认节点。

这是创建此类群集的正确方法吗?为什么我看不到我的其他节点?

2 个答案:

答案 0 :(得分:2)

get nodes仅列出已注册的Node API对象。其他节点不得向API服务器注册自己。检查这些节点上的kubelet进程的日志,以确定它们未注册的原因。

答案 1 :(得分:1)

问题出在我的instanswegroup文件中,我指定的所有节点, 在指定" instancegroup" 的行中,我更改了"节点"在我的" instancegroup" 的名称中,这就是kubernetes没有将它们识别为节点的原因。

kops.k8s.io/instancegroup: elk

这是修复后正在运行的文件的示例:

apiVersion: kops/v1alpha2
kind: InstanceGroup
metadata:
  creationTimestamp: 2018-01-03T10:45:43Z
  labels:
    kops.k8s.io/cluster: 
  name: elk
spec:
  image: ami-3fa07b47
  machineType: t2.micro
  maxSize: 1
  minSize: 1
  nodeLabels:
    kops.k8s.io/instancegroup: nodes
    nodegroup: "elk-nodes"
    frontendnodes: "y"
  role: Node
  subnets:
  - us-west-2a