在k8s上搭建mongodb集群

2021-10-23 11:19:05 字數 1889 閱讀 6133

之前在k8s上搭建的mongo集群,總是需要在pod新建好之後,再連上去執行命令在多個pod間建立聯絡。本想著要不要寫乙個東西一起放進pod裡面去代替最後那步手動操作,但上github上一搜發現已經有老哥完成了這個工具了。

以下是用到的兩個k8s配置:

kind: statefulset

metadata:

namespace: service

name: mongo

spec:

selector:

matchlabels:

servicename: ump-mongo-service

replicas: 3

podmanagementpolicy: parallel

template:

metadata:

labels:

spec:

terminationgraceperiodseconds: 10

affinity:

podantiaffinity:

requiredduringschedulingignoredduringexecution:

- labelselector:

matchexpressions:

operator: in

values:

- ump-mongo

topologykey: "kubernetes.io/hostname"

containers:

- name: mongo-master

image: mongo:4.0.13

command:

- mongod

- "--bind_ip"

- 0.0.0.0

- "--replset"

- rs0

ports:

- containerport: 27017

volumemounts:

- name: mongo-persistent-storage

mountpath: /data/db

- name: mongo-sidecar

image: mongo-k8s-sidecar:2.0

env:

- name: kubernetes_pod_labels

- name: kubernetes_service_name

value: "ump-mongo-service"

- name: kubernetes_cluster_domain

value: 33.tess.io

volumeclaimtemplates:

- metadata:

name: mongo-persistent-storage

spec:

storageclassname: cinder-standard

accessmodes: [ "readwriteonce" ]

resources:

requests:

storage: 70gi

apiversion: v1

kind: service

metadata:

name: ump-mongo-cluster

namespace: service

labels:

spec:

ports:

- name: mongo

port: 27017

targetport: 27017

selector:

clusterip: none

當前的這個sidecar對mongo 4.4以上不太好使,如果用的4.4以上的images需要把**fork,去改一下

在centos7上搭建k8s環境

參考 kubernetes權威指南 第2章 問題 cgroupdriver 問題導致kublet無法執行 因為kubernetes設定cgroupdriver為systemd,而docker服務的cgroupdriver預設為cgroupfs,建議修改為systemd root master cat...

k8s搭建集群

k8s由兩種型別資源組成 分別是 master 和 nodes k8s的集群部署方式有三種 1.kubeadm 2.minikube 3.二進位製包 前兩種為自動部署,簡化操作。說一說手動部署的 二進位製包 k8s集群部署步驟 1.關閉防火牆 firewall cmd state systenctl...

K8s 集群搭建

目前生產部署 kubernetes 集群主要有兩種方式 kubeadm 與 二進位製包 一 kubeadm 概念 kubeadm 是乙個 k8s 部署工具,提供 kubeadm init 和 kubeadm join,用於快速部署 kubernetes 集群。官網 二 二進位製包 總之 kubead...