我正在尝试使用 Kops 创建集群,在我的脚本中,我采用一个名为 instancegroup 的目录并将其内容复制到我的“状态”S3 存储桶中。创建集群时,我可以在 Amazon 控制台中看到我的所有节点都已部署(主节点、2 个默认节点和我在实例组目录中指定的 5 个节点)。
问题是输入时:
kubectl get nodes
我只得到主机和 2 个默认节点。
这是创建此类集群的正确方法吗?为什么我看不到我的其他节点?
我正在尝试使用 Kops 创建集群,在我的脚本中,我采用一个名为 instancegroup 的目录并将其内容复制到我的“状态”S3 存储桶中。创建集群时,我可以在 Amazon 控制台中看到我的所有节点都已部署(主节点、2 个默认节点和我在实例组目录中指定的 5 个节点)。
问题是输入时:
kubectl get nodes
我只得到主机和 2 个默认节点。
这是创建此类集群的正确方法吗?为什么我看不到我的其他节点?
get nodes
仅列出已注册的 Node API 对象。其他节点不得向 API 服务器注册自己。检查这些节点上 kubelet 进程的日志,以确定它们为什么不注册自己。
问题出在我指定的所有节点的 instanswegroup 文件中,在指定“实例组”的行中,我将“节点”更改为“实例组”的名称,这就是 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