<文章感谢 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集群使用相关推荐

  1. K8s——kubernetes集群中ceph集群使用【下】

    kubernetes集群中ceph集群使用 一:CephFS 创建和使用 CephFS 允许用户挂载一个兼容posix的共享目录到多个主机,该存储和NFS共享存储以及CIFS共享目录相似 1.file ...

  2. K8s——kubernetes集群中ceph集群使用【上】

    kubernetes集群中ceph集群使用 块设备创建和使用 Ceph 能够为 pod 提供裸的块设备卷,定义在Ceph数据冗余级别的一个池中 1.storageclass 配置 storagecla ...

  3. 16-kubernetes集群中ceph集群使用

    <文章感谢 xingdian > 文章目录 kubernetes集群中ceph集群使用 一:块设备创建和使用 1.storageclass 配置 2.查看配置结果 3.kubernetes ...

  4. k8s——kubernetes使用rook部署ceph集群

    kubernetes使用rook部署ceph集群 一:环境准备 1.安装时间服务器进行时间同步 所有的kubernetes的集群节点 [root@master ~]# yum -y install n ...

  5. HTML文件发到群里,怎么将文件分享到百度云群中?百度云群组分享文件的教程

    百度云是百度旗下的一个云端存储服务,我们可以在百度云中存储照片.视频.BT文件(还可在线播放).当然也可以建立一个群组,将自己的小伙伴拉进这个群当中,将自己的文件分享给他们.那么,具体地我们该如何操作 ...

  6. KubeSphere通过Ceph CSI对接持久化存储Ceph集群

    KubeSphere通过Ceph CSI对接持久化存储Ceph集群 1. Ceph集群设置 2. 创建Kubernetes的存储卷类型和csi适配中间层资源 3. kk工具中加入ceph-csi-rb ...

  7. Ceph (2) - 安装Ceph集群方法 2:使用cephadm配置Nautilus版Ceph集群

    <OpenShift 4.x HOL教程汇总> 文章目录 安装环境说明 Ceph集群节点说明 Ceph集群主机环境说明 用cephadm部署Ceph集群 准备节点环境 设置环境变量 设置h ...

  8. centos7 ceph 集群部署

    ceph 一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统 一.Ceph必备组件 OSD(Object Storage Device) Ceph OSD守护进程(Ceph OSD)的功 ...

  9. 使用cephadm部署单节点ceph集群,后期可扩容(基于官方文档,靠谱,读起来舒服)

    目录 ceph各种部署工具比较(来自官方文档的翻译,靠谱!) 材料准备 cephadm使用条件 服务器有外网访问能力 服务器没有外网访问能力 安装cephadm cephadm的功能 两种安装方式 基 ...

最新文章

  1. static用法总结
  2. 陶哲轩之后,有人在这个猜想的证明之路上又前进了一步
  3. iscsi lun extend---windows客户端
  4. VSCODE常见问题(设置为4个空格)
  5. golang 反射_云原生的 Java与Golang
  6. OnClick,OnClientClick和OnServerClick的区别
  7. 数学 —— 巧用进制
  8. 【转】执行Import-SPWeb报错Import-SPWeb : Requested value 'PublishingPages' was not found
  9. 这不是商业互吹,是学习的宝藏
  10. Python 数据结构与算法——从二分图到寻找最大排列(Maximum Permutation)
  11. eclipse maven 导出项目依赖的jar包
  12. day08 系统篇端口扫描CDN服务负载均衡WAF防火墙
  13. 基于springboot jpa驾校管理系统源码
  14. easyUI日期框的日期范围限制
  15. Web前端深色模式适配方案
  16. C# 使用SDL2进行视频播放窗口截图和字幕添加
  17. 友基s400手写板怎么安装_电脑手写板怎么安装 轻松学会安装手写板【图文】
  18. 读后:警惕软件复杂度困局
  19. IIS安装ARR(Application Request Router)反向代理插件
  20. ftrace--------------trace points

热门文章

  1. Android WebView加载完成的监听
  2. geoserver 发布 矢量切片(pbf)并用openlayers 6.14 /leaflet 1.8 加载展示 (二)(小白必备:超详细教程)
  3. 为什么说 Flutter 可能不是下一件大事?
  4. iMAG(爱码哥)新建应用
  5. zzuoj 10400: B.海岛争霸
  6. 刘德华--9风雨人生路
  7. “以电折水、水电共计”智能仪表助力农业灌溉走上新模式
  8. 回归评价指标:均方误差根(RMSE)和R平方(R2)
  9. 《股票魔法师》第6-7章读书分享
  10. 蓝魔法师(树形dp)