Minikube で MongoDB Community Kubernetes Operator を使用して、MongoDB レプリカ セットをデプロイしようとしています。
公式の GitHub の指示に従ったので、次のようにしました。
- CRD のインストール
- 必要なロールとロール バインディングをインストールする
- Operator をインストールする Replicaset をデプロイする
デフォルトでは、オペレーターは 3 つの Pod を作成します。それぞれのポッドは、オペレーターによって作成された新しい永続ボリュームにバインドされた新しい永続ボリューム要求に自動的にリンクされます (これまでのところは問題ありません)。
ただし、データを特定のボリュームに保存し、特定のホスト パスにマウントしたいと考えています。そのため、それぞれが特定のホスト パスにマウントされた 3 つの永続ボリュームを作成する必要があるため、各ポッドがそれぞれの永続ボリュームに接続するように (おそらく matchLabels セレクターを使用して) 自動的にレプリカセットを構成する必要があります。そこで、次のファイルを適用して 3 つのボリュームを作成しました。
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv-00
namespace: $NAMESPACE
labels:
type: local
service: mongo
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/mongodata/00"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv-01
namespace: $NAMESPACE
labels:
type: local
service: mongo
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/mongodata/01"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv-02
namespace: $NAMESPACE
labels:
type: local
service: mongo
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/mongodata/02"
次に、次の方法でレプリカ セットの構成ファイルをセットアップしましたが、ポッドをボリュームに接続できません。
apiVersion: mongodbcommunity.mongodb.com/v1
kind: MongoDBCommunity
metadata:
name: mongo-rs
namespace: $NAMESPACE
spec:
members: 3
type: ReplicaSet
version: "4.4.0"
persistent: true
podSpec:
persistence:
single:
labelSelector:
matchLabels:
type: local
service: mongo
storage: 5Gi
storageClass: manual
statefulSet:
spec:
volumeClaimTemplates:
- metadata:
name: data-volume
spec:
accessModes: [ "ReadWriteOnce", "ReadWriteMany" ]
resources:
requests:
storage: 5Gi
selector:
matchLabels:
type: local
service: mongo
storageClassName: manual
security:
authentication:
modes: ["SCRAM"]
users:
- ...
additionalMongodConfig:
storage.wiredTiger.engineConfig.journalCompressor: zlib
mongodb.com_v1_custom_volume_cr.yamlを除いて、オンラインでドキュメントが見つかりません。以前にこの問題に直面した人はいますか? どうすればそれを機能させることができますか?