canal配置mysql mgr集群_Kubernetes搭建rook-ceph

简介Rook是云原生计算基金会(CNCF)的孵化级项目.

Rook是Kubernetes的开源云本地存储协调器,为各种存储解决方案提供平台,框架和支持,以便与云原生环境本地集成。

ceph官方提供的helm部署,至今我没成功过,所以转向使用rook提供的方案

环境centos 7.5kernel 4.18.7-1.el7.elrepo.x86_64

docker 18.06kubernetes v1.12.2

kubeadm部署:

网络: canal

DNS: coredns

集群成员:

192.168.1.1 kube-master    192.168.1.2 kube-node1    192.168.1.3 kube-node2    192.168.1.4 kube-node3    192.168.1.5 kube-node4

所有node节点准备一块200G的磁盘:/dev/sdb

938f95241f9840dd3ed3a064cbc9c899.png

准备工作所有节点开启ip_forwardcat <  /etc/sysctl.d/ceph.conf

net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF

sysctl --system

开始部署Operator部署Rook Operator#无另外说明,全部操作都在master操作cd $HOMEgit clone https://github.com/rook/rook.gitcd rookcd cluster/examples/kubernetes/ceph

kubectl apply -f operator.yaml

fde14483ebd8f62b79d6f87e3f7dc109.png查看Operator的状态#执行apply之后稍等一会。#operator会在集群内的每个主机创建两个pod:rook-discover,rook-ceph-agentkubectl -n rook-ceph-system get pod -o wide

d861ea74e5719967b12e55dac2ea75bf.png

给节点打标签运行ceph-mon的节点打上:ceph-mon=enabledkubectl label nodes {kube-node1,kube-node2,kube-node3} ceph-mon=enabled运行ceph-osd的节点,也就是存储节点,打上:ceph-osd=enabledkubectl label nodes {kube-node1,kube-node2,kube-node3} ceph-osd=enabled运行ceph-mgr的节点,打上:ceph-mgr=enabled#mgr只能支持一个节点运行,这是ceph跑k8s里的局限kubectl label nodes kube-node1 ceph-mgr=enabled

配置cluster.yaml文件文件中有几个地方要注意:dataDirHostPath: 这个路径是会在宿主机上生成的,保存的是ceph的相关的配置文件,再重新生成集群的时候要确保这个目录为空,否则mon会无法启动

useAllDevices: 使用所有的设备,建议为false,否则会把宿主机所有可用的磁盘都干掉

useAllNodes:使用所有的node节点,建议为false,肯定不会用k8s集群内的所有node来搭建ceph的

databaseSizeMB和journalSizeMB:当磁盘大于100G的时候,就注释这俩项就行了

本次实验用到的 cluster.yaml 文件内容如下:apiVersion: v1kind: Namespacemetadata:

name: rook-ceph

---apiVersion: v1kind: ServiceAccountmetadata:

name: rook-ceph-cluster

namespace: rook-ceph

---kind: RoleapiVersion: rbac.authorization.k8s.io/v1beta1metadata:

name: rook-ceph-cluster

namespace: rook-cephrules:- apiGroups: [""]

resources: ["configmaps"]

verbs: [ "get", "list", "watch", "create", "update", "delete" ]

---# Allow the operator to create resources in this cluster's namespacekind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata:

name: rook-ceph-cluster-mgmt

namespace: rook-cephroleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: rook-ceph-cluster-mgmtsubjects:- kind: ServiceAccount

name: rook-ceph-system

namespace: rook-ceph-system

---# Allow the pods in this namespace to work with configmapskind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata:

name: rook-ceph-cluster

namespace: rook-cephroleRef:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值