ã¯ããã«
ããã«ã¡ã¯ãã¯ã©ã¦ãåºç¤æ¬é¨ã®ä¼´éã§ããããé£è¼ãCybozu.comã¯ã©ã¦ãåºç¤ã®å ¨è²ãã§ã¯ãç§ãã¡ãéç¨ãã¦ããã¯ã©ã¦ãåºç¤ãé£è¼å½¢å¼ã§ç´¹ä»ãã¦ãã¾ããä»åã®è¨äºã§ã¯ãã¤ã³ãã©åºç¤ Neco ã®ã¹ãã¬ã¼ã¸ã«ã¤ãã¦èª¬æãã¾ããNeco ã§ã¯æ§ã ãªã¢ããªã±ã¼ã·ã§ã³ããããããæ¯ããããã«ã¦ã§ã¢ãåãã¦ãã¾ãããã®è¨äºã§ã¯ãããããã®ã½ããã¦ã§ã¢ã®è¦ä»¶ã«åãããç¹æ§ãç°ãªãè¤æ°ã®ã¹ãã¬ã¼ã¸ã Neco ã§æä¾ãã¦ãããã¨ãç´¹ä»ãã¾ãã
Kubernetes ä¸ã®ã¹ãã¬ã¼ã¸
Neco ã®ã¹ãã¬ã¼ã¸ã«ã¤ãã¦èª¬æããåã«ããããã Kubernetes ã«ããã¦ã©ã®ããã«ã¹ãã¬ã¼ã¸ããµãã¼ãããã¦ããã®ãã«ã¤ãã¦ç°¡åã«èª¬æãã¾ããKubernetes ã§ã¯ããã¡ã¤ã«ã·ã¹ãã ããããã¯ã¹ãã¬ã¼ã¸ã¯ä¸»ã« PVï¼PersistentVolumeï¼ã¨ãããªã½ã¼ã¹ã§è¡¨ç¾ããã¾ããPV ã¯ã¯ã©ã¹ã¿ä¸ã«ãããã¤ãããåä¸ã®ã¹ãã¬ã¼ã¸ã表ãã¾ããä¾ãã°ãã¼ãä¸ã®ãã£ã¹ã¯ã¯ä¸ã¤ã® PV ãæ§æãå¾ã¾ãããLVM ã§åãåºããã LVï¼Logical Volumeï¼ã PV ã«ãªãå¾ã¾ããã¾ã NFS ã iSCSI ã®ãããªãããã¯ã¼ã¯ã¹ãã¬ã¼ã¸ãæä¾ããããªã¥ã¼ã ã PV ã¨ãã¦æ±ãã¾ãã
ã¦ã¼ã¶ã Kubernetes ä¸ã§ PV ã使ç¨ãããå ´åãã¦ã¼ã¶ã¯ PVCï¼PersistentVolumeClaimï¼ã¨ãããªã½ã¼ã¹ã使ãã¾ããPVC ã«ã¯ä½¿ç¨ãããã¹ãã¬ã¼ã¸ã®è¦ä»¶ï¼ãµã¤ãºã種é¡ãªã©ï¼ãæ¸ããã¦ãããKubernetes ã«ãã£ã¦é©å㪠PV ã¨ç´ä»ãããã¾ããã¦ã¼ã¶ã¯ãç´ä»ãããã PV ã PVC çµç±ã§ Pod ã«æå®ãã¦ä½¿ç¨ãã¾ãã
æ§ã ãªã¹ãã¬ã¼ã¸ã·ã¹ãã ãæè»ã«æ±ãããã«ãKubernetes 㯠CSIï¼Container Storage Interfaceï¼ããµãã¼ããã¦ãã¾ããCSI ã¯ãKubernetes ã®ãããªã³ã³ããã»ãªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ã»ã·ã¹ãã ãå¤é¨ã¹ãã¬ã¼ã¸ã·ã¹ãã ã¨é£æºããããã®æ¨æºè¦æ ¼ã§ããCSI driver ã¨å¼ã°ããã³ã³ãã¼ãã³ããå®è£ ãããã¨ã§ã 好ããªã¹ãã¬ã¼ã¸ã PV ã¨ã㦠Kubernetes ä¸ã§å©ç¨ã§ããããã«ãªãã¾ãããã®å¾ã§è¦ãããã«ãNeco ã§ãè¤æ°ã® CSI driver ãæ´»ç¨ãã¦ãã¾ãã

