如何将流量从 127.0.0.1 映射到 Kubernetes Ingress Controller
How to map traffic from 127.0.0.1 to Kubernetes Ingress Controller
我正在尝试在没有任何 public 云提供商的情况下在我的系统上安装和设置 kubernetes。
我试过的
我能够创建服务并通过入口控制器 ip 访问它们
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.102.16.16 192.168.49.2 80:30548/TCP,443:31812/TCP 109m
ingress-nginx-controller-admission ClusterIP 10.108.137.156 <none> 443/TCP 109m
这是我的入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: odoo-ingress
spec:
rules:
- host: myservice.local.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: test-service
port:
number: 80
我的主机文件包含
192.168.49.2 myservice.local.com
并且我能够在 myservice.local.com 成功访问我的服务和部署。
我想要的:
public internet --> Ingress Controller --> Kubernetes Services
我希望我的入口控制器监听 127.0.0.1 并且在主机文件中它应该是
127.0.0.1 myservice.local.com
我想要这个是因为我想从 public 互联网访问这个集群。我没有为 kubernetes 使用任何 public 云提供商。
Minikube 在虚拟机上运行,因此在您的机器中还有另一个带有 kuberentes 的虚拟机。 Ingress 有效,但只有当你在你的机器上时。你无法访问kubernetes内部,因为你的主机和虚拟机之间没有代理。
public internet ->>> your machine ->>> virtual machine ->> ingress controller
切换到 microk8s(无虚拟框) 或在您的计算机上创建 nginx 代理并使用您的 kubernetes 将所有请求转发到虚拟机。
我正在尝试在没有任何 public 云提供商的情况下在我的系统上安装和设置 kubernetes。
我试过的
我能够创建服务并通过入口控制器 ip 访问它们
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.102.16.16 192.168.49.2 80:30548/TCP,443:31812/TCP 109m
ingress-nginx-controller-admission ClusterIP 10.108.137.156 <none> 443/TCP 109m
这是我的入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: odoo-ingress
spec:
rules:
- host: myservice.local.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: test-service
port:
number: 80
我的主机文件包含
192.168.49.2 myservice.local.com
并且我能够在 myservice.local.com 成功访问我的服务和部署。
我想要的:
public internet --> Ingress Controller --> Kubernetes Services
我希望我的入口控制器监听 127.0.0.1 并且在主机文件中它应该是
127.0.0.1 myservice.local.com
我想要这个是因为我想从 public 互联网访问这个集群。我没有为 kubernetes 使用任何 public 云提供商。
Minikube 在虚拟机上运行,因此在您的机器中还有另一个带有 kuberentes 的虚拟机。 Ingress 有效,但只有当你在你的机器上时。你无法访问kubernetes内部,因为你的主机和虚拟机之间没有代理。
public internet ->>> your machine ->>> virtual machine ->> ingress controller
切换到 microk8s(无虚拟框) 或在您的计算机上创建 nginx 代理并使用您的 kubernetes 将所有请求转发到虚拟机。