之前在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...