Neco ãæä¾ããã¹ãã¬ã¼ã¸
Neco ã®ãã¼ãã«ã¯ NVMe SSD 㨠HDD ãæè¼ããã¦ãããåãã£ã¹ã¯ã¯ Linux ã® dm-crypt ã«ãã£ã¦ data at rest ã®æå·åãè¡ããã¦ãã¾ãï¼åèè¨äºï¼ãNeco ã§ã¯ããããã®ãã£ã¹ã¯ãã½ããã¦ã§ã¢çã«çµã¿åãã㦠Kubernetes ä¸ã®ã¹ãã¬ã¼ã¸ã¨ãã¦æä¾ãã¦ãã¾ãã
Neco ä¸ã§åä½ããã½ããã¦ã§ã¢ã¯æ§ã ã§ãããããã¹ãã¬ã¼ã¸ã«æ±ããè¦ä»¶ãç°ãªãã¾ããä¾ãã°ãã¢ããªã±ã¼ã·ã§ã³ããã¡ã¤ã«ã·ã¹ãã ã«ç´æ¥ãã¡ã¤ã«ãèªã¿æ¸ãããå ´åããã®ããªã¥ã¼ã ã®åé·åã¯ã¹ãã¬ã¼ã¸å´ã§è¡ãå¿ è¦ãããã§ãããã仿¹ã§ããã¼ã¿ãã¼ã¹ãªã©ã®ããã«ã¦ã§ã¢ã§ã¯ãã¼ã¿ã®åé·æ§ãããã«ã¦ã§ã¢èªèº«ãæ ä¿ã§ãããã¨ãããã¾ãããã®å ´åãã¹ãã¬ã¼ã¸ã¬ã¤ã¤ã§ã®åé·åã¯å¿ ãããå¿ è¦ã§ã¯ããã¾ãããã代ããã« IO ã«å¯¾ããæ§è½è¦ä»¶ãã·ãã¢ã«ãªããã¡ã§ããã¾ããã®ä»ã®ã½ããã¦ã§ã¢ã§ã¯ããã¼ã¿ããªãã¸ã§ã¯ãã¹ãã¬ã¼ã¸ã«ä¿åãããã¨ãè¦æ±ãããã®ãããã¾ãã
以ä¸ã®ãããªè¦ä»¶ãæºãããããã«ãNeco ã§ã¯ç¹æ§ã®ç°ãªãè¤æ°ç¨®é¡ã®ã¹ãã¬ã¼ã¸ãæä¾ãã¦ãã¾ããã¾ããåé·æ§ã¯ä¸è¦ãªä¸æ¹ã§é«é㪠IO ãå¿ è¦ãªç¨éã«åãã¦ããã¼ãä¸ã® NVMe SSD ãæä¾ãã¦ãã¾ããããã«ã¯èªç¤¾ã§éçºãã TopoLVM ã¨ãã CSI driver ã使ç¨ãã¦ãã¾ããTopoLVM ã«ãã£ã¦æãåºããã PV ã¯ããã¼ãä¸ã®ãã£ã¹ã¯ã«ç´æ¥èªã¿æ¸ããè¡ãããããé«é㪠IO ãæå¾ ã§ãã¾ãã䏿¹ã§ TopoLVM ã¯ãã¼ãã«ä¹ã£ã¦ãããã£ã¹ã¯ããã®ã¾ã¾ä½¿ç¨ããããããã¼ããæ éããéã«ã¯è¼ã£ã¦ãããã¼ã¿ãä¸ç·ã«ä½¿ããªããªã£ã¦ãã¾ãã¾ãã
ããã§ Neco ã§ã¯ãããé害ã«å¼·ãã¹ã±ã¼ã©ãã«ãªã¹ãã¬ã¼ã¸ã¨ãã¦ãCeph ã使ç¨ãããããã¯ã¹ãã¬ã¼ã¸ï¼RBDï¼RADOS Block Deviceï¼ã¨ Amazon S3 API äºæãªãªãã¸ã§ã¯ãã¹ãã¬ã¼ã¸ï¼RGWï¼RADOS GateWayï¼ãæä¾ãã¦ãã¾ãã忣ã¹ãã¬ã¼ã¸ã§ãã Ceph ã®æ©è½ã«ãããä»®ã«ãã¼ããã©ãã¯ãæ éããå ´åã§ããããã®ã¹ãã¬ã¼ã¸ã¯ä¸è²«æ§ãä¿ã£ãã¾ã¾åä½ãç¶ãããã¾ãããã®ãããã¢ããªã±ã¼ã·ã§ã³ã¬ãã«ã§ãã¼ã¿ã®åé·æ§ãæ ä¿ããªãã½ããã¦ã§ã¢ã§ãé«å¯ç¨ãªéç¨ãå¯è½ã«ãªãã¾ãã
ã¨ããã§ Ceph èªä½ã¯ Kubernetes ãã¤ãã£ããªã½ããã¦ã§ã¢ã§ã¯ããã¾ãããCeph ã Kubernetes ä¸ã§åä½ãããããã«ãNeco ã§ã¯ Rook ã使ç¨ãã¦ãã¾ãï¼ãã®æ§æã以ä¸ã§ã¯ Rook/Ceph ã¨å¼ã³ã¾ãï¼ãRook ã使ããã¨ã§ Ceph ã容æã«ç®¡çã§ããä¸ãCeph ã®æ©è½ã Kubernetes ã«çµ±åã§ãã¾ãã
以ä¸ã§ã¯ TopoLVM 㨠Rook/Ceph ã«ã¤ãã¦ããã詳細ã«èª¬æãã¾ãã
TopoLVM
TopoLVM 㯠Kubernetes åãã® CSI driver ã§ããCybozu ãèªç¤¾ã§éçºããOSS ã¨ã㦠GitHub ã§å ¬éãã¦ãã¾ããéå»ã« Cybozu Inside Out ã§ãç´¹ä»ãããã¨ãããã¾ãã
ã¾ãå æ¥ã® KubeCon + CloudNativeCon Japan 2025 ã§ã¯ãTopoLVM ããã®éçºããçã¾ãã KEP ã«ã¤ãã¦ãã¯ã©ã¦ãåºç¤æ¬é¨ã®å¤§ç¥ãçºè¡¨ãã¾ããï¼
TopoLVM ã®ä¸»ãªä»äºã¯ããµã¼ãã®ãã¼ã«ã«ãªããªã¥ã¼ã ã LVM ã§ LV ã¨ãã¦åãåºããPV ã¨ãã¦æä¾ãããã¨ã§ãããã® PV ããã¦ã³ããã Pod ã¯ãåãåºããã LV ã«å¯¾ãã¦ç´æ¥ï¼ãããã¯ã¼ã¯ãªã©ãä»ããï¼ãã£ã¹ã¯ IO ãè¡ããã¨ãå¯è½ã¨ãªãã¾ãããã®ãããé«ã IOPS ã¨ä½ã IO ã¬ã¤ãã³ã·ãæå¾ ã§ãã¾ãã

