【发布时间】:2021-05-06 01:17:08
【问题描述】:
我正在尝试创建以下内容:
-
Deployment为 mongo -
Deployment用于 mongo-express -
ClusterIpfor mongo -
ClusterIp用于 mongo-express - 将请求路由到 mongo-express 的 Ingress 服务
我希望能够转到xyz.com/admin/auth-db-gui 并查看 mongo-express gui。
我在 Linux minikube 上运行它。
当转到 xyz.com/admin/auth-db-gui 时,我得到 503 Service Temporarily Unavailable,但是在执行 kubectl get pods 时,我可以看到 2 个 Pod 正在运行。
我将在/etc/hosts 中手动设置xyz.com 的映射,因为这仅用于开发目的
db.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-db-deployment
spec:
selector:
matchLabels:
app: auth-db
template:
metadata:
labels:
app: auth-db
spec:
containers:
- name: auth-db
image: mongo
---
apiVersion: v1
kind: Service
metadata:
name: auth-db-service
spec:
selector:
app: auth-db
ports:
- name: auth-db
protocol: TCP
port: 27017
targetPort: 27017
db-gui
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-db-gui-deployment
spec:
selector:
matchLabels:
app: auth-db-gui
template:
metadata:
labels:
app: auth-db-gui
spec:
containers:
- name: auth-db-gui
image: mongo-express
env:
- name: ME_CONFIG_MONGODB_SERVER
value: auth-db-service
---
apiVersion: v1
kind: Service
metadata:
name: auth-db-gui-service
spec:
selector:
app: auth-db-gui
ports:
- name: auth-db-gui
protocol: TCP
port: 27017
targetPort: 27017
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: xyz-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: xyz.com
http:
paths:
- path: /admin/auth-db-gui
backend:
serviceName: auth-db-gui-service
servicePort: 8081
如果上面有明显的错误,请见谅。
【问题讨论】:
-
你得到了什么确切的错误?你在哪个平台上工作?你在使用具体的教程吗?
-
感谢我更新了问题! 1. 503 服务在访问 url 时暂时不可用 2. linux minikube 3. 不,我没有使用特定的教程
-
您是否尝试在 Ingress yaml 文件中添加 27017 服务端口而不是 8081?
-
我试过了,但它对我没有用......但如果这有所作为......实际上 27017 就像两者的“pod”端口,而 8081 就像“入口端口”对吗?
标签: mongodb kubernetes kubernetes-ingress mongo-express