事前準備

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-monceph-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