TopoLVM 㯠LVM ãå©ç¨ãã¦ããããããã¼ã«ã«ãã£ã¹ã¯ã ãã§ã¯ä¸å¯è½ãªãã¨ãå¯è½ã«ãªã£ã¦ãã¾ããä¾ãã° LVM ã使ãã¨è¤æ°ã®ãã£ã¹ã¯ãæãã¦å·¨å¤§ãªä¸ã¤ã®ããªã¥ã¼ã ï¼VGï¼Volume Groupï¼ã¨ãã¦è¦ãããã¾ããTopoLVM ã§ã¯ããããã£ã¦æããããããªã¥ã¼ã ãã PV ãåãåºããã¨ãã§ãã¾ããã¾ããLVM ãæä¾ãã LV ã®ãªãµã¤ãºæ©è½ãç¨ãããã¨ã§ãæãåºãã PV ã®å®¹éæ¡å¼µã«ã TopoLVM ã¯å¯¾å¿ãã¦ãã¾ãã
ããã« TopoLVM 㯠dynamic provisioningã»topology-aware volume provisioningã»storage capacity tracking ã«å¯¾å¿ãã¦ããä¸ããªãã·ã§ãã«ãªæ©è½ã¨ã㦠scheduler extender ãåãã¦ãã¾ãããããã使ããã¨ã§ãTopoLVM ã使ç¨ãã PVC ã使ãããéã«ãªã³ããã³ãã«é©åãªãã¼ãã鏿ãããã®ä¸ã§åçã« LV ãåãåºã PV ã使ã»ç´ä»ãããã¾ããããã«ããæè»ãªããªã¥ã¼ã ã®æãåºããå¯è½ã«ãªã£ã¦ãã¾ãã
䏿¹ã§ãTopoLVM ãæãåºãããªã¥ã¼ã ã¯ãã¼ããã¼ã«ã«ãªãã®ã«ãªãã¾ããã¤ã¾ã LVM ã«ãã£ã¦ä½ããã LV ã¯ãã®ãã¼ãä¸ã§ã®ã¿æå¹ã§ããã¼ãããã£ã¹ã¯ãæ éããã¨ä½¿ããªããªã£ã¦ãã¾ãã¾ãããã®ãã TopoLVM ãæãåºãã PV ãã¯ã¼ã¯ãã¼ãã使ç¨ããéã«ã¯ãããªã¥ã¼ã ä¸ã®ãã¼ã¿ãã¯ã¼ã¯ãã¼ããèªãã¬ããªã±ã¼ã·ã§ã³ãã¦åé·æ§ã確ä¿ãããããããã¯æ¶å¤±ãã¦ãè¯ã䏿ãã¡ã¤ã«ãªã©ãç½®ãããã®ä½¿ç¨ã«éãå¿ è¦ãããã¾ãã
ãã¼ããã¼ã«ã«ãªã¹ãã¬ã¼ã¸ã¨ãã¦ã®å¥ã®å¼±ã¿ã¨ãã¦ã使ç¨ã§ããããªã¥ã¼ã ãµã¤ãºã®ä¸éããã¼ãã«æè¼ããããã£ã¹ã¯ã®åè¨ãµã¤ãºã§èªåçã«æ±ºã¾ã£ã¦ãã¾ãã¨ããåé¡ãããã¾ããä¾ãã°ããã¼ãã«æè¼ããããã£ã¹ã¯ã®åè¨ãµã¤ãºã 1 TiB ãªãããã®ãã¼ãã§æãåºããæå¤§ã® PV ãµã¤ãºã¯ 1 TiB ã§ããPVC ã§ 10 TiB ã®ã¹ãã¬ã¼ã¸ãè¦æ±ãããä»®ã«ä»ã®ãã¼ãã®ãã£ã¹ã¯ã¨åããã㨠10 TiB 以ä¸ã®ç©ºã容éãããã¨ãã¦ãããã®ãã㪠PVC ã« PV ãæãåºããã¨ã¯ã§ãã¾ããã
以ä¸ã®ãããªç¹æ§ãè¸ã¾ããNeco ã§ã¯ãNVMe SSD ã§æ§ç¯ãã VG ããããªã¥ã¼ã ãåãåºãããã«TopoLVM ã使ç¨ãã¦ãã¾ããåãåºãããããªã¥ã¼ã 㯠MySQL ã Elasticsearch ãªã©ã®ããã«ã¦ã§ã¢ã«ä½¿ç¨ããã¾ãããããã®ããã«ã¦ã§ã¢ã¯ããèªèº«ããã¼ã¿åé·åã®ããã®ä»çµã¿ï¼ã¬ããªã±ã¼ã·ã§ã³ãªã©ï¼ãæã£ã¦ããããããã¼ãæ éãçºçã㦠PV ã使ããªããªã£ã¦ããä»ã®ãã¼ãã¸ãã§ã¤ã«ãªã¼ãã¼ãè¡ãåä½ãç¶ç¶ã§ãã¾ãã
TopoLVM ã®ãã®ä»ã®ä½¿ãæ¹ã¨ãã¦ãæ¶å¤±ãã¦ãåé¡ãªããããªããªã¥ã¼ã ãå¿
è¦ãªå ´åã«ãTopoLVM ãã generic ephemeral volume ãæãåºãã¦ãã¾ããé常ãã®ãããªå ´åã«ã¯ emptyDir ãç¨ããã¨æãã¾ãããemptyDir ã«ä¿åã§ãããã¼ã¿éã«ã¯ä¸éãããããããã®ä¸éãè¶
ãã¦ãã¼ã¿ãä¿åãããå ´åã«ä½¿ç¨ããã¦ãã¾ãã
ãã¦ãä¸è¨ã®éã TopoLVM ã«ã¯å¹¾ã¤ãæ¬ ç¹ããããããæ®å¿µãªããå ¨ã¦ã®ã¯ã¼ã¯ãã¼ãã TopoLVM ã§ååã¨ããããã§ã¯ããã¾ããããã¼ããã¼ã«ã«ã§ãªãããªã¥ã¼ã ãå¿ è¦ãªå ´åãNeco ã§ã¯ã以ä¸ã§è¦ã Rook/Ceph ãã PV ãæãåºããã¨ã«ãªãã¾ãã
Rook/Ceph
Ceph ã¯ãªã¼ãã³ã½ã¼ã¹ã®åæ£ã¹ãã¬ã¼ã¸ã·ã¹ãã ã§ããCeph ã®å¤§ããªç¹å¾´ã¯ãè¤æ°å°ã®ãµã¼ããã¯ã©ã¹ã¿åãã¦ä½¿ç¨ãããã¨ã«ãããã¹ã±ã¼ã©ãã«ãªã¹ãã¬ã¼ã¸ãã¼ã«ãæä¾ã§ããã¨ããç¹ã§ããããªãã¡ãCeph ãæä¾ããã¹ãã¬ã¼ã¸ã«ã¯ä»æ§ä¸ã®ãµã¤ãºã®å¶éã¯ãªãããµã¼ãã追å ããã°ããã ã大ããªã¹ãã¬ã¼ã¸ãæ±ãã¾ããã¾ã Ceph ã¯èé害æ§ãéè¦ãã¦è¨è¨ããã¦ãããä»®ã«ä¸é¨ã®æ©æãæ éããã¨ãã¦ããã¦ã³ã¿ã¤ã ãªãã¹ãã¬ã¼ã¸ãæä¾ãç¶ããããããã«ãã¼ã¿ãåé·åããã¦ãã¾ããå¾ã£ã¦ãã¦ã¼ã¶ã¯ãã¼ã¿ã®åé·æ§ãªã©ãæ°ã«ãããã¨ãªããé«å¯ç¨ãªã¹ãã¬ã¼ã¸ã¨ã㦠Ceph ã使ç¨ã§ãã¾ãã

