gpt4 book ai didi

nginx - 使用 DNS 设置 Rancher + Kubernetes 的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-02 11:34:19 39 4
gpt4 key购买 nike

首先,我不是专家,所以请多多包涵。我设法在家里的 vcenter 中安装和设置了 Rancher(免费获得了裸机设置,有点旧,但仍然可以)。我有 3 个运行良好的节点,我还可以使用它在 vmware 中配置虚拟机。最重要的是,我还在 Rancher 中添加了 Kubernetes。现在,我的计划是部署应该自动获取外部端点(可从互联网访问)和 SSL 的服务。我已经从 Namecheap mydomain.com 购买了它的通配符证书。此外,在我的 vcenter 中我有一个 nginx 服务器正在运行,并且 namecheap dns 指向它,但我认为我应该在 Kubernetes 中运行它,只是我不想手动管理 nginx 的配置文件。

什么是最好的方法?我不明白入口 Controller 是如何工作的或如何正确设置它们。我遵循了许多教程,但到目前为止没有成功。我也玩过 Traefik,但没有成功。我在外部端点部分总是一无所获。

我不需要关于如何操作的分步指南,但至少请有人为我指明正确的方向。我也在考虑使用 Let'sEncrypt,但不确定这是否是个好主意,因为我已经拥有我的域和 ssl 证书。

谢谢!

最佳答案

您遇到困难的原因可能是因为在使用 BareMetal 时,您没有配置外部 LoadBalancer。使用 Traefik 之类的东西时,您需要在 NodePort 或其他东西上公开入口 Controller 。

如果您使用的是裸机,则可以通过多种方式进入集群。

MetalLB就是这样一个 Controller ,它将使用 layer2 或 BGP 配置来通告您的 Services在外部。使用 metallb,您将能够定义类型为 LoadBalancer 的服务,如下所示:

kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
type: LoadBalancer

这将在 metallb 中为您配置一个 LoadBalancer。此时,您可以开始使用入口 Controller ,方法是部署类似 traefik 的东西,定义服务,然后在入口 Controller 上使用 LoadBalancer 类型。

对于 TLS,您可以拥有 cert-manager假设您的 DNS 解析为您使用的入口,则会自动为您提供证书。

最后,你自动化 DNS,考虑 external-dns

关于nginx - 使用 DNS 设置 Rancher + Kubernetes 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51498672/

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