【发布时间】:2021-04-20 06:16:58
【问题描述】:
我正在尝试在没有任何公共云提供商的情况下在我的系统上安装和设置 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
我想要这个,因为我想从公共互联网访问这个集群。我没有为 Kubernetes 使用任何公共云提供商。
【问题讨论】:
-
如果你想从公共互联网访问这个集群,你希望入口列出的公共 IP 不是吗?
-
是的,入口应该监听我的公共 IP。但事实并非如此
-
您是否尝试过从不同的主机访问入口?该远程客户端是否使用 myservice.local.com 访问入口?
-
你在使用 minikube?
-
@AndriiLitvinov 是的,我尝试从不同的电脑访问。但我无法访问我的电脑(安装了 kubernets)
标签: nginx kubernetes kubernetes-ingress nginx-ingress