Ceph ã«ã¤ãã¦ã¯ã以åã«ã Inside Out ã§ç´¹ä»ãããã¨ãããã¾ãã
Ceph ã Kubernetes ä¸ã§ç®¡çã»éç¨ã§ããããã«éçºãããã®ã Rook ã§ããRook ã OSS ã§ããããã®éçºã«ã¯ Cybozu ãç©æ¥µçã«åå ãã¦ãã¾ããç¹ã«ãã¯ã©ã¦ãåºç¤æ¬é¨ã®ã¡ã³ãã§ãã sat 㯠Rook ã®ã¡ã³ããã§ããããå æ¥ã® KubeCon + CloudNativeCon Japan 2025 ã§ç»å£ãã¾ããï¼
Rook 㯠CephCluster ã¨ãã£ã CRDï¼Custom Resource Definitionï¼ã¨ããã®ãªã½ã¼ã¹ããªã³ã³ãµã¤ã«ãã Kubernetes ãªãã¬ã¼ã¿ï¼ã³ã³ããã¼ã©ï¼ããä¸»ã«æ§æããã¾ããã¦ã¼ã¶ãã«ã¹ã¿ã ãªã½ã¼ã¹ã apply ããã¨ãRook ããããè¦ã¦å¿
è¦ãª Pod ãªã©ãèªåçã«ãããã¤ããKubernetes ä¸ã§ Ceph ã使ããããã«ãªãã¾ãã
ã㦠Ceph ã®ã³ã¢ã®é¨åã¯å·¨å¤§ãªã¹ãã¬ã¼ã¸ãã¼ã«ãæä¾ãã¦ãããã¦ã¼ã¶ã¯ãããæ§ã ãªå½¢ã§å©ç¨ã§ãã¾ããå ·ä½çã«ã¯ãããã¯ã¹ãã¬ã¼ã¸ããã¡ã¤ã«ã·ã¹ãã ã¨ãã¦ä½¿ç¨ã§ãã RBDã»CephFS ã®ä»ãAmazon S3 API äºæã®ãªãã¸ã§ã¯ãã¹ãã¬ã¼ã¸ã§ãã RGW ãªã©ã®ã¤ã³ã¿ãã§ã¼ã¹ãæä¾ããã¦ãã¾ããRook ããããã®æ©è½ããµãã¼ããã¦ãããããããã«å¿ è¦ãª CRD ã Kubernetes ã¨ã®ã¤ã³ãã°ã¬ã¼ã·ã§ã³ãåãã£ã¦ãã¾ããNeco ã§ã¯ Rook/Ceph ãæä¾ããæ©è½ã®ãã¡ã主㫠RBD 㨠RGW ã使ç¨ãã¦ãã¾ãã
RBD
RBD 㯠Ceph ãæä¾ããé«å¯ç¨ãªãããã¯ã¹ãã¬ã¼ã¸ã§ããRBD èªä½ã¯ãããã¯ã¹ãã¬ã¼ã¸ã§ããããã®ä¸ã«ä¸è¬çãªï¼ext4 ãªã©ã®ï¼ãã¡ã¤ã«ã·ã¹ãã ãæ§ç¯ãããã¨ã§ããã¡ã¤ã«ã·ã¹ãã ã¨ãã¦ä½¿ç¨ã§ãã¾ããå ã«è¿°ã¹ãããã« Ceph ããã¼ã¿ã®åé·åãæ ã£ã¦ããããããRBD ããæãåºãããªã¥ã¼ã ã«ã¤ãã¦å©ç¨è ã¯ãã¼ã¿ã®åé·åãæ°ã«ããå¿ è¦ãããã¾ãããã¾ãããªã¥ã¼ã ã®ãµã¤ãºã«å¶éã¯ãªããããã RBD ã¯ã·ã³ãããã¸ã§ãã³ã°ã«å¯¾å¿ãã¦ãããããã¦ã¼ã¶ã¯æè»ã«ããªã¥ã¼ã ãæ±ããã¨ãã§ãã¾ãã
Rook ãéã㦠RBD ã使ç¨ããå ´åãRBD ç¨ã® CSI driver ã®ç®¡ç㯠Rook ãè¡ãªã£ã¦ããã¾ãããã®ãã Rook ãã»ããã¢ããããå¾ã¯ãã¦ã¼ã¶ã¯ PVC ã apply ããã ãã§ RBD ããªã¥ã¼ã ã PV ã¨ãã¦å©ç¨ã§ããããã«ãªãã¾ãã
RBD ããªã¥ã¼ã ã¯ãããã¯ã¼ã¯çµç±ã§ã¢ã¯ã»ã¹ããªããã°ãªããªãããããã¼ã«ã«ãã£ã¹ã¯ã»ã© IO æ§è½ã¯é«ãããã¾ãããããã§ Neco ã§ã¯ RBD ã NVMe SSD ã«ãã£ã¦æ§ç¯ããIO æ§è½ã®ããã«ãã£ãç·©åãã¦ãã¾ããRBD ããæãåºãããããªã¥ã¼ã ã¯ããã¡ã¤ã«ã·ã¹ãã ã«ãã¼ã¿ãæ°¸ç¶åããå¿ è¦ããããã½ããã¦ã§ã¢èªèº«ã«åé·åã®æ©è½ããªããã®ã«ä½¿ããã¦ãã¾ãã
RGW
Neco ã§å©ç¨ãã¦ããããä¸ã¤ã® Rook/Ceph ã®æ©è½ã§ãã RGW ã¯é«å¯ç¨ãªãªãã¸ã§ã¯ãã¹ãã¬ã¼ã¸ã§ããRGW 㯠Amazon S3 API äºæã® API ãåãã¦ãã¾ãããã®ãããRGW ã®ã¦ã¼ã¶ã¯ Amazon S3 ã®ã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªãå©ç¨ãããã¨ã§ RGW ã«ãªãã¸ã§ã¯ããåºãå ¥ãã§ãã¾ãããã®ç¹å¾´ã¯ãèªç¤¾ã§éçºããã½ããã¦ã§ã¢ã ãã§ã¯ãªã OSS ãåããå ´åã«ãã¡ãªããã«ãªãã¾ããä¾ãã°ãã°åºç¤ã¨ãã¦æå㪠Loki ã¯ãã¼ã¿ã®ä¿åå ã¨ã㦠Amazon S3 ããµãã¼ããã¦ãã¾ããããã§ Neco ã§ã¯ RGW ããã¼ã¿ä¿åå ã¨ã㦠Loki ãåããã¦ãã¾ãã
RGW ã Rook ã«ãã£ã¦ CRD ãç¨æããã¦ãããPVã»PVC ã¨åããããªæè¦ã§å©ç¨ã§ããããã«ãªã£ã¦ãã¾ããã¦ã¼ã¶ã RGW ä¸ã«ãã±ããã使ãããå ´åãã¾ã ObjectBucketClaim ãªã½ã¼ã¹ã使ãã¾ããããã¨ãRook ã RGW ä¸ã«ãã±ããã使ããå¾ãããã ObjectBucket ãªã½ã¼ã¹ã¨ã㦠Kubernetes ä¸ã§ç®¡çã§ããããã«ãã¾ãããã®å¾ãã¦ã¼ã¶ã使ãã ObjectBucketClaim 㨠Rook ã使ãã ObjectBucket ãç´ä»ãããã¾ãããã®éããã±ããã«æ¥ç¶ããããã«å¿
è¦ãªèªè¨¼æ
å ±ï¼AWS_ACCESS_KEY_ID ã AWS_SECRET_ACCESS_KEYï¼ã¯ Secret ãªã½ã¼ã¹ã®å½¢ã§ Rook ã«ãã£ã¦ä½æããã¾ããã¦ã¼ã¶ã¯ãã®å¤ãèªã¿è¾¼ãã§ãã±ããã«æ¥ç¶ã§ãã¾ãã
Neco ã§ã¯ local PV ã¨ãã¦èªèããã HDD ã®ä¸ã« RGW ãæ§ç¯ããå ã«è¿°ã¹ããã°ãã¼ã¿ã®ã»ããããã¯ã¢ãããã¼ã¿ã®ä¿åã«å©ç¨ãã¦ãã¾ããã¾ããã客æ§ãã¢ãããã¼ãããæ·»ä»ãã¡ã¤ã«ãç»åãªã©ã®ãã¼ã¿ã®ä¿åã RGW ã§å®æ½ãã¦ãã¾ããCybozu.com ã§ã¯ãã®ãããªãã¼ã¿ã®ä¿åã« SSD ã§ã¯ãªã HDD ãç¨ãããã¨ã§ãéç¨ã«ãããã³ã¹ããæãã¦ãã¾ãã
ãããã«
ãã®è¨äºã§ã¯ãNeco ã§ãµãã¼ããã¦ããå種ã¹ãã¬ã¼ã¸ã«ã¤ãã¦ç´¹ä»ãã¾ãããåä½ããã½ããã¦ã§ã¢ã«å¿ãã¦æé©ãªãã®ã使ãåããããããã«ãNeco ã§ã¯ç¹æ§ã®ç°ãªãè¤æ°ç¨®é¡ã®ã¹ãã¬ã¼ã¸ãæä¾ãã¦ãã¾ããå ·ä½çã«ã¯ããã¼ããã¼ã«ã«ãªã¹ãã¬ã¼ã¸ã¨ã㦠TopoLVMããéå®³èæ§ã®ããã¹ãã¬ã¼ã¸ã¨ã㦠Rook/Ceph ã® RBD 㨠RGW ãç¨ãã¦ãã¾ããæä¾ãããã¹ãã¬ã¼ã¸ã¯å ¨ã¦ Kubernetes ã®ä»çµã¿ã¨çµ±åããã¦ãããããã¯ã¨ã³ãã®ä»çµã¿ãæ°ã«ãããã¨ãªãå ±éã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãéãã¦å©ç¨ã§ãã¾ããããã«ãããã¯ã©ã¦ãåºç¤ã®ã¦ã¼ã¶ã容æã«ã¹ãã¬ã¼ã¸ãå©ç¨ã§ããããã«ãªã£ã¦ãã¾ãã
ããé£è¼ãCybozu.comã¯ã©ã¦ãåºç¤ã®å ¨è²ãã§ã¯ãç§ãã¡ãéç¨ãã¦ããã¯ã©ã¦ãåºç¤ãé£è¼å½¢å¼ã§ç´¹ä»ãã¦ãã¾ããæ¬¡å㯠Neco ã®ãã¼ã¿ãã¼ã¹ã«ã¤ãã¦ãç´¹ä»ããäºå®ã§ãããæå¾ ãã ããï¼