K8s部署MongoDB使用cephfs做数据持久化
2021/9/29 19:10:50
本文主要是介绍K8s部署MongoDB使用cephfs做数据持久化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.1 前提准备
MongoDB
镜像 可从 Docker Hub 官网 下载镜像- 外部ceph集群搭建好,(使用cephfs-csi 做数据持久卷,作为
MongoDB用来存放数据
)
1.2 编写 yaml
文件
编写 mongo.yaml
文件,提供了一个对外暴露的 NodePort 类型的 Service,用于外部访问。
--- apiVersion: v1 kind: Namespace metadata: name: mongodb labels: name: mongo --- #创建fastdfs存储卷pvc分配1G使用 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodb-pvc namespace: mongodb spec: accessModes: - ReadWriteMany storageClassName: jyy-cephfs-sc resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: mongo namespace: mongodb labels: app: mongo spec: ports: - name: mongo port: 27017 targetPort: 27017 clusterIP: None --- apiVersion: v1 kind: Service metadata: name: mongo-service namespace: mongodb labels: app: mongo spec: ports: - name: mongo-service port: 27017 nodePort: 27017 selector: app: mongo type: NodePort --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo namespace: mongodb spec: selector: matchLabels: app: mongo serviceName: "mongo" replicas: 1 template: metadata: labels: app: mongo spec: terminationGracePeriodSeconds: 0 containers: - name: mongo image: mongo:latest env: - name: MONGO_INITDB_ROOT_USERNAME value: root - name: MONGO_INITDB_ROOT_PASSWORD value: 'uUN38#%pq' command: - mongod - "--bind_ip_all" - "--replSet" - rs0 ports: - containerPort: 27017 volumeMounts: - name: mongo-data mountPath: /data/db volumes: - name: mongo-data persistentVolumeClaim: claimName: mongodb-pvc
这篇关于K8s部署MongoDB使用cephfs做数据持久化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08云原生周刊:Kubernetes v1.30 发布 | 2024.4.22
- 2024-05-08云原生周刊:K8s 中的服务和网络 | 2024.4.29
- 2024-03-29kubernetes crashloopbackoff
- 2024-03-13ubuntu install kubernetes
- 2024-03-07k8s coredns containercreating
- 2024-03-04k8s for dummies
- 2024-03-01pulumi kubernetes operator
- 2024-02-06云原生周刊:K8s 1.26 到 1.29 版本的更新 | 2024.1.29
- 2024-01-24K8s集群CoreDNS监控告警最佳实践
- 2024-01-23OpenKruise :Kubernetes背后的托底