024.掌握Pod-部署MongoDB
目录
一 前期准备
1.1 前置条件
- 集群部署:Kubernetes集群部署参考003——019。
- glusterfs-Kubernetes部署:参考《附010.Kubernetes永久存储之GlusterFS超融合部署》。
1.2 部署规划
本实验使用StatefulSet部署MongoDB集群,同时每个MongoDB实例使用glusterfs实现永久存储。从而部署无单点故障、高可用、可动态扩展的MongoDB集群。
部署架构如下:
1 [root@k8smaster01 ~]# vi heketi-secret.yaml #创建用于保存密码的secret 2 apiVersion: v1 3 kind: Secret 4 metadata: 5 name: heketi-secret 6 namespace: heketi 7 data: 8 # base64 encoded password. E.g.: echo -n "mypassword" | base64 9 key: YWRtaW4xMjM= 10 type: kubernetes.io/glusterfs
1 [root@k8smaster01 heketi]# kubectl create -f heketi-secret.yaml #创建heketi 2 [root@k8smaster01 heketi]# kubectl get secrets -n heketi 3 NAME TYPE DATA AGE 4 default-token-6n746 kubernetes.io/service-account-token 3 144m 5 heketi-config-secret Opaque 3 142m 6 heketi-secret kubernetes.io/glusterfs 1 3m1s 7 heketi-service-account-token-ljlkb kubernetes.io/service-account-token 3 143m 8 [root@k8smaster01 ~]# mkdir mongo 9 [root@k8smaster01 ~]# cd mongo
1 [root@k8smaster01 heketi]# vi storageclass-fast.yaml 2 apiVersion: storage.k8s.io/v1 3 kin