2015-05-04 74 views
0

我在Amazon EC2中使用cluster/kube-up.sh创建群集以尝试使用kubernetes。然后,我不再使用时省钱。下一次,我在亚马逊中启动主要实例& minion实例,因为EC2将新的公共IP分配给实例,所以*〜/ .kube/config对于集群主服务器具有旧IP-s。如何在停止和启动实例后重新连接到Amazon kubernetes群集?

目前我还没有找到办法来集群/ kube-up.sh所以停止&开始实例之间是一致的IP-S将被设置到位提供弹性IP-S。此外,在证书〜/ .kube /旧IP配置人工手动更改IP不起作用或者:

Running: ./cluster/../cluster/aws/../../cluster/../_output/dockerized/bin/darwin/amd64/kubectl get pods --context=aws_kubernetes Error: Get https://52.24.72.124/api/v1beta1/pods?namespace=default: x509: certificate is valid for 54.149.120.248, not 52.24.72.124

如何使kubectl使对同一kubernetes主的查询上重启后在不同的IP上运行?

回答

1

如果关于您的群集唯一已更改的是主服务器的IP地址,则可以通过编辑文件~/.kube/config(查找带有IP地址的“server”行)来手动修改主位置。

这个用例(暂停/恢复集群)并不是我们通常测试的,所以一旦您的集群备份并运行,您可能会遇到其他问题。如果这样做,请在GitHub存储库上使用file an issue

+0

我曾尝试在'''〜/ .kube/config'''中更改服务器ip。之后运行* kubectl *命令(例如''./cluster/kubectl.sh get pods'''会导致原始问题写入错误 - '''错误:获取https://52.24.72.124/api/v1beta1/pods?namespace = default:x509:证书的有效期为54.149.120.248,而不是52.24.72.124'''这是否是预期行为? –

+0

主机上的自签名证书使用主机的IP作为通用名称。在创建群集时需要保留一个IP,这可能需要对AWS群集创建脚本进行一些调整 –

+0

由于您在https://github.com/GoogleCloudPlatform/kubernetes/issues/7828中的评论,找到了进行微调的地方。将标记为已接受 –

0

我不确定您使用的是哪个版本的Kubernetes,但在v1.0.6中,您可以将MASTER_RESERVED_IP环境变量传递给kube-up.sh,以将给定的弹性IP分配给Kubernetes主节点。

对于Kubernetes存储库中的AWS,您可以在config-default.sh file中检查kube-up.sh的所有可用选项。

相关问题