事前準備
MAAS上にDeploy先マシンを作成
- Zone(Availability Zone)を設定
Ceph用のゾーンを作成(ceph-osd
,ceph-mon
) - デプロイ先になるマシンを手動で作成
今回は既にMAASに登録されているマシンのKVM上に、下記の計10台を作成。- CPU✕2、Mem2GB、HDD8GB,20GBを、3台作成。(ceph-osdゾーンを割り当て)
- CPU✕2、Mem2GB、HDD10GBを、3台作成。(ceph-monゾーンを割り当て)
Commissionまで完了し、ステータスがReadyになっていることを確認。
※OSDデバイスとしデフォルトで/dev/vdb
が使われるのでOSDに2つのHDDを作成。
JujuでDeploy
ceph-mon
チャームとceph-osd
チャームをそれぞれ3つずつ(計6つ)Deployする
$ juju deploy cs:ceph-mon -n 3 --constraints zones=ceph-mon $ juju deploy cs:ceph-osd -n 3 --constraints zones=ceph-osd
ceph-mon
とceph-osd
のリレーション設定
$ juju add-relation ceph-mon ceph-osd
Kubernetesクラスタとのリレーション設定
$ juju add-relation ceph-mon:admin kubernetes-master $ juju add-relation ceph-mon:client kubernetes-master
※この辺のサイトが参考になるかも?
https://juju.is/docs/t/tutorial-using-juju-on-charmed-kubernetes-on-vmware/1376 external_link
https://ubuntu.com/kubernetes/docs/storage external_link
正常状態になりるまで待つ(かなり待つ、20~30分かかったかも・・)
$ watch -c juju status --color
※上記でステータスを確認とあるが、全て正常に見えてもまだまだ時間がかかった。KubernetesのWebUIで全てグリーンチェックになることを確認。
※イメージのダウンロードでエラーが起きていたように見えたので、時間がかかったのはダウンロードサイト側の問題だったかも?
Kubernetesに永続ボリュームを作成
Kubernetesに永続ボリュームを作るためのマニフェストを作成
$ cd juju/kubernetes/ $ vim 10.create-pvc-cephxfs.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data1 spec: accessModes: - ReadWriteOnce storageClassName: ceph-xfs resources: requests: storage: 2Gi
永続ボリュームの作成
$ kubectl apply -f 10.create-pvc-cephxfs.yaml
永続ボリュームが出来たことを確認
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data1 Bound pvc-5783b3c4-d11a-4239-a6b9-55aa2c72d8d3 2Gi RWO ceph-xfs 10s
$ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE nfs 5Gi RWO Recycle Available slow 26m pvc-5783b3c4-d11a-4239-a6b9-55aa2c72d8d3 2Gi RWO Delete Bound default/data1 ceph-xfs 31s $ kubectl describe storageclass