我只是学习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
,但仍然可以从本地计算机连接到群集和仪表板?
答案 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>
之类的东西来访问服务。