Ich folgte der https://www.mongodb.com/blog/post/running-mongodb-as-a-microservice-with-docker-and-kubernetes und versuchte, eine einzelne Mongodb-Instanz mit einem LoadBalancer Service und Replication Controller auf einem Google Cloud-Konto zu betreiben.Kubernetes mit MongoDb
Es folgt die YAML-Datei:
---
apiVersion: v1
kind: Service
metadata:
name: mongo-svc-a
labels:
name: mongo-svc-a
spec:
type: LoadBalancer
ports:
- port: 27017
targetPort: 27017
protocol: TCP
name: mongo-svc-a
selector:
name: mongo-node1
instance: rod
---
apiVersion: v1
kind: ReplicationController
metadata:
name: mongo-rc1
labels:
name: mongo-rc
spec:
replicas: 1
selector:
name: mongo-node1
template:
metadata:
labels:
name: mongo-node1
instance: rod
spec:
containers:
- name: mongo-node1
image: mongo
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage1
mountPath: /data/db
volumes:
- name: mongo-persistent-storage1
gcePersistentDisk:
pdName: mongodb-disk1-in-cluster1
fsType: ext4
Nach den Angaben des Service, Replication-Controller und Pods, die erstellt wurden. Alles scheint in Ordnung zu sein.
$ kubectl describe service mongo-svc-a
Name: mongo-svc-a
Namespace: default
Labels: name=mongo-svc-a
Selector: instance=rod,name=mongo-node1
Type: LoadBalancer
IP: 10.3.241.11
LoadBalancer Ingress: 104.198.236.2
Port: mongo-svc-a 27017/TCP
NodePort: mongo-svc-a 31808/TCP
Endpoints: 10.0.0.3:27017
Session Affinity: None
No events.
$ kubectl describe rc mongo-rc1
Name: mongo-rc1
Namespace: default
Image(s): mongo
Selector: name=mongo-node1
Labels: name=mongo-rc
Replicas: 1 current/1 desired
Pods Status: 1 Running/0 Waiting/0 Succeeded/0 Failed
Volumes:
mongo-persistent-storage1:
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
PDName: mongodb-disk1-in-cluster1
FSType: ext4
Partition: 0
ReadOnly: false
No events.
$ kubectl describe pod mongo-rc1-h0j8r
Name: mongo-rc1-h0j8r
Namespace: default
Node: gke-cluster1-default-pool-d58b6c05-74fq/10.128.0.6
Start Time: Sat, 11 Feb 2017 18:43:00 +0530
Labels: instance=rod
name=mongo-node1
Status: Running
IP: 10.0.0.3
Controllers: ReplicationController/mongo-rc1
Containers:
mongo-node1:
Container ID: docker://9f28e482d3806b74f7f595c47e6c7940c2313e95860db13d137ad6eaa88bb341
Image: mongo
Image ID: docker://sha256:ad974e767ec4f06945b1e7ffdfc57bd10e06baf66cdaf5a003e0e6a36924e30b
Port: 27017/TCP
Requests:
cpu: 100m
State: Running
Started: Sat, 11 Feb 2017 18:45:37 +0530
Ready: True
Restart Count: 0
Volume Mounts:
/data/db from mongo-persistent-storage1 (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-3wfv3 (ro)
Environment Variables: <none>
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
mongo-persistent-storage1:
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
PDName: mongodb-disk1-in-cluster1
FSType: ext4
Partition: 0
ReadOnly: false
default-token-3wfv3:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-3wfv3
QoS Class: Burstable
Tolerations: <none>
No events.
Aber wenn ich versuche, auf Remote-Verbindung, mongo --hostname <Extenal_IP_of_the_service>
in die neu geschaffenen monogdb Instanz, ich bin keine Verbindung herstellen. Ich glaube, die Konfiguration scheint in Ordnung zu sein. Jede Hilfe wäre willkommen. Danke,
- Pavan
Ich denke, das für so ein bisschen zu breit ist - Sie alle Schritte zumindest zeigen sollten Sie getroffen haben zu beheben oder reproduzieren die Probleme. Für Anwendungen, die auf Kubernetes laufen, ist der Start des [Fehlerbehebungshandbuchs für Anwendungen] (https://kubernetes.io/docs/user-guide/application-troubleshooting/) ein guter Anfang. Falls Sie Fehler auf dem Weg finden, bearbeiten Sie Ihre Fragen mit Ihren Befunden. – pagid
Danke. Wird weitere Protokolle hinzufügen. –