17-kubernetes集群中ceph集群使用
<文章感谢 xingdian >
文章目录
- kubernetes集群中ceph集群使用
- 一:CephFS 创建和使用
- 1.filesystem 配置
- 2.查看资源配置
- 3.创建相对应的storageclass
- 4.kubernetes-dashboard查看结果
- 5.cpch-cephFS测试
- 6.创建数据验证共享性
- 二:kubenetes 部署 Prometheus 监控
kubernetes集群中ceph集群使用
一:CephFS 创建和使用
CephFS 允许用户挂载一个兼容posix的共享目录到多个主机,该存储和NFS共享存储以及CIFS共享目录相似
1.filesystem 配置
filesystem.yaml: 3份副本的生产环境配置,需要至少3个节点
filesystem-ec.yaml: 纠错码的生产环境配置,需要至少3个节点
filesystem-test.yaml: 1份副本的测试环境,只需要一个节点
[root@master ~]# cd /tmp/rook/cluster/examples/kubernetes/ceph
[root@master ceph]# sed -i 's/failureDomain: host/failureDomain: osd/g' filesystem.yaml
[root@master ceph]# kubectl apply -f filesystem.yaml
cephfilesystem.ceph.rook.io/myfs created
[root@master cephfs]# kubectl -n rook-ceph get pod -l app=rook-ceph-mds
NAME READY STATUS RESTARTS AGE
rook-ceph-mds-myfs-a-5bd6895d9-mbbm6 1/1 Running 0 7m21s
rook-ceph-mds-myfs-b-7d7b55684b-j5f5x 1/1 Running 0 7m4s
2.查看资源配置
[root@master ceph]# NAME=$(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}')
[root@master ceph]# kubectl -n rook-ceph exec -it ${NAME} sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
sh-4.2# ceph statuscluster:id: fb3cdbc2-8fea-4346-b752-131fd1eb2bafhealth: HEALTH_ERR1 filesystem is offline1 filesystem is online with fewer MDS than max_mds1/3 mons down, quorum a,bservices:mon: 3 daemons, quorum (age 2h), out of quorum: a, b, cmgr: a(active, since 136y)mds: myfs:0osd: 4 osds: 3 up (since 136y), 3 in (since 136y)data:pools: 2 pools, 64 pgsobjects: 0 objects, 0 Busage: 3.0 GiB used, 21 GiB / 24 GiB availpgs: 64 active+cleansh-4.2# ceph osd lspools
1 myfs-metadata
2 myfs-data0
sh-4.2# ceph mds stat
myfs:1 {0=myfs-b=up:active} 1 up:standby-replay
sh-4.2# ceph fs ls
name: myfs, metadata pool: myfs-metadata, data pools: [myfs-data0 ]
3.创建相对应的storageclass
如果想使用CephFS,必须创建storageclass
[root@master ceph]# cd /tmp/rook/cluster/examples/kubernetes/ceph/csi/cephfs/
[root@master cephfs]# kubectl apply -f storageclass.yaml
storageclass.storage.k8s.io/csi-cephfs created
4.kubernetes-dashboard查看结果
5.cpch-cephFS测试
案例一:多容器共享同一个数据目录,部署多个私有仓库共享同一个数据目录进行测试
[root@master cephfs]# ls
kube-registry.yaml pod.yaml pvc.yaml storageclass.yaml
[root@master cephfs]# docker pull registry:2
2: Pulling from library/registry
0a6724ff3fcd: Pull complete
d550a247d74f: Pull complete
1a938458ca36: Pull complete
acd758c36fc9: Pull complete
9af6d68b484a: Pull complete
Digest: sha256:d5459fcb27aecc752520df4b492b08358a1912fcdfa454f7d2101d4b09991daa
Status: Downloaded newer image for registry:2
docker.io/library/registry:2
[root@master cephfs]# kubectl create -f kube-registry.yaml
persistentvolumeclaim/cephfs-pvc created
deployment.apps/kube-registry created
6.创建数据验证共享性
创建数据验证共享性
在kube-system下创建了一个deployment作为私有仓库
将目录/var/lib/registry挂接到CephFS,并且是3个副本共享挂载的
[root@k8s-master01 cephfs]# kubectl get pod -n kube-system -l k8s-app=kube-registry -o wide
[root@k8s-master01 cephfs]# kubectl -n kube-system exec -it kube-registry-65df7d789d-9bwzn sh
sh-4.2# df -hP|grep '/var/lib/registry'
sh-4.2# cd /var/lib/registry
sh-4.2# touch abc
sh-4.2# exit
[root@k8s-master01 cephfs]# kubectl -n kube-system exec -it kube-registry-65df7d789d-sf55j
sh-4.2# ls /var/lib/registry
sh-4.2# abc
二:kubenetes 部署 Prometheus 监控
1.下载 kube-prometheus
[root@master opt]# cd /opt
[root@master opt]# git clone https://github.com/coreos/kube-prometheus.git
2.过滤所需镜像
需要搂出来所有的镜像信息,使用阿里云镜像服务做中转加速,镜像信息简单搂取脚本如下:
[root@master kube-prometheus]# find . -name "*.yaml" -exec grep 'quay.io' {} \;|awk '{print $NF}'|sort|uniq
--prometheus-config-reloader=quay.io/prometheus-operator/prometheus-config-reloader:v0.44.1
quay.io/brancz/kube-rbac-proxy:v0.8.0
quay.io/coreos/kube-state-metrics:v1.9.7
quay.io/fabxc/prometheus_demo_service
quay.io/prometheus/alertmanager:v0.21.0
quay.io/prometheus/blackbox-exporter:v0.18.0
quay.io/prometheus/node-exporter:v1.0.1
quay.io/prometheus-operator/prometheus-operator:v0.44.1
quay.io/prometheus/prometheus:v2.22.1
[root@master kube-prometheus]# find . -name "*.yaml" -exec grep 'image: ' {} \;|awk '{print $NF}'|sort|uniq
}}
directxman12/k8s-prometheus-adapter:v0.8.2
gcr.io/google_containers/metrics-server-amd64:v0.2.0
grafana/grafana:7.3.5
jimmidyson/configmap-reload:v0.4.0
quay.io/brancz/kube-rbac-proxy:v0.8.0
quay.io/coreos/kube-state-metrics:v1.9.7
quay.io/fabxc/prometheus_demo_service
quay.io/prometheus/alertmanager:v0.21.0
quay.io/prometheus/blackbox-exporter:v0.18.0
quay.io/prometheus/node-exporter:v1.0.1
quay.io/prometheus-operator/prometheus-operator:v0.44.1
quay.io/prometheus/prometheus:v2.22.1
3.配置文件中替换为阿里镜像
[root@master kube-prometheus]# cat a.sh
find . -name "*.yaml" -exec sed -i 's|gcr.io/google_containers/metrics-server-amd64:v0.2.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/metrics-server-amd64:v0.2.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|grafana/grafana:6.6.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/grafana:6.6.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|jimmidyson/configmap-reload:v0.3.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/configmap-reload:v0.3.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|luxas/autoscale-demo:v0.1.2|registry.cn-hangzhou.aliyuncs.com/vinc-auto/autoscale-demo:v0.1.2|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/coreos/k8s-prometheus-adapter-amd64:v0.5.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/k8s-prometheus-adapter-amd64:v0.5.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/coreos/kube-rbac-proxy:v0.4.1|registry.cn-hangzhou.aliyuncs.com/vinc-auto/kube-rbac-proxy:v0.4.1|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/coreos/kube-state-metrics:v1.9.5|registry.cn-hangzhou.aliyuncs.com/vinc-auto/kube-state-metrics:v1.9.5|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/coreos/prometheus-config-reloader:v0.38.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/prometheus-config-reloader:v0.38.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/coreos/prometheus-operator:v0.38.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/prometheus-operator:v0.38.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/fabxc/prometheus_demo_service|registry.cn-hangzhou.aliyuncs.com/vinc-auto/prometheus_demo_service:latest|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/prometheus/alertmanager:v0.20.0|registry.cn-hangzhou.aliyuncs.com/vinc-auto/alertmanager:v0.20.0|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/prometheus/node-exporter:v0.18.1|registry.cn-hangzhou.aliyuncs.com/vinc-auto/node-exporter:v0.18.1|g' {} \;
find . -name "*.yaml" -exec sed -i 's|quay.io/prometheus/prometheus:v2.15.2|registry.cn-hangzhou.aliyuncs.com/vinc-auto/prometheus:v2.15.2|g' {} \;
[root@master kube-prometheus]# bash a.sh
4.安装 prometheus-operator
[root@master kube-prometheus]# kubectl apply -f manifests/setup
5.安装 promethes metric adapter
[root@master kube-prometheus]# kubectl apply -f manifests/
6.查看运行状态
[root@master kube-prometheus]# kubectl get pods -n monitoring
[root@master kube-prometheus]# kubectl top pods -n monitoring
7.暴露 prometheus 服务
修改 ClusterIP 为 NodePort
[root@master kube-prometheus]# kubectl edit svc prometheus-k8s -n monitoring
8.浏览器访问测试 prometheus
9.暴露 grafana 服务
修改 ClusterIP 为 NodePort
[root@master kube-prometheus]# kubectl edit svc grafana -n monitoring
10.浏览器访问测试 grafana
用户名密码均为 admin
``
8.浏览器访问测试 prometheus
9.暴露 grafana 服务
修改 ClusterIP 为 NodePort
[root@master kube-prometheus]# kubectl edit svc grafana -n monitoring
10.浏览器访问测试 grafana
用户名密码均为 admin
<文章感谢 xingdian >
17-kubernetes集群中ceph集群使用相关推荐
- K8s——kubernetes集群中ceph集群使用【下】
kubernetes集群中ceph集群使用 一:CephFS 创建和使用 CephFS 允许用户挂载一个兼容posix的共享目录到多个主机,该存储和NFS共享存储以及CIFS共享目录相似 1.file ...
- K8s——kubernetes集群中ceph集群使用【上】
kubernetes集群中ceph集群使用 块设备创建和使用 Ceph 能够为 pod 提供裸的块设备卷,定义在Ceph数据冗余级别的一个池中 1.storageclass 配置 storagecla ...
- 16-kubernetes集群中ceph集群使用
<文章感谢 xingdian > 文章目录 kubernetes集群中ceph集群使用 一:块设备创建和使用 1.storageclass 配置 2.查看配置结果 3.kubernetes ...
- k8s——kubernetes使用rook部署ceph集群
kubernetes使用rook部署ceph集群 一:环境准备 1.安装时间服务器进行时间同步 所有的kubernetes的集群节点 [root@master ~]# yum -y install n ...
- HTML文件发到群里,怎么将文件分享到百度云群中?百度云群组分享文件的教程
百度云是百度旗下的一个云端存储服务,我们可以在百度云中存储照片.视频.BT文件(还可在线播放).当然也可以建立一个群组,将自己的小伙伴拉进这个群当中,将自己的文件分享给他们.那么,具体地我们该如何操作 ...
- KubeSphere通过Ceph CSI对接持久化存储Ceph集群
KubeSphere通过Ceph CSI对接持久化存储Ceph集群 1. Ceph集群设置 2. 创建Kubernetes的存储卷类型和csi适配中间层资源 3. kk工具中加入ceph-csi-rb ...
- Ceph (2) - 安装Ceph集群方法 2:使用cephadm配置Nautilus版Ceph集群
<OpenShift 4.x HOL教程汇总> 文章目录 安装环境说明 Ceph集群节点说明 Ceph集群主机环境说明 用cephadm部署Ceph集群 准备节点环境 设置环境变量 设置h ...
- centos7 ceph 集群部署
ceph 一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统 一.Ceph必备组件 OSD(Object Storage Device) Ceph OSD守护进程(Ceph OSD)的功 ...
- 使用cephadm部署单节点ceph集群,后期可扩容(基于官方文档,靠谱,读起来舒服)
目录 ceph各种部署工具比较(来自官方文档的翻译,靠谱!) 材料准备 cephadm使用条件 服务器有外网访问能力 服务器没有外网访问能力 安装cephadm cephadm的功能 两种安装方式 基 ...
最新文章
- static用法总结
- 陶哲轩之后,有人在这个猜想的证明之路上又前进了一步
- iscsi lun extend---windows客户端
- VSCODE常见问题(设置为4个空格)
- golang 反射_云原生的 Java与Golang
- OnClick,OnClientClick和OnServerClick的区别
- 数学 —— 巧用进制
- 【转】执行Import-SPWeb报错Import-SPWeb : Requested value 'PublishingPages' was not found
- 这不是商业互吹,是学习的宝藏
- Python 数据结构与算法——从二分图到寻找最大排列(Maximum Permutation)
- eclipse maven 导出项目依赖的jar包
- day08 系统篇端口扫描CDN服务负载均衡WAF防火墙
- 基于springboot jpa驾校管理系统源码
- easyUI日期框的日期范围限制
- Web前端深色模式适配方案
- C# 使用SDL2进行视频播放窗口截图和字幕添加
- 友基s400手写板怎么安装_电脑手写板怎么安装 轻松学会安装手写板【图文】
- 读后:警惕软件复杂度困局
- IIS安装ARR(Application Request Router)反向代理插件
- ftrace--------------trace points
热门文章
- Android WebView加载完成的监听
- geoserver 发布 矢量切片(pbf)并用openlayers 6.14 /leaflet 1.8 加载展示 (二)(小白必备:超详细教程)
- 为什么说 Flutter 可能不是下一件大事?
- iMAG(爱码哥)新建应用
- zzuoj 10400: B.海岛争霸
- 刘德华--9风雨人生路
- “以电折水、水电共计”智能仪表助力农业灌溉走上新模式
- 回归评价指标:均方误差根(RMSE)和R平方(R2)
- 《股票魔法师》第6-7章读书分享
- 蓝魔法师(树形dp)