Pra*_*166 2 dns nginx kubernetes
我已经在我的虚拟机上创建了一个 Kubernetes 集群,并且我一直试图用我自己的域(例如,www.mydomain.xyz)将它公开到 Internet 。我创建了一个入口资源,如下所示,我还修改了 kubelet 配置以使用我的域名。我所有的 pod 和服务都是在这个域名中创建的(例如,default.svc.mydomain.xyz)
root@master-1:~# kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
test-ingress <none> www.mydomain.xyz 192.168.5.11 80 5d20h
root@master-1:~# kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.103.59.116 192.168.5.11 443:30740/TCP,80:31894/TCP 6d21h
Run Code Online (Sandbox Code Playgroud)
我尝试在我的域 DNS 页面中添加 A 记录,如下所示,但无法添加。
这是我陷入困境而无法进一步进行的地方。我是否需要更改集群中的任何内容以在“域 DNS 配置”(Hostinger)或要在主节点中添加的任何内容中添加此命名空间。
我拥有的域如何将所有流量重定向到我的 kubernetes 集群?
任何帮助将不胜感激。
您无法像尝试那样公开 Kubernetes 集群。
我强烈建议使用不同的 Kubernetes 解决方案,因为minikube
它更像是一种用于实验和开发的工具,如官方网站所述:
Minikube 是一个可以轻松在本地运行 Kubernetes 的工具。Minikube 在笔记本电脑上的虚拟机 (VM) 内运行单节点 Kubernetes 集群,供想要试用 Kubernetes 或使用它进行日常开发的用户使用。
请查看其他解决方案,例如:
尝试将 Kubernetes 从您的专用网络公开到 Internet 时,您需要记住几件事。
minikube
实例为什么我认为它是
minikube
实例?您有 2 个网络接口:
NAT
Host-only
当您
minikube
使用 Virtualbox运行时,将创建此接口
访问公共 IP 至关重要。没有它,您将无法向 Internet 公开您的服务。有一些例外情况,但我不会在这里重点讨论。
在 DNS 面板中,您已经输入了私有 IP 地址。您不能这样做,除非 DNS 服务器旨在仅解析本地查询(您的专用网络)。要允许其他用户连接到您的 Kubernetes 集群,您需要提供一个公共 IP 地址,例如94.XXX.XXX.XXX
.
您可以在此处阅读有关公共和私有 IP 地址之间差异的更多信息:
如果您有公共 IP,您还需要检查传入连接是否没有被其他设备(如 ISP 的防火墙或路由器)阻止。如果它们被阻止,您将无法公开您的服务。要将您的服务公开到 Internet,您需要使用“端口转发”。
你可以在这里读更多关于它的内容:
minikube
实例正如我之前提到的:当您minikube
使用 Virtualbox创建实例时,您将创建以下网络接口:
NAT
- 允许您的 VM 访问 Internet 的接口。此连接不能用于公开您的服务Host-only-network-adapter
- 由您的主机创建的接口,允许在该接口内进行通信。这意味着您的主机和其他具有此特定适配器的虚拟机可以相互连接。它专为内部使用而设计。您可以在此处阅读有关 Virtualbox 网络的更多信息:
我设法找到了一种解决方法,允许您的笔记本电脑/PC 外部连接到您的minikube
实例。您需要将minikube
实例设置中的网络接口从 (第二个适配器)更改Host-only-network-adapter
为Bridged Adapter
。这将在另一台设备连接到您的物理网络时起作用。请确保此桥接适配器与以太网 NIC 一起使用。Minikube
应该更改 IP 地址以匹配您物理地址中使用的 IP 地址。
您还需要更改您的
.kube/config
IP 地址,因为它会有旧的/错误的 IP 地址!
之后,您应该能够Ingress
通过物理网络中可访问的 IP连接到您的资源。
记住上面的信息,让我们假设。
94.100.100.100
)。A
在 DNS 中创建了一条指向您的域名的记录94.100.100.100
。80
到端口80
到minikube
桥接适配器IP 地址的端口转发。之后,您应该能够从外部连接到您的Ingress
资源。
该请求将首先联系 DNS 服务器以获取与域关联的 IP 地址。然后它会向这个 IP 地址(大概是你的路由器)发送请求。您的路由器会将此连接端口转发到您的minikube
实例。
归档时间: |
|
查看次数: |
821 次 |
最近记录: |