kubernetes - 如何在本地开发环境中使用 Ingress 公开 k8s 集群?
问题描述
我已经使用 minikube 创建了一个集群。向其添加了部署和集群 IP 服务。现在我想从集群外部访问这个资源,使用 curl 或浏览器和使用 nginx 入口控制器的 nginx 路由。我启用了入口并应用了以下 ingrwess-srv.yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: my-domain.dev
http:
paths:
- path: /auth
pathType: Prefix
backend:
service:
name: auth-srv
port:
number: 3003
这是我的 auth-depl.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-depl
spec:
replicas: 1
selector:
matchLabels:
app: auth
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: my-image-from-docker-hub
env:
- name: MONGO_URI
value: 'mongodb://auth-mongo-srv:27017/auth'
---
apiVersion: v1
kind: Service
metadata:
name: auth-srv
spec:
selector:
app: auth
ports:
- name: auth
protocol: TCP
port: 3003
targetPort: 3003
然后我运行:kubectl get ingress
这就是结果:
NAME CLASS HOSTS ADDRESS PORTS AGE
example-ingress nginx my-domain.dev 182.138.19.21 80 48m
然后我使用 sudo 添加 /etc/hosts:
182.138.19.21 my-domain.dev
然后运行:curl my-domain.dev
没有响应。
如何访问本地环境中的开发集群,以便在其上进行开发?
还尝试使用 skaffold,它实际上反映了 src 目录中的更改,但我找不到通过浏览器访问它们的方法。
解决方案
推荐阅读
- python - %: 'tuple' 和 'dict' 的 Django TypeError 不支持的操作数类型
- javascript - Create-React-App Auto 处理 GET 到路由
- foreach - Laravel 6 如何从列中获取计数
- disqus - 如何从 Disqus 中删除“Also on”?
- google-chrome - WebKit 537.36 - 大多数浏览器中的相同版本
- here-api - HERE API 中的流量请求返回邻近范围之外的结果
- module - 如何在 Fortran 中实现带有子模块的通用接口?
- laravel - 如何在 Laravel Query Builder 中转换 SQL 子查询?
- ruby-on-rails - 在 google app engine ruby 标准环境下,rails 应用程序推荐的 puma 线程数?
- javascript - 在excel文件中记录加速度计的值