国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s使用ceph存儲(chǔ)

這篇具有很好參考價(jià)值的文章主要介紹了k8s使用ceph存儲(chǔ)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

初始化操作

ceph創(chuàng)建rbd存儲(chǔ)池

ceph osd pool create k8s-data 32 32 replicated
ceph osd pool application enable k8s-data rbd
rbd pool init -p k8s-data

k8s使用ceph,ceph,kubernetes,ceph

ceph添加授權(quán),需要?jiǎng)?chuàng)建兩個(gè)用戶,一個(gè)掛載rbd時(shí)使用,另一個(gè)掛載cephfs時(shí)使用

ceph auth get-or-create client.k8s-user mon 'allow r' mds 'allow' osd 'allow * pool=k8s-data' -o /etc/ceph/ceph.client.k8s-user.keyring

ceph auth get-or-create client.k8s-cephfs-user mon 'allow r' mds 'allow' osd 'allow * pool=cephfs_data' -o /etc/ceph/ceph.client.k8s-cephfs-user.keyring

k8s使用ceph,ceph,kubernetes,ceph
k8s使用ceph,ceph,kubernetes,ceph

k8s集群中所有節(jié)點(diǎn)安裝ceph-common

apt -y install ceph-common

k8s使用ceph,ceph,kubernetes,ceph

將ceph配置文件和keyring文件拷貝至所有k8s集群中節(jié)點(diǎn)

scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.k8s-user.keyring /etc/ceph/ceph.client.k8s-cephfs-user.keyring root@xxx:/etc/ceph/

k8s使用ceph,ceph,kubernetes,ceph

k8s使用ceph rbd

k8s集群中的pod使用rbd時(shí)可以直接通過(guò)pod的volume進(jìn)行掛載,也可以以pv形式掛載使用

volume

提前在存儲(chǔ)池中創(chuàng)建image

rbd create volume1 -s 2G -p k8s-data

k8s使用ceph,ceph,kubernetes,ceph

配置pod通過(guò)volume掛載volume1

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-rbd-volume
spec:
  containers:
  - name: busybox
    image: busybox
    imagePullPolicy: IfNotPresent
    command: ["/bin/sh", "-c", "sleep 3600"]
    volumeMounts:
    - name: data-volume
      mountPath: /data/
  volumes:
  - name: data-volume
    rbd:
      monitors: ["192.168.211.23:6789", "192.168.211.24:6789", "192.168.211.25:6789"]	#指定mon節(jié)點(diǎn)地址
      pool: k8s-data	#指定pool
      image: volume1	#指定要掛載的rbd image
      user: k8s-user	#指定掛載rbd image時(shí)使用的用戶,默認(rèn)admin用戶
      keyring: /etc/ceph/ceph.client.k8s-user.keyring	#用戶的keyring文件路徑
      fsType: xfs	#指定掛載的rbd image格式化的文件系統(tǒng)類型,默認(rèn)ext4

創(chuàng)建pod到集群中,等待pod就緒后可以進(jìn)入pod驗(yàn)證
k8s使用ceph,ceph,kubernetes,ceph
由于pod使用的的是宿主機(jī)內(nèi)核,所以rbd image實(shí)際是在宿主機(jī)掛載的
k8s使用ceph,ceph,kubernetes,ceph

另外keyring文件也可以保存在secret中,在pod中通過(guò)secret來(lái)引用keyring文件。

例如將k8s-user的keyring保存到secret中(注意,需要對(duì)用戶的key先進(jìn)行base64編碼):

apiVersion: v1
kind: Secret
metadata:
  name: k8s-user-keyring
type: "kubernetes.io/rbd"	#類型必須是這個(gè)
data:
  key: "QVFCSWlvVmszNVh5RXhBQWhkK1lwb3k3VHhvQkswQ2VkRE1zcWc9PQo="

將pod創(chuàng)建到集群中,等待pod就緒后進(jìn)入pod驗(yàn)證

k8s使用ceph,ceph,kubernetes,ceph

配置pod通過(guò)secret引用keyring文件

apiVersion: v1
kind: Pod
metadata:
  name: pod-use-scret-keyring
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: web
      mountPath: /usr/share/nginx/html/
  volumes:
  - name: web
    rbd:
      monitors: ["192.168.211.23:6789", "192.168.211.24:6789", "192.168.211.25:6789"]
      pool: k8s-data
      image: volume2
      user: k8s-user
      secretRef:	#通過(guò)secret引用keyring
        name: k8s-user-keyring
      fsType: xfs

k8s使用ceph,ceph,kubernetes,ceph

PV
靜態(tài)pv

