如何在不使用ELB服务的情况下使用kops在AWS上创建Kubernetes集群?

时间:2019-01-11 01:10:27

标签: amazon-web-services kubernetes kops

我只是学习Kubernetes,我想避免在AWS上运行Elastic Load Balancing时花钱。

这是我用来安装Kubernetes的命令:

<a title="The Title" href="http://url.com">

运行该命令后,我可以看到通过亚马逊的ELB服务创建了负载均衡器。

通常,所有这些对我来说都很有效,然后我可以使用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} 来监视和管理集群,并在其帮助下安装Kubernetes Dashboard。但是我不喜欢的一件事是kubectl使用ELB。一开始没关系,我使用了负载均衡器提供的URL来访问仪表板。现在,我相信我可以避免使用ELB减少我在AWS上的支出。您能否告诉我如何在没有任何ELB的情况下使用kops,但仍然可以从本地计算机连接到群集和仪表板?

1 个答案:

答案 0 :(得分:1)

需要LB与在主服务器上运行的kube-apiserver进行通信。您可以通过从AWS控制台删除ELB并修改配置以直接与主服务器的公共IP或私有IP进行通信来绕过该操作。您可能必须在主服务器上re-issue your certificates,才能与新的IP地址对话。 Kops之所以创建ELB,是因为这是一种更标准的“生产”就绪型练习,并且如果您拥有多个主控,它也是兼容的。换句话说,仍然建议您使用该ELB。

就仪表板而言,仪表板通常在创建ELB的AWS中显示为Kubernetes LoadBalancer Service。您可以简单地删除服务,而应该删除负载均衡器。

identity

现在,如果要避免在服务上创建负载平衡器,只需使用ClusterIP或NodePort创建服务。然后,您可以使用$ kubectl delete svc <your-dashboard-svc> 之类的东西来访问服务。