Ceph & Openshift Dynamic Provisioning
Dynamic provisioning için ceph tarafında admin key'e ihtiyac vardır. (pool içerisinde image oluşturabilecek yetkinlikteki kullanıcı)
cephmon01
# ceph auth get-key client.admin | base64
QVFDK1I1yyyyyyyyyyyyGdElUcFJwZWRHdFNxxxxxxxPQ==
aldığımız base64 ile encode edilen keyi openshift tarafında kube-system namespace'inde create ediyoruz. (secret oluşturma)
openshiftmaster01
cat secret.admin.yml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret-admin
type: "kubernetes.io/rbd"
data:
key: QVFDK1I1yyyyyyyyyyyyGdElUcFJwZWRHdFNxxxxxxxPQ==
oc create -f secret.admin.yml -n kube-system
Aşağıdaki komut ile dogruluyoruz.
oc get secret -n kube-system
Artık storageclass tanımı yapabiliriz.
cat create-storage-class.yaml
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
name: fast (1)
provisioner: kubernetes.io/rbd
parameters:
monitors: ip.add.re.ss:6789,ip.add.re.ss:6789,ip.add.re.ss:6789 (2)
adminId: admin (3)
adminSecretName: ceph-secret-admin (4)
adminSecretNamespace: kube-system (5)
pool: test (6)
userId: test (7)
userSecretName: test-ceph-secret (8)
1 : storageclass adı
2 : ceph monların ip ve portları (Ornekte 3 adet mon var)
3 : ceph içerisindeki admin rolundeki kullanıcının adı
4 : ceph içerisindeki admin rolundeki kullanıcının secret keyi
5: secret keyin bulunduğu namespace (kube-system içerisinde oluşturmuştuk)
6: ceph’ten rbd allocate edilecek pool’un adı.
7. ve 8. adımlar için admin kullanıcı adı ve secret key kullanılabilir fakat daha dogrusu , sadece istenilen (örnekte test) pool üzerinde (caps: [osd] allow rwx pool=test) izni olan bir yetki tanımlayıp bunu dynamic provisioning için kullanabilecek namespace'lerde teker teker oluşturmak olucaktır.
Orneğin
cephmon01
ceph auth get-or-create client.test mon 'allow r' osd 'allow rw pool=test'
ceph auth get-key client.test | base64
Encoded elde edilen secret keyi openshift'te ilgili namespacelerde oluşturabiliriz.
Storageclass oluşturuldıktan sonra ilgili project'nin storage sekmesindeki listede fast i görebilirsiniz.
Buradan istenilen niteliklerde disk alabilirsiniz. Ayrıca sildiğimiz claimler otomatik olarak ceph üzerinden de silinecektir.
Hiç yorum yok:
Yorum Gönder