靜態(tài)pv的方式也需要提前在存儲(chǔ)池中創(chuàng)建好image
k8s使用ceph,ceph,kubernetes,ceph

創(chuàng)建pv

apiVersion: v1
kind: PersistentVolume
metadata:
  name: rbd-pv
spec:
  accessModes: ["ReadWriteOnce"]
  capacity:
    storage: 2Gi
  persistentVolumeReclaimPolicy: Retain
  rbd:
    monitors: ["192.168.211.23:6789", "192.168.211.24:6789", "192.168.211.25:6789"]
    pool: k8s-data
    image: volume3
    user: k8s-user
    secretRef:
      name: k8s-user-keyring
    fsType: xfs

k8s使用ceph,ceph,kubernetes,ceph

創(chuàng)建pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rbd-pvc
  namespace: default
spec:
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 2Gi

k8s使用ceph,ceph,kubernetes,ceph

pod使用pvc

apiVersion: v1
kind: Pod
metadata:
  name: pod-use-rbd-pvc
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: web
      mountPath: /usr/share/nginx/html/
  volumes:
  - name: web
    persistentVolumeClaim:
      claimName: rbd-pvc
      readOnly: false

將pod創(chuàng)建到集群中,等待pod就緒后進(jìn)入pod驗(yàn)證
k8s使用ceph,ceph,kubernetes,ceph

動(dòng)態(tài)pv

創(chuàng)建存儲(chǔ)類

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: rbd-storageclass
provisioner: kubernetes.io/rbd
reclaimPolicy: Retain
parameters:
  monitors: 192.168.211.23:6789,192.168.211.24:6789,192.168.211.25:6789	#mon節(jié)點(diǎn)地址
  adminId: k8s-user		#用戶名稱,這個(gè)用戶是用于在pool中創(chuàng)建image時(shí)使用
  adminSecretName: k8s-user-keyring	#用戶keyring對(duì)應(yīng)的secret
  adminSecretNamespace: default		#用戶keyring對(duì)應(yīng)的secret所在的名稱空間
  pool: k8s-data	#存儲(chǔ)池
  userId: k8s-user	#這個(gè)用戶是用于掛載rbd image時(shí)使用
  userSecretName: k8s-user-keyring
  userSecretNamespace: default
  fsType: xfs
  imageFormat: "2"	#創(chuàng)建的rbd image的格式
  imageFeatures: "layering"		#創(chuàng)建的rbd image啟用的特性

k8s使用ceph,ceph,kubernetes,ceph

創(chuàng)建pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rbd-pvc-with-sc
  namespace: default
spec:
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 2Gi
  storageClassName: rbd-storageclass

k8s使用ceph,ceph,kubernetes,ceph

pod使用動(dòng)態(tài)pvc

apiVersion: v1
kind: Pod
metadata:
  name: pod-use-rdynamic-pvc
spec:
  containers:
  - name: redis
    image: redis
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: data
      mountPath: /data/redis/
  volumes:
  - name: data
    persistentVolumeClaim:
      claimName: rbd-pvc-with-sc
      readOnly: false

將pod創(chuàng)建到集群中,等待pod就緒后進(jìn)入pod驗(yàn)證

k8s使用ceph,ceph,kubernetes,ceph

k8s使用cephfs

cephfs可以同時(shí)掛載給多個(gè)pod使用,實(shí)現(xiàn)數(shù)據(jù)共享

volume

先將前面創(chuàng)建的ceph用戶client.k8s-cephfs-user的keyring保存到secret中

key=$(cat /etc/ceph/ceph.client.k8s-cephfs-user.keyring |grep key|awk '{print $3}')
kubectl create secret generic k8s-cephfs-user-keyring --type=kubernetes.io/rbd --from-literal=key=$key

k8s使用ceph,ceph,kubernetes,ceph

配置pod掛載cephfs

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: web-data
          mountPath: /usr/share/nginx/html
      volumes:
      - name: web-data
        cephfs:
          monitors:
          - 192.168.211.23:6789
          - 192.168.211.24:6789
          - 192.168.211.25:6789
          path: /
          user: k8s-cephfs-user
          secretRef:
            name: k8s-cephfs-user-keyring

k8s使用ceph,ceph,kubernetes,ceph

在pod中驗(yàn)證掛載
k8s使用ceph,ceph,kubernetes,ceph

在其中一個(gè)pod寫(xiě)入測(cè)試頁(yè)面,從其他的pod訪問(wèn)測(cè)試頁(yè)面驗(yàn)證數(shù)據(jù)共享
k8s使用ceph,ceph,kubernetes,ceph
k8s使用ceph,ceph,kubernetes,ceph

靜態(tài)pv

創(chuàng)建cephfs pv和pvc

