【发布时间】:2019-04-14 16:19:12
【问题描述】:
我正在通过玩 minikube 来学习 kubernetes。
这是我的 pod 部署文件,很好。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage
我正在使用 NodePort 公开上述 pod。我可以在 30002 端口使用 minikube IP 访问。
apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080
现在我想使用 ingress 访问端口 80 的应用程序,它将请求转发到端口 3000 的 ip-service。它不起作用
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000
如果我尝试访问入口,地址为空白。
NAME HOSTS ADDRESS PORTS AGE
test-ingress * 80 41m
如何在 minikube 中使用 ingress?或者如何将 minikube ip 与入口服务绑定 - 以便应用程序可以在不使用 nodeport 的情况下暴露在外面
【问题讨论】:
-
请检查此问题是否与您的问题有关:stackoverflow.com/questions/51243717/…
-
谢谢 Mr.Seth,我已经看到了这个答案。它不起作用。我确实在 /etc/hosts 中添加了一个条目 -
-
@SethDifley ,谢谢 Seth,正如您所提到的,如果我们需要使用入口,k8s 似乎只能与某种外部负载均衡器一起使用。 blog.getambassador.io/…。我不知道你为什么删除你的答案
标签: kubernetes minikube kubernetes-ingress