#kubernetes #couchdb #kubernetes-statefulset
#кубернетес #couchdb #kubernetes-набор состояний
Вопрос:
Я развертываю кластер CouchDB в Kubernetes, и при настройке этого кластера я получаю ошибку.
- Версия Kubernetes: 1.22.4
- Докер версии 20.10.11, сборка dea9396
- Ubuntu 20.04
Когда я запускаю « kubectl exec couchdb-0 -i -t -- bash
» и « curl -X POST -H "Content-Type: application/json" http://admin:admin@127.0.0.1:5984/_cluster_setup -d '{"action": "enable_cluster", "bind_address":"0.0.0.0", "username": "admin", "password":"admin", "node_count":"3"}'
» для настройки кластера…
Я получаю эту ошибку « curl: (7) Failed to connect to 127.0.0.1 port 5984: Connection refused
»
Я думаю, что CouchDB все еще не установлен успешно. Когда я проверю это с помощью команды « curl http://127.0.0.1:5984/
«. Это показывает ошибку « curl: (7) Failed to connect to 127.0.0.1 port 5984: Connection refused
»
Как я могу это исправить !?
Это «pv.yaml».
--- apiVersion: v1 kind: PersistentVolume metadata: name: couch-vol-0 labels: volume: couch-volume spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce nfs: server: 192.168.1.100 path: "/var/couchnfs/couchdb-0" --- apiVersion: v1 kind: PersistentVolume metadata: name: couch-vol-1 labels: volume: couch-volume spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce nfs: server: 192.168.1.100 path: "/var/couchnfs/couchdb-1" --- apiVersion: v1 kind: PersistentVolume metadata: name: couch-vol-2 labels: volume: couch-volume spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce nfs: server: 192.168.1.100 path: "/var/couchnfs/couchdb-2"
Это «couchdb-statefulset.yaml»
--- apiVersion: apps/v1 kind: StatefulSet metadata: name: couchdb labels: app: couch spec: replicas: 3 serviceName: "couch-service" selector: matchLabels: app: couch template: metadata: labels: app: couch # pod label spec: containers: - name: couchdb image: couchdb:2.3.1 command: [ "/bin/bash", "-ce", "tail -f /dev/null" ] env: - name: NODE_NETBIOS_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NODENAME value: $(NODE_NETBIOS_NAME).couch-service # FQDN in vm.args - name: COUCHDB_USER value: admin - name: COUCHDB_PASSWORD value: admin - name: COUCHDB_SECRET value: couchsecret - name: ERL_FLAGS value: "-name couchdb@$(NODENAME)" - name: ERL_FLAGS value: "-setcookie couchsecret" # the “password” used when nodes connect to each other. ports: - name: couchdb containerPort: 5984 - name: epmd containerPort: 4369 - containerPort: 9100 volumeMounts: - name: couch-pvc mountPath: /opt/couchdb/data volumeClaimTemplates: - metadata: name: couch-pvc spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi selector: matchLabels: volume: couch-volume
Это «сервис.yaml».
--- apiVersion: v1 kind: Service metadata: name: couch-service namespace: default labels: app: couch spec: type: ClusterIP clusterIP: None ports: - port: 5984 protocol: TCP targetPort: 5984 selector: app: couch # label selector --- kind: Service apiVersion: v1 metadata: name: couch-nodep-svc labels: app: couch spec: type: NodePort # NodePort service ports: - port: 5984 nodePort: 30984 # external port protocol: TCP selector: app: couch # label selector
Комментарии:
1.
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
— это означает запускtail -f /dev/null
от имени команды вместо запуска couchdb.2. Мой модуль получит ошибку «CrashLoopBackOff» без этой строки. Так как же мне это исправить?!
3. Проверьте
describe
выходные данные модуля и журналы модуля, чтобы выяснить, почему происходит сбой цикла.