apiVersion: v1
kind: PersistentVolume
metadata:
  name: cephfs-pv
spec:
  accessModes: ["ReadWriteOnce"]
  capacity:
    storage: 2Gi
  persistentVolumeReclaimPolicy: Retain
  cephfs:
    monitors: ["192.168.211.23:6789", "192.168.211.24:6789", "192.168.211.25:6789"]
    path: /
    user: k8s-cephfs-user
    secretRef:
      name: k8s-cephfs-user
    
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: cephfs-pvc
  namespace: default
spec:
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 2Gi

k8s使用ceph,ceph,kubernetes,ceph

配置pod使用cephfs-pv

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-with-pvc
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
      strage: cephfs-pvc
  template:
    metadata:
      labels:
        app: nginx
        strage: cephfs-pvc
    spec:
      containers:
      - name: nginx
        image: nginx
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: web
          mountPath: /usr/share/nginx/html/
      volumes:
      - name: web
        persistentVolumeClaim:
          claimName: cephfs-pvc
          readOnly: false

k8s使用ceph,ceph,kubernetes,ceph

進(jìn)入pod驗(yàn)證
k8s使用ceph,ceph,kubernetes,ceph

目前k8s內(nèi)置的cephfs存儲(chǔ)插件還不能實(shí)現(xiàn)動(dòng)態(tài)pv,可以通過(guò)ceph官方的ceph-csi插件來(lái)實(shí)現(xiàn)cephfs的動(dòng)態(tài)pv功能:https://github.com/ceph/ceph-csi文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-601123.html

