28.4.3. 動的な永続ストレージでの既存の Ceph クラスターの使用
動的な永続ストレージに既存の Ceph クラスターを使用するには、以下を実行します。
client.admin 向けに base64 でエンコードされたキーを作成します。
ceph auth get client.admin
$ ceph auth get client.admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph シークレット定義例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow client.admin 用に Ceph シークレットを作成します。
oc create -f ceph-secret.yaml
$ oc create -f ceph-secret.yaml secret "ceph-secret" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シークレットが作成されたことを確認します。
oc get secret ceph-secret
$ oc get secret ceph-secret NAME TYPE DATA AGE ceph-secret kubernetes.io/rbd 1 5d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスを作成します。
oc create -f ceph-storageclass.yaml
$ oc create -f ceph-storageclass.yaml storageclass "dynamic" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph ストレージクラスの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ceph が監視する IP アドレスのコンマ区切りの一覧。この値は必須です。
- 2
- Ceph クライアント ID。デフォルトは
admin
です。 - 3
adminId
のシークレット名。この値は必須です。設定するシークレットにはkubernetes.io/rbd
が含まれる必要があります。- 4
adminSecret
の namespace。デフォルトはdefault
です。- 5
- Ceph RBD プール。デフォルトは
rbd
ですが、この値は推奨されません。 - 6
- Ceph RBD イメージのマッピングに使用される Ceph クライアント ID。デフォルトは
adminId
のシークレット名と同じです。 - 7
- Ceph RBD イメージをマッピングするための
userId
の Ceph シークレット名。PVC と同じ namespace に存在する必要があります。Ceph シークレットが新規プロジェクトのデフォルトとして設定されていない限り、このパラメーターの値を指定する必要があります。
ストレージクラスが作成されたことを確認します。
oc get storageclasses
$ oc get storageclasses NAME TYPE dynamic (default) kubernetes.io/rbd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC オブジェクト定義を作成します。
PVC オブジェクト定義例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC を作成します。
oc create -f ceph-pvc.yaml
$ oc create -f ceph-pvc.yaml persistentvolumeclaim "ceph-claim-dynamic" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC が作成されていて、予想される PV にバインドされていることを確認します。
oc get pvc
$ oc get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES AGE ceph-claim Bound pvc-f548d663-3cac-11e7-9937-0024e8650c7a 2Gi RWO 1m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod オブジェクト定義を以下のように作成します。
Pod オブジェクトの定義例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod を作成します。
oc create -f ceph-pod1.yaml
$ oc create -f ceph-pod1.yaml pod "ceph-pod1" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod が作成されていることを確認します。
oc get pod
$ oc get pod NAME READY STATUS RESTARTS AGE ceph-pod1 1/1 Running 0 2m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
しばらくすると、Pod のステータスが Running
に変わります。