amazon-web-services - AWS 上的 Kubernetes 1.3.x 只有一个工作 Minion

标签 amazon-web-services amazon-ec2 kubernetes

我正在尝试使用以下设置在 AWS 上启动一个新的 Kubernetes 集群:

export KUBERNETES_PROVIDER=aws

export KUBE_AWS_INSTANCE_PREFIX="k8-update-test"
export KUBE_AWS_ZONE="eu-west-1a"
export AWS_S3_REGION="eu-west-1"

export ENABLE_NODE_AUTOSCALER=true

export NON_MASQUERADE_CIDR="10.140.0.0/20"
export SERVICE_CLUSTER_IP_RANGE="10.140.1.0/24"
export DNS_SERVER_IP="10.140.1.10"

export MASTER_IP_RANGE="10.140.2.0/24"
export CLUSTER_IP_RANGE="10.140.3.0/24"

运行 $KUBE_ROOT/cluster/kube-up.sh 后,master 出现并启动 4 个(默认)minion。不幸的是只有一个小兵被读取。 kubectl getnodes的结果是:

NAME                                         STATUS     AGE
ip-172-20-0-105.eu-west-1.compute.internal   NotReady   19h
ip-172-20-0-106.eu-west-1.compute.internal   NotReady   19h
ip-172-20-0-107.eu-west-1.compute.internal   Ready      19h
ip-172-20-0-108.eu-west-1.compute.internal   NotReady   19h

请注意,1 个节点正在运行,而 3 个节点尚未准备好。如果我查看 NotReady 节点的详细信息,则会收到以下错误:

ConfigureCBR0 requested, but PodCIDR not set. Will not configure CBR0 right now.

如果我尝试在不设置 NON_MASQUERADE_CIDR、SERVICE_CLUSTER_IP_RANGE、DNS_SERVER_IP、MASTER_IP_RANGE 和 CLUSTER_IP_RANGE 的情况下启动集群,一切都会正常。所有小黄人一开始就做好准备。

有人知道为什么只在一个节点上设置 PodCIDR 而在其他节点上没有设置吗?

还有一件事:相同的设置在 kubernetes 1.2.4 上运行良好。

最佳答案

您的集群 IP 范围太小。您已经为整个集群(255 个地址)分配了/24,默认情况下 Kubernetes 将为每个节点分配/24。这意味着第一个节点将被分配 10.140.3.0/24,然后您将不再有任何/24 范围可分配给集群中的其他节点。

事实上,这在 1.2.4 中有效是一个错误,因为 CIDR 分配器没有检查它是否分配了超出集群 IP 范围的范围(现在它会这样做)。尝试为您的集群使用更大的范围(GCE 默认使用/14,这允许您扩展到 1000 个节点,但对于小型集群,您应该可以使用/20)。

关于amazon-web-services - AWS 上的 Kubernetes 1.3.x 只有一个工作 Minion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498901/

相关文章:

linux - 停止 docker 容器后,之前运行的容器无法启动

亚马逊 ec2 上的 PHP 和 Python

amazon-ec2 - aws_security_group - 有条件的入口

javascript - AWS Amazon ami 上的 npm install -g bower 出现错误

java - 无法在 AWS EC2 上安装的 Tomcat 6 下读取/写入文件

docker - Nginx-从Http到Https的配置导致无限重定向

Kubernetes:从 pod 连接到外部世界

azure - 无法进入 kubernetes pod。来自服务器 : error dialing backend: dial tcp: lookup (node hostname) on 168. 63.129.16:53 的错误:没有这样的主机

ubuntu - 从 Amazon S3 下载文件的速度下降到 <2 kb/s = 下载速度非常慢(在上传文件的机器上)

java - Amazon S3 - 使用 Java API 在 S3 存储桶中递归列出所有 zip 文件