到了這里,關(guān)于k8s使用ceph存儲(chǔ)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 9.云原生存儲(chǔ)之ceph在k8s中應(yīng)用及問(wèn)題處理

    9.云原生存儲(chǔ)之ceph在k8s中應(yīng)用及問(wèn)題處理

    云原生專欄大綱 官網(wǎng)文檔:Ceph Docs 對(duì)象存儲(chǔ)(Ceph Object Storage): 對(duì)象存儲(chǔ)適用于需要存儲(chǔ)和訪問(wèn)大量非結(jié)構(gòu)化數(shù)據(jù)的場(chǎng)景,例如圖像、視頻、日志文件等。在 Kubernetes 中,可以使用 Ceph Rados Gateway 提供的對(duì)象存儲(chǔ)接口,將應(yīng)用程序的對(duì)象數(shù)據(jù)存儲(chǔ)在 Ceph 集群中。對(duì)象存儲(chǔ)提

    2024年01月23日
    瀏覽(22)
  • Kubernetes(K8S之存儲(chǔ))

    Kubernetes(K8S之存儲(chǔ))

    configMap功能在Kubernetes1.2版本中引入,許多應(yīng)用程序會(huì)從配置文件,命令行參數(shù)或環(huán)境變量中讀取配置信息。ConfigMap API給我們提供了向容器中注入配置信息的機(jī)制。ConfigMap可以被用來(lái)保存單個(gè)屬性。 也可以用來(lái)保存整個(gè)配置文件或者JSON二進(jìn)制大對(duì)象。 1,使用目錄創(chuàng)建 $ls d

    2024年03月08日
    瀏覽(26)
  • Kubernetes(k8s)實(shí)戰(zhàn):深入詳解Volume,詳解k8s文件同步存儲(chǔ)

    Kubernetes(k8s)實(shí)戰(zhàn):深入詳解Volume,詳解k8s文件同步存儲(chǔ)

    Volume官網(wǎng):https://kubernetes.io/docs/concepts/storage/volumes/ On-disk files in a Container are ephemeral, which presents some problems for non-trivial applications when running in Containers. First, when a Container crashes, kubelet will restart it, but the files will be lost - the Container starts with a clean state. Second, when running Containers to

    2024年02月13日
    瀏覽(21)
  • 云原生Kubernetes:K8S存儲(chǔ)卷

    云原生Kubernetes:K8S存儲(chǔ)卷

    目錄 一、理論 1.存儲(chǔ)卷 2.emptyDir 存儲(chǔ)卷 3.hostPath卷 4.NFS共享存儲(chǔ) 5.PVC 和 PV 6.靜態(tài)創(chuàng)建PV 7.動(dòng)態(tài)創(chuàng)建PV 二、實(shí)驗(yàn) ?1.emptyDir 存儲(chǔ)卷 2.hostPath卷 3.NFS共享存儲(chǔ) 4.靜態(tài)創(chuàng)建PV 5.動(dòng)態(tài)創(chuàng)建PV 三、問(wèn)題 1.生成pod一直pending 2.shoumount -e未顯示共享目錄 3.靜態(tài)創(chuàng)建pv 報(bào)錯(cuò) 4.使用 Deployment 來(lái)創(chuàng)建

    2024年02月07日
    瀏覽(33)
  • Kubernetes/k8s的存儲(chǔ)卷/數(shù)據(jù)卷

    Kubernetes/k8s的存儲(chǔ)卷/數(shù)據(jù)卷

    k8s的存儲(chǔ)卷/數(shù)據(jù)卷 容器內(nèi)的目錄和宿主機(jī)的目錄掛載 容器在系統(tǒng)上的生命周期是短暫的,delete,k8s用控制創(chuàng)建的pod,delete相當(dāng)于重啟,容器的狀態(tài)也會(huì)回復(fù)到初始狀態(tài) 一旦回到初始狀態(tài),所有的后天編輯的文件都會(huì)消失 容器和節(jié)點(diǎn)之間創(chuàng)建一個(gè)可以持久化保存容器內(nèi)文件

    2024年01月24日
    瀏覽(44)
  • Kubernetes基礎(chǔ)(十八)-k8s存儲(chǔ)對(duì)象Persistent Volume

    在容器化應(yīng)用中,Pod的生命周期是短暫的,當(dāng)Pod終止時(shí),其中的數(shù)據(jù)通常也會(huì)被銷毀。為了解決這個(gè)問(wèn)題,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一塊持久化存儲(chǔ),它獨(dú)立于Pod存在,可以被多個(gè)Pod共享,并且在Pod終止后仍然保留數(shù)據(jù)。 PV允許開(kāi)發(fā)者將數(shù)據(jù)存儲(chǔ)

    2024年02月20日
    瀏覽(22)
  • Kubernetes基礎(chǔ)(二十)-k8s存儲(chǔ)對(duì)象Storage Classes

    在Kubernetes中,Storage Classes是用于定義不同存儲(chǔ)配置的資源。它們?cè)试S開(kāi)發(fā)者抽象存儲(chǔ)的物理細(xì)節(jié),使其更易于管理和使用。通過(guò)Storage Classes,可以定義存儲(chǔ)的類型、性能、卷大小等參數(shù),使得應(yīng)用程序能夠根據(jù)需求選擇合適的存儲(chǔ)。 Storage Classes工作的基本原理是通過(guò)定義標(biāo)

    2024年02月19日
    瀏覽(19)
  • Kubernetes基礎(chǔ)(二十三)-k8s持久化存儲(chǔ)詳解

    Kubernetes基礎(chǔ)(二十三)-k8s持久化存儲(chǔ)詳解

    1.1 介紹 在容器中的磁盤(pán)文件是短暫的,當(dāng)容器崩潰時(shí),Kubelet會(huì)重新啟動(dòng)容器,但容器運(yùn)行時(shí)產(chǎn)生的數(shù)據(jù)文件都將會(huì)丟失,之后容器會(huì)以最干凈的狀態(tài)啟動(dòng)。另外,當(dāng)一個(gè)Pod運(yùn)行多個(gè)容器時(shí),各個(gè)容器可能需要共享一些文件,諸如此類的需求都可以使用Volume解決。Pod只需要通

    2024年03月17日
    瀏覽(24)
  • Kubernetes基礎(chǔ)(十九)-k8s存儲(chǔ)對(duì)象Persistent Volume Claim

    在容器編排中,Pod的生命周期是短暫的,當(dāng)Pod終止時(shí),其中的數(shù)據(jù)通常也會(huì)被銷毀。為了解決這個(gè)問(wèn)題,Kubernetes引入了Persistent Volume(PV)和Persistent Volume Claim(PVC)的概念。 PVC是對(duì)PV的一種聲明,它定義了Pod對(duì)存儲(chǔ)資源的需求。Pod通過(guò)PVC來(lái)請(qǐng)求PV,而PV則提供了實(shí)際的存儲(chǔ)資

    2024年02月20日
    瀏覽(27)
  • Kubernetes(k8s)安裝NFS動(dòng)態(tài)供給存儲(chǔ)類并安裝KubeSphere

    Kubernetes(k8s)安裝NFS動(dòng)態(tài)供給存儲(chǔ)類并安裝KubeSphere

    它是一款全棧的 Kubernetes 容器云 PaaS 解決方案(來(lái)源于官網(wǎng)),而我覺(jué)得它是一款強(qiáng)大的Kubernetes圖形界面,它繼承了如下組件 (下面這段內(nèi)容來(lái)自官網(wǎng)): Kubernetes DevOps 系統(tǒng) 基于 Jenkins 為引擎打造的 CI/CD,內(nèi)置 Source-to-Image 和 Binary-to-Image 自動(dòng)化打包部署工具 基于 Istio 的微

    2024年02月09日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包