DockerまたはKubernetesはCephストレージインターフェース(オブジェクト、赤、cephfs)をサポートしていますか?
答え1
この質問への答えは簡単なGoogleで簡単に見つけることができますが、とにかく将来の読者のためにここに答えます。
持つcephウェブサイトの素晴らしいページDockerに対してこれを行う方法について説明します。簡単にまとめると、golang、librados-dev、librbd-dev、ceph-common、xfsprogsディストリビューションが必要です。goを設定してrootとして実行し、go get github.com/yp-engineering/rbd-docker-plugin
ボリュームドライバをrbd-docker-plugin --create --user=<ceph-user> --pool=<ceph-pool>
使用できます。rbd
クーバーネティスにもあるボリュームマウントのページ。私はそれを使って、これ
ceph モニターで次のコマンドを実行します。
ceph auth get-key client.admin | base64 # admin key
ceph auth add client.kube mon 'allow r' osd 'allow rwx pool=<poolname>'
ceph auth get-key client.kube | base64 # client key
kubernetes 管理者で次のコマンドを実行します。
kubectl create secret generic ceph-admin-secret --type="kubernetes.io/rbd" \
--from-literal=key='<admin key>' \
--namespace=kube-system
kubectl create secret generic ceph-client-secret --type="kubernetes.io/rbd" \
--from-literal=key='<client key>' \
--namespace=kube-system
cat << EOF | kubectl apply -f -
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: <storage class name you want>
provisioner: kubernetes.io/rbd
parameters:
monitors: <ceph monitor ip>:<ceph monitor port>
adminId: client.admin
adminSecretName: ceph-admin-secret
adminSecretNamespace: kube-system
pool: kube
userId: client.kube
userSecretName: ceph-client-secret
fsType: <filesystem type>
imageFormat: <image format>
imageFeatures: <image features>
EOF