首页 > 其他分享 >kubernetes对接ceph rbd

kubernetes对接ceph rbd

时间:2022-10-26 18:37:22浏览次数:58  
标签:master1 k8s kubernetes admin ceph etc test rbd

kubernetes storageclass存储动态生成pv流程:

首先创建storageclass-->pvc请求已经创建的sc,通过sc来自动创建pv-->这样就达到通过storageclass动态生成一个pv的效果了

测试创建的pod直接挂载ceph rbd

# 在master1-admin上操作
scp /etc/yum.repos.d/ceph.repo test-k8s-master1:/etc/yum.repos.d/
scp /etc/yum.repos.d/ceph.repo test-k8s-master2:/etc/yum.repos.d/
scp /etc/yum.repos.d/ceph.repo test-k8s-master3:/etc/yum.repos.d/
# 在k8s各个节点上操作
yum -y install ceph-common
# 在master1-admin上操作
scp -r /etc/ceph test-k8s-master1:/etc/
scp -r /etc/ceph test-k8s-master2:/etc/
scp -r /etc/ceph test-k8s-master3:/etc/
# 测试pod直接挂载ceph的volume,在master1-admin上操作
ceph osd pool create k8spool 256
rbd create rbda -s 1024 -p k8spool
rbd feature disable k8spool/rbda object-map fast-diff deep-flatten
# 测试pod直接挂载创建的rbda
[root@test-k8s-master1 scripts]# cat test.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: testrbd
spec:
  containers:
    - image: nginx
      name: nginx
      volumeMounts:
      - name: testrbd
        mountPath: /mnt
  volumes:
    - name: testrbd
      rbd:
        monitors:
        - '192.168.1.167:6789'
        pool: k8spool
        image: rbda
        fsType: xfs
        readOnly: false
        user: admin
        keyring: /etc/ceph/ceph.client.admin.keyring

[root@test-k8s-master1 scripts]# kubectl apply -f test.yaml

基于ceph rbd创建pv,pvc

# 创建ceph-secret这个k8s secret对象,这个secret对象用于k8s volume插件访问ceph集群
# 获取client.admin的keyring值,并用base64编码,在master1-admin上操作
[root@master1-admin firstrbd]# ceph auth get-key client.admin | base64
QVFDZXFWZGovdnJrREJBQW1FRXFSOWI1d2MycE5mUlJPaEF6dWc9PQ==

# 创建ceph的secret
[root@test-k8s-master1 scripts]# cat ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: ceph-secret
data:
  key: QVFDZXFWZGovdnJrREJBQW1FRXFSOWI1d2MycE5mUlJPaEF6dWc9PQ==
[root@test-k8s-master1 scripts]# kubectl apply -f ceph-secret.yaml
secret/ceph-secret created
# 创建pool池,在master1-admin上操作
ceph osd pool create k8spool2 256
rbd create rbda -s 1024 -p k8spool2
rbd feature disable k8spool2/rbda object-map fast-diff deep-flatten
# 创建pv
[root@test-k8s-master1 scripts]# cat pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: ceph-pv
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  rbd:
    monitors:
      - 192.168.1.167:6789
    pool: k8spool2
    image: rbda
    user: admin
    secretRef:
      name: ceph-secret
    fsType: xfs
    readOnly: false
  persistentVolumeReclaimPolicy: Recycle
[root@test-k8s-master1 scripts]# kubectl apply -f pv.yaml
persistentvolume/ceph-pv created
[root@test-k8s-master1 scripts]# cat pvc.yaml 
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ceph-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
[root@test-k8s-master1 scripts]# kubectl apply -f pvc.yaml 
persistentvolumeclaim/ceph-pvc created
[root@test-k8s-master1 scripts]# kubectl get pvc
NAME       STATUS   VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   AGE
ceph-pvc   Bound    ceph-pv   1Gi        RWO

标签:master1,k8s,kubernetes,admin,ceph,etc,test,rbd
From: https://www.cnblogs.com/xone/p/16829539.html

相关文章

  • ceph rbd创建和使用
    使用rbd存储的前提,需要内核支持rbd#查看内核是否支持rbd,不报错就支持modproberbdlsmod|greprbdpoolpool是ceph存储数据时的逻辑分区,每个pool包含一定数量的PG,PG......
  • 【Kubernetes】K8s笔记(十三):PersistentVolume 解决数据持久化问题
    目录0.ConfigMap和Secret中的Volume1.PersistentVolumePersistentVolumeClaim和StorageClass2.使用YAML描述PersistentVolume3.使用YAML描述PersistentVol......
  • Kubernetes架构提供哪些功能​
    2014年,谷歌开放了Kubernetes项目。它是建立在谷歌运行大规模生产系统的基础之上,结合社区的最佳创意和实践构建的一个可移植、可扩展的开源平台。Kubernetes主要是通过API......
  • Kubernetes架构提供哪些功能
    2014年,谷歌开放了Kubernetes项目。它是建立在谷歌运行大规模生产系统的基础之上,结合社区的最佳创意和实践构建的一个可移植、可扩展的开源平台。Kubernetes主要是通过API......
  • Kubernetes--Pod对象的生命周期
    Pod对象自从其创建开始至其终止退出的时间范围称为其生命周期。在这段时间中,Pod会处于多种不同的状态,并执行一些操作;其中,创建主容器(maincontainer)为必需的操作,其他可选......
  • Installing Metrics Server on Kubernetes-1.25.2
    一、InstallingMetricsServeronKubernetes-1.25.2链接:https://github.com/kubernetes-sigs/metrics-server在新版的Kubernetes中系统资源的采集均使用Metrics-Server......
  • Kube-hunter:一个用于Kubernetes渗透测试的开源工具
    https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/82719327我们最近发布了一款叫做Kube-hunter[1]的免费工具。你只需提供你的Kubernetes集群的IP或者DNS名称,K......
  • 【 云原生 | kubernetes 】持久化存储 - StorageClass动态绑定PV
    ​前言:上篇文章我们了解了PV、PVC。PV的创建和绑定需要我们手动去创建,Kubernetes为我们提供了一套可以自动创建PV的机制,DynamicVolumeProvisioningDynamicVolume......
  • Kubernetes-1.25.2 Relevant Download Page
    一、Kubernetes-1.25.2RelevantDownloadPage1 kubernetes页面链接:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md#server-bin......
  • 【 云原生 | kubernetes 】资源对象 - 持久化存储PV,PVC
    前言:这篇文章我们了解了Volume,还有ProjectVolume这个特殊的卷,它不是用来存储容器的数据,而是为容器提供预先定义好的数据。今天我们了解一下持久卷(PersistentVolume)......