gpt4 book ai didi

amazon-web-services - 通过在使用 kops 创建的 AWS 集群上的入口使 k8s 服务可用

转载 作者:行者123 更新时间:2023-12-04 08:17:22 26 4
gpt4 key购买 nike

在使用 kubeadm 在几个 KVM 上尝试 kubernetes 之后,我想使用 kops 在 AWS 上设置一个适当的自动扩展集群并使用它为一些网站提供服务。

kops create cluster ... 的神奇魔力给了我一堆 ec2 实例,使 k8s API 在 test-cluster.example.com 可用甚至配置我的本地 ~/.kube/config 以便我可以立即 kubectl apply -f any-stuff.yaml。这太棒了!

我现在可以将我的部署发送到集群并配置入口规则——所有这些都在仪表板中可见。但是,目前还不是很清楚如何将集群中的节点与我获得的域名相关联。

在我的小型 KVM k8s 中,我只需安装 traefik并将其暴露在端口 :80:443 上。然后我转到我的 DNS 设置并添加一些 A 记录,这些记录指向我的集群节点的公共(public) IP。在 AWS 中,有一组动态的 VM,当集群负载不重时,其中一些可能会宕机。所以感觉我需要使用外部负载平衡器,因为我的 traefik helm chart服务公开了两个随机端口而不是固定的 :80 和 :443,但我不确定。

有哪些选项?他们的成本是多少?如果域不受 AWS 控制,DNS 记录应该做什么?

最佳答案

将您的服务配置为 LoadBalancer 服务不足以让您的集群设置实际的负载均衡器,您需要一个像上面那样运行的入口 Controller 。

您应该添加 kops nginx 入口插件:https://github.com/kubernetes/kops/tree/master/addons/ingress-nginx

在这种情况下,AWS 上的 nginx 入口 Controller 将找到入口并为其创建一个 AWS ELB。我不确定成本,但这是值得的。

您还可以考虑节点端口,您可以根据节点的公共(public) ip 和节点端口访问这些节点端口(一定要向您的安全组添加规​​则)

您还可以考虑支持 Http/2 和 websockets 的新 AWS ELB v2 或 ALB。您可以使用 alb-ingress-controller https://github.com/coreos/alb-ingress-controller为此。

最后,如果您需要 SSL(您应该),请考虑 kube-lego 项目,它将自动为您获取 SSL 证书。 https://github.com/jetstack/kube-lego

关于amazon-web-services - 通过在使用 kops 创建的 AWS 集群上的入口使 k8s 服务可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45279433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com