Ewa*_*ine 4 mongodb google-cloud-platform kubernetes
我在Google Cloud上有一个Kubernetes集群,我有一个数据库服务,它在mongodb部署之前运行.我还有一系列微服务,它们正在尝试连接到该数据存储区.
但是,他们似乎无法找到主持人.
apiVersion: v1
kind: Service
metadata:
labels:
name: mongo
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
selector:
name: mongo
Run Code Online (Sandbox Code Playgroud)
这是我的mongo部署......
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mongo-deployment
spec:
replicas: 1
template:
metadata:
labels:
name: mongo
spec:
containers:
- image: mongo:latest
name: mongo
ports:
- name: mongo
containerPort: 27017
hostPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
volumes:
- name: mongo-persistent-storage
gcePersistentDisk:
pdName: mongo-disk
fsType: ext4
Run Code Online (Sandbox Code Playgroud)
以及我的一项服务的例子......
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: bandzest-artists
spec:
replicas: 1
template:
metadata:
labels:
name: bandzest-artists
spec:
containers:
- name: artists-container
image: gcr.io/<omitted>/artists:41040e8
ports:
- containerPort: 7000
imagePullPolicy: Always
env:
- name: DB_HOST
value: mongo
- name: AWS_BUCKET_NAME
value: <omitted>
- name: AWS_ACCESS_KEY_ID
value: <omitted>
- name: AWS_SECRET_KEY
value: <omitted>
Run Code Online (Sandbox Code Playgroud)
Joe*_*l B 10
首先,检查是否已创建服务
kubectl describe svc mongo
您应该看到它显示它已创建并路由到您的pod的IP.如果你想知道你的pod的IP是什么,你可以通过它来检查它
kubectl get po | grep mongo
哪个应该返回类似:mongo-deployment-<guid>-<guid>然后呢
kubectl describe po mongo-deployment-<guid>-<guid>
你应该确保pod正确启动并且说Running不是这样的ImagePullBackoff.看起来你正在安装一个音量gcePersistentDisk.如果你看到你的吊舱只是挂在ContainerCreating状态,你很可能没有正确安装磁盘.在尝试将其作为卷安装之前,请确保创建磁盘.
如果您的服务看起来路由正确,那么您可以检查您的pod的日志,以确保它正确启动mongo:
kubectl logs mongo-deployment-<guid>-<guid>
如果它看起来像pod和日志是正确的,你可以执行进入pod并确保mongo实际上正在启动和工作:
kubectl exec -it mongo-deployment-<guid>-<guid> sh
哪个应该让你进入容器(Pod),然后你可以尝试这样的东西,看看你的数据库是否正在运行.
| 归档时间: |
|
| 查看次数: |
6178 次 |
| 最近记录: |