kubernetes使用statefulset部署mongoDB 单机版 自定义配置文件、密码等
2021-03-29 15:50
1006 查看
注:
docker版的mongo移除了默认的/etc/mongo.conf, 修改了db数据存储路径为 /data/db.
创建configmap配置,注意不能加fork=true,否则Pod会变成Completed。
存储:aliyun nas
svc: ClusterIP ? Headless Service ?
资源清单
configmap.yaml
apiVersion: v1 kind: ConfigMap metadata: name: mongodb-conf namespace: zisefeizhu data: mongodb.conf: | dbpath=/data/zisefeizhu/mongodb logpath=/data/zisefeizhu/mongodb/mongodb.log pidfilepath=/data/zisefeizhu/mongodb/master.pid directoryperdb=true logappend=true bind_ip=0.0.0.0 port=27017
storageclass.yaml
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mongodb namespace: zisefeizhu mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath server: "7131dxxxxxxxxxxxxxxxxxxxxxxcs.com:/mongodb/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain
svc.yaml
kind: Ser ad8 vice apiVersion: v1 metadata: labels: name: mongodb name: mongodb namespace: zisefeizhu spec: type: ClusterIP ports: - name: mongodb port: 27017 targetPort: 27017 selector: name: mongodb
statefulset.yaml
apiVersion: apps/v1 kind: StatefulSet metadata: name: mongodb namespace: zisefeizhu spec: replicas: 1 podManagementPolicy: OrderedReady #按照顺序启动或者终止Pod serviceName: mongodb selector: matchLabels: name: mongodb template: metadata: labels: name: mongodb spec: containers: - name: mongodb image: mongo:4.2.1 command: - sh - -c - "exec mongod -f /data/zisefeizhu/mongodb/conf/mongodb.conf" imagePullPolicy: IfNotPresent ports: - containerPort: 27017 name: mongodb protocol: TCP volumeMounts: - name: mongodb-config mountPath: /data/zisefeizhu/mongodb/conf/ - name: data mountPath: /data/zisefeizhu/mongodb/ volumes: - name: mongodb-config configMap: name: mongodb-conf volumeClaimTemplates: #定义创建PVC使用的模板 - metadata: name: data annotations: #这是指定storageclass volume.beta.kubernetes.io/storage-class: mongodb spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi
测试
# ctl get pods -n zisefeizhu | grep mongodb mongodb-0 1/1 Running 0 25m
连接
ctl exec -it mongodb-0 -n zisefeizhu -- mongo MongoDB shell version v4.2.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("de51ecc8-ce78-4e4d-8107-662f3adb0e77") } MongoDB server version: 4.2.1 Server has startup warnings: 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2021-03-29T07:18:24.047+0000 I CONTRO ad8 L [initandlisten] ** We suggest setting it to 'never' 2021-03-29T07:18:24.047+0000 I CONTROL [initandlisten] --- Enable MongoDB's free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() --- > show databases; admin 0.000GB config 0.000GB local 0.000GB
相关文章推荐
- WCF开发-使用证书文件配置基于自定义X509证书验证的消息安全模式
- Emacs自定义配置文件 - google-c-style.el等编程插件使用方法
- Spring 中使用jasypt对配置文件(.properties)中密码加密
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 \\ 节中包括 System.Web.SessionStateMod 或自定义会话状态模块
- 初识WCF之使用配置文件部署WCF应用程序
- Kubernetes用户指南(一)--快速开始、使用k8s配置文件
- 谷歌验证码非web.xml非servlet拦截 使用配置文件自定义加载,防止多次点击(防js攻击)
- FastDFS的配置、部署与API使用解读(3)以流的方式上传文件的客户端代码
- Emacs自定义配置文件 - google-c-style.el等编程插件使用方法
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码(转)
- VS web.config/app.conifg配置文件自定义类型使用智能感知功能
- MySQL单机多实例部署详解之------多实例分别定义不同的配置文件
- 使用配置文件自定义Ribbon的负载均衡
- 使用eclipse在tomcat下部署项目不覆盖配置文件server.xml
- 使用spring+JMX热部署配置文件
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码
- .NET 插件系统框架设计(二) 使用对象序列化实现自定义配置文件管理
- 使用tomcat配置文件 部署工程
- Eclipse中使用Checkstyle,checkstyle插件检查java代码的自定义配置文件:
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码