
[英]Kubernetes Cluster on AWS with Kops - NodePort Service Unavailable
[英]How to use kops to create a Kubernetes cluster on AWS without the usage of the ELB service?
我只是在学习 Kubernetes,我想避免在 AWS 上运行 Elastic Load Balancing 时花钱。
这是我用来安装 Kubernetes 的命令:
kops create cluster \
--cloud aws \
--name ${MY_KUBE_NAME}.k8s.local \
--state s3://${MY_KUBE_NAME} \
--master-count 1 \
--master-size ${MY_KUBE_MASTER_AWS_INSTANCE_SIZE} \
--master-volume-size ${MY_KUBE_MASTER_AWS_VOLUME_SIZE} \
--master-zones ${MY_KUBE_AWS_ZONE} \
--zones ${MY_KUBE_AWS_ZONE} \
--node-count 1 \
--node-size ${MY_KUBE_WORKER_AWS_INSTANCE_SIZE} \
--node-volume-size ${MY_KUBE_WORKER_AWS_VOLUME_SIZE}
运行该命令后,我可以看到通过 Amazon 的 ELB 服务创建了一个负载均衡器。
一般来说,这一切对我来说都很好,然后我可以使用kubectl
来监控和管理我的集群,并在它的帮助下安装 Kubernetes Dashboard。 但我不喜欢的一件事是kops
使用 ELB。 一开始没问题,我使用负载均衡器提供的 URL 来访问仪表板。 现在我相信我可以避免使用 ELB 来减少我在 AWS 上的开支。 你能告诉我如何在没有任何 ELB 的情况下使用kops create cluster
但仍然能够从我的本地机器连接到我的集群和仪表板吗?
需要 LB 与在主服务器上运行的 kube-apiserver 通信。 您可以通过从 AWS 控制台删除 ELB 并修改您的配置以直接与您的主节点的公共或私有 IP 通信来绕过它。 您可能必须在主服务器上重新颁发您的证书,以便您可以与新 IP 地址通信。 Kops 创建了一个 ELB,因为这更像是一种标准的“生产”就绪类型的练习,而且如果您有多个大师,它也是兼容的。 换句话说,仍然建议使用该 ELB。
就仪表板而言,通常,仪表板在 AWS 中公开为Kubernetes LoadBalancer 服务,用于创建 ELB。 您可以简单地删除服务,负载均衡器应该被删除。
$ kubectl delete svc <your-dashboard-svc>
现在,如果您想避免在服务上创建负载均衡器,您只需创建一个带有 ClusterIP 或NodePort 的服务。 然后你可以使用kubectl proxy
类的东西访问你的服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.