【问题标题】:How to use kops to create a Kubernetes cluster on AWS without the usage of the ELB service?如何在不使用 ELB 服务的情况下使用 kops 在 AWS 上创建 Kubernetes 集群?
【发布时间】:2019-01-11 14:07:35
【问题描述】:

我刚刚学习 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,但仍然能够从我的本地机器连接到我的集群和仪表板吗?

【问题讨论】:

    标签: amazon-web-services kubernetes kops


    【解决方案1】:

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

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

    $ kubectl delete svc <your-dashboard-svc>
    

    现在,如果您想避免在服务上创建负载平衡器,您只需使用 ClusterIP 或 NodePort 创建一个服务。然后您可以使用kubectl proxy 之类的方式访问您的服务。

    【讨论】:

    • 但即使我根本不将仪表板添加到 Kubernetes,kops 仍然使用 ELB 使用 kops create cluster 命令创建集群本身。因此,在我的情况下,这不是创建 ELB 的仪表板。是kops 做到了。
    • 我刚刚编辑了我的问题以强调这一点。
    • 我想是elb从外部访问kube-apiserver,添加更多细节
    • 是的,我明白了。 kops 并不是要在没有负载均衡器的情况下运行生产级集群。我需要围绕它实施破解或寻找另一种工具。当我想使用kops 在单个主机上运行集群时,我偶然发现了一个类似的问题,结果发现kops create cluster--node-count=0 被重置为其默认值2。因此,我需要使用--dry-run --output=yaml 将配置保存到文件并使用sed 命令编辑minSize/maxSize 的值,然后才使用kops create -f 来实际启动集群。跨度>
    猜你喜欢
    • 2020-08-01
    • 2020-01-19
    • 2020-05-05
    • 1970-01-01
    • 2021-05-14
    • 2017-09-04
    • 2020-11-29
    • 2019-06-02
    • 1970-01-01
    相关资源
    最近更新 更多