Mongodb 无法将pod暴露在外部使用服务和入口
我为mongodb创建了一个pod,部署文件如下所示: 持久卷声明定义为:Mongodb 无法将pod暴露在外部使用服务和入口,mongodb,kubernetes,kubernetes-ingress,kubernetes-pod,kubernetes-service,Mongodb,Kubernetes,Kubernetes Ingress,Kubernetes Pod,Kubernetes Service,我为mongodb创建了一个pod,部署文件如下所示: 持久卷声明定义为: kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mongodb-data-claim annotations: volume.beta.kubernetes.io/storage-class: vmfs1 spec: accessModes: - ReadWriteOnce resources: requests
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mongodb-data-claim
annotations:
volume.beta.kubernetes.io/storage-class: vmfs1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
有状态部署yaml:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongodb
spec:
serviceName: "mongodb"
selector:
matchLabels:
app: mongodb
replicas: 1
template:
metadata:
labels:
app: mongodb
spec:
volumes:
- name: mongodb-data
persistentVolumeClaim:
claimName: mongodb-data-claim
containers:
- name: mongodb
image: imagefromInternalRepo/mongo:4.0.12
command:
- mongod
- --bind_ip
- 0.0.0.0
volumeMounts:
- name: mongodb-data
mountPath: /data/db
ports:
- containerPort: 27017
yaml的服务是:
apiVersion: v1
kind: Service
metadata:
name: mongodb
labels:
app: mongodb
spec:
type: NodePort
ports:
- port: 27017
targetPort: 27017
nodePort: 32017
protocol: TCP
name: http
selector:
app: mongodb
入口yaml为:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-mongodb
spec:
rules:
- host: "bb-mongo-db.namespace.com"
http:
paths:
- path: /
backend:
serviceName: mongodb
servicePort: 32017
tls:
- hosts:
- "bb-mongo-db.namespace.com"
吊舱启动并运行。
但是当我尝试点击url bb-mongo-db.namespace.com时,我得到了503:service
不可用
我是新手。请帮我做这个 如果您使用的是Nginx入口,它不支持开箱即用的TCP/UDP服务,您试图通过Http访问MongoDB,但这不起作用,要为Nginx入口配置TCP/UDP,您可以使用以下解决方法: