如何在不使用 ELB 服务的情况下使用 kops 在 AWS 上创建 Kubernetes 集群?
How to use kops to create a Kubernetes cluster on AWS without the usage of the ELB service?
我刚开始学习 Kubernetes,我想避免在 Elastic Load Balancing 上花钱,而 运行 它在 AWS 上。
这是我用来安装 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 需要与在 master 上运行的 kube-apiserver 通信。您可以通过从 AWS 控制台删除 ELB 并修改配置以直接与主服务器的 public 或私有 IP 对话来绕过它。您可能必须 re-issue your certificates 在 master 上才能与新的 IP 地址通信。 Kops 创建了一个 ELB,因为它更像是一种标准的 'production' 准备就绪的练习类型,而且如果您有多个大师,它也是兼容的。也就是说,还是推荐那个ELB。
就仪表板而言,通常,仪表板在创建 ELB 的 AWS 中公开为 Kubernetes LoadBalancer Service。您可以简单地删除该服务,并且应删除负载平衡器。
$ kubectl delete svc <your-dashboard-svc>
现在,如果您想避免在服务上创建负载均衡器,您只需使用 ClusterIP 或 NodePort 创建服务即可。然后您可以使用 kubectl proxy
.
之类的方式访问您的服务
我刚开始学习 Kubernetes,我想避免在 Elastic Load Balancing 上花钱,而 运行 它在 AWS 上。
这是我用来安装 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 需要与在 master 上运行的 kube-apiserver 通信。您可以通过从 AWS 控制台删除 ELB 并修改配置以直接与主服务器的 public 或私有 IP 对话来绕过它。您可能必须 re-issue your certificates 在 master 上才能与新的 IP 地址通信。 Kops 创建了一个 ELB,因为它更像是一种标准的 'production' 准备就绪的练习类型,而且如果您有多个大师,它也是兼容的。也就是说,还是推荐那个ELB。
就仪表板而言,通常,仪表板在创建 ELB 的 AWS 中公开为 Kubernetes LoadBalancer Service。您可以简单地删除该服务,并且应删除负载平衡器。
$ kubectl delete svc <your-dashboard-svc>
现在,如果您想避免在服务上创建负载均衡器,您只需使用 ClusterIP 或 NodePort 创建服务即可。然后您可以使用 kubectl proxy
.