OpenStack Placement 詳説 第2å
OpenStack Placementã®æ©è½ ãã®1
ããã«ã¡ã¯ãNTTã½ããã¦ã§ã¢ã¤ããã¼ã·ã§ã³ã»ã³ã¿ã®å¤ç®ã§ãã第1åç®ã¯ãããã§ããã§ãããããæ¦è¦ãè¿°ã¹ãã®ã§ç´°ããã¨ããã¾ã§ã¯ããåãããªãã£ãã¨ããæ¹ãããã£ãããã¨æãã¾ããããã§ç¬¬2åç®ã¯OpenStack® Placementã®æ©è½ã詳細ã«è¦ã¦ããããã¨æãã¾ããï¼ããã§ã¯stable/rockyããã³libvirtã®ä½¿ç¨ãåæã¨ãã¦èª¬æãã¾ããï¼
ãªã½ã¼ã¹ã»ãããã¤ãï¼Resource Providerï¼
第1åç®ã§ã説æããã¨ããããªã½ã¼ã¹ã»ãããã¤ãã¯ãªã½ã¼ã¹ãæä¾ãã主ä½ã§ãããã³ã³ãã¥ã¼ãã»ãã¼ãï¼ãã¤ãã¼ãã¤ã¶ï¼ãå ±æã¹ãã¬ã¼ã¸ãªã©ã該å½ãã¾ãã
Placementã§ã¯ãªã½ã¼ã¹ã»ãããã¤ããã¨ã«ã¤ã³ãã³ããªï¼Inventory)ã¨ã¢ãã±ã¼ã·ã§ã³ï¼Allocationï¼ã管çãã¦ãã¾ãï¼å³1ï¼ãã¤ã³ãã³ããªã¨ã¯ããªã½ã¼ã¹ã»ãããã¤ãã«ããããªã½ã¼ã¹ã»ã¯ã©ã¹ï¼å¾è¿°ï¼ãã¨ã®åè¨ã®åæ°ã»å®¹éï¼totalï¼ãäºç´ãããåæ°ã»å®¹éï¼reservedï¼ãå²ãå½ã¦æ¯çï¼allocation_ratioï¼ã使ç¨ããéã®å¶ç´ï¼æå¤§å²ãå½ã¦éï¼max_unitï¼ãæå°å²ãå½ã¦éï¼min_unitï¼ãå²ãå½ã¦åä½ï¼step_sizeï¼ï¼ã®æ å ±ã®ãã¨ã§ããã¢ãã±ã¼ã·ã§ã³ã¨ã¯ããªã½ã¼ã¹ã»ãããã¤ãã«ããããªã½ã¼ã¹ã»ã¯ã©ã¹ã®ä½¿ç¨éã®ãã¨ã§ãã
ã³ã³ãã¥ã¼ãã»ãã¼ãã®nova-computeããã»ã¹ãèµ·åããæã«ãï¼ãªã½ã¼ã¹ã»ã¯ã©ã¹ãVCPUãMEMORY_MBãDISK_GBãVGPUã«ã¤ãã¦ï¼ã¤ã³ãã³ããªãèªåã§ä½æããã¾ãã
ããã§ã¯è©³è¿°ãã¾ãããããªã½ã¼ã¹ã»ãããã¤ãã«ã¯Create/List/Show/Update/Deleteã®åAPIãç¨æããã¦ãã¾ããã¾ããã¤ã³ãã³ããªãæä½ããããã®APIãã¢ãã±ã¼ã·ã§ã³ã«é¢ããAPIãç¨æããã¦ãã¾ããã¾ãããªã½ã¼ã¹ã»ãããã¤ãã«ã¯ãã¬ã¤ãï¼å¾è¿°ï¼ãPlacementã¢ã°ãªã²ã¼ãï¼ç¬¬3åã§èª¬æãã¾ãï¼ãè¨å®ãããã¨ãã§ãããã®ããã®APIãç¨æããã¦ãã¾ãã
ãªã½ã¼ã¹ã»ã¯ã©ã¹ï¼Resource Classï¼
ãªã½ã¼ã¹ã»ã¯ã©ã¹ã¯vCPUãã¡ã¢ãªããã£ã¹ã¯ãªã©ã®ãªã½ã¼ã¹ã表ãã¾ãã
æ¨æºçãªãªã½ã¼ã¹ã»ã¯ã©ã¹ï¼Standard Resource Classï¼ã¨ã«ã¹ã¿ã ã»ãªã½ã¼ã¹ã»ã¯ã©ã¹ããããæ¨æºçãªãªã½ã¼ã¹ã»ã¯ã©ã¹ã¯ä»¥ä¸ã®ã¨ããã¨ãªã£ã¦ãã¾ãã
ã»VCPU
ã»MEMORY_MB
ã»DISK_GB
ã»PCI_DEVICE
ã»SRIOV_NET_VF
ã»NUMA_SOCKET
ã»NUMA_CORE
ã»NUMA_THREAD
ã»NUMA_MEMORY_MB
ã»IPV4_ADDRESS
ã»VGPU
ã»VGPU_DISPLAY_HEAD
ã«ã¹ã¿ã ã»ãªã½ã¼ã¹ã»ã¯ã©ã¹ã¯Create resource class APIï¼POST /resource_classesï¼ãopenstack CLIã§ä½æãããã¨ãã§ãã¾ããã«ã¹ã¿ã ã»ãªã½ã¼ã¹ã»ã¯ã©ã¹ã®ååã¯ä»¥ä¸ã®æ¡ä»¶ãæºããå¿ è¦ãããã¾ãã
- ãCUSTOM_ãã§å§ã¾ãã
- ãCUSTOM_ãããå¾ã¯è±å¤§æåãæ°åã_ï¼ã¢ã³ãã¼ã¹ã³ã¢ï¼ããæãæååï¼ãCUSTOM_ããé¤ãã¦1æå以ä¸ï¼ã§ããã
- åè¨ã§255æå以ä¸ã§ããã
ã«ã¹ã¿ã ã»ãªã½ã¼ã¹ã»ã¯ã©ã¹ã«ãããPlacementãå©ç¨ããã³ã³ãã¼ãã³ãããããã®ã³ã³ãã¼ãã³ããå¿ è¦ã¨ãããªã½ã¼ã¹ã»ã¯ã©ã¹ãå®ç¾©ã§ãã¾ãã
Novaã«ããã¦ã¯VCPUãMEMORY_MBãDISK_GB以å¤ã®ãªã½ã¼ã¹ã»ã¯ã©ã¹ï¼ã«ã¹ã¿ã ã»ãªã½ã¼ã¹ã»ã¯ã©ã¹ãå«ãï¼ã¯ããã¬ã¼ãï¼Flavorï¼ã®Extra specsã«ä»¥ä¸ã®ããã«å®ç¾©ãã¾ããCLIã§ã¯ openstack flavor setã³ãã³ãï¼ â propertyãªãã·ã§ã³ï¼ã§è¨å®ãã¾ãã
resources:ãªã½ã¼ã¹ã»ã¯ã©ã¹å=å¤ï¼æ´æ°ï¼ä¾ï¼ resources:CUSTOM_RESOURCE=1
ã¾ãããã¢ã¡ã¿ã«ã»ãµã¼ãã®ã¹ã±ã¸ã¥ã¼ãªã³ã°ï¼Ironic飿ºï¼ã®ããã«ãVCPUãMEMORY_MBãDISK_GBã䏿¸ããããå ´åãExtra specsã«è¨å®ãã¾ãã
ãªã½ã¼ã¹ã»ã¯ã©ã¹ã«é¢ããAPIã¯ä¸è¿°ã®Create resource class APIï¼POST /resource_classesï¼ä»¥å¤ã«List/Show/Update/Deleteã®APIãç¨æããã¦ãã¾ãã
ãã¬ã¤ã(Traits)
ãã¬ã¤ãã¨ã¯ç¬¬1åã§ã説æããã¨ãããSSDãªã©ã®ç¹å¾´ã表ããã®ã§ãããã¬ã¤ãã¯os-traitsã¨ããããã¸ã§ã¯ãã§å®ç¾©ããã¦ãããNovaã¯ãã®ããã±ã¼ã¸ãå©ç¨ãã¦ãã¾ãã
ãã¬ã¤ãã«ãæ¨æºçãªãã¬ã¤ãï¼Standard Traitsï¼ã¨ã«ã¹ã¿ã ã»ãã¬ã¤ãããããæ¨æºçãªãã¬ã¤ãã«ã¯ä»¥ä¸ã®ç¨®é¡ãããã¾ãã
ã»CPUã®å½ä»¤ã»ããï¼ä¾: HW_CPU_X86_SSE2ï¼
ã»GPUã®APIï¼ä¾: HW_GPU_API_DIRECTX_V12ï¼
ã»NICã®ã¢ã¯ã»ã©ã¬ã¼ã¿ï¼ä¾: HW_NIC_ACCEL_TLSï¼
ã»ãã£ã¹ã¯ã®ç¨®é¡ï¼ä¾: STORAGE_DISK_SSDï¼
ã»å
±æãã£ã¹ã¯ï¼ä¾: MISC_SHARES_VIA_AGGREGATEï¼
ã»ããªã¥ã¼ã ã®ã¢ã¿ãã ï¼ä¾: COMPUTE_VOLUME_MULTI_ATTACHï¼
ã»NICã®ã¢ã¿ãã ï¼ä¾: COMPUTE_NET_ATTACH_INTERFACEï¼
ã«ã¹ã¿ã ã»ãã¬ã¤ãã¯Update traits APIï¼PUT /traits/{name}ï¼ã§ä½æãããã¨ãã§ãã¾ãï¼ãã¬ã¤ãã«é¢ããAPIã¯ãã¡ããåç §ãã¦ãã ããï¼ãã«ã¹ã¿ã ã»ãã¬ã¤ãã®ååã¯ä»¥ä¸ã®æ¡ä»¶ãæºããå¿ è¦ãããã¾ãã
- ãCUSTOM_ãã§å§ã¾ãã
- ãCUSTOM_ãããå¾ã¯è±å¤§æåãæ°åã_ï¼ã¢ã³ãã¼ã¹ã³ã¢ï¼ããæãæååï¼ãCUSTOM_ããé¤ãã¦1æå以ä¸ï¼ã§ããã
- åè¨ã§255æå以ä¸ã§ããã
ãã¬ã¤ãã®ä½¿ç¨æ¹æ³ã§ãããGlanceã¤ã¡ã¼ã¸ã®ããããã£ã¾ãã¯ãã¬ã¼ãã®Extra specsã«æå®ãã¾ãããã®æå®ã«ãããä»®æ³ãµã¼ãã®é ç½®å ã鏿ããããã¨ã«ãªãã¾ããå ·ä½çãªæå®æ¹æ³ã¯ä»¥ä¸ã®2ã¤ã®æ¹æ³ã¨ãªãã¾ãã
a. ãã¬ã¼ã
Extra specsã«ãtrait:ãã¬ã¤ãå=requiredããè¨å®ãã¾ããä¾ã¯ä»¥ä¸ã®ã¨ããã§ãã
trait:STORAGE_DISK_SSD=required
b. Glanceã¤ã¡ã¼ã¸
Glanceã¤ã¡ã¼ã¸ã®ããããã£ã«ãtrait:ãã¬ã¤ãå=requiredããè¨å®ãã¾ããCLIã§ã¯openstack image setã³ãã³ãï¼ â propertyãªãã·ã§ã³ï¼ã§è¨å®ãã¾ãã
ãªããã³ã³ãã¥ã¼ãã»ãã¼ãã®nova-computeããã»ã¹ãèµ·åããæã«ãCPUã«é¢ãããã¬ã¤ãã¯èªåã§ãã®ã³ã³ãã¥ã¼ãã»ãã¼ãã®ãªã½ã¼ã¹ã»ãããã¤ãã«ç»é²ããã¾ãã
ãã©ã¼ããã³ã»ãã¬ã¤ãï¼Forbidden Traitsï¼
ãã©ã¼ããã³ã»ãã¬ã¤ãã¨ã¯ããã¬ã¤ãã®é¤å¤æå®ã«ãªãã¾ããè¦ããã«ã¹ã±ã¸ã¥ã¼ãªã³ã°ã«ããã¦ããã®ãã¬ã¤ããæã¤ãªã½ã¼ã¹ã»ãããã¤ãã¼ã¯é¸æããªãã¨ããæå®ãè¡ãªãã¨ãããã¨ã«ãªãã¾ããå ·ä½çãªæå®æ¹æ³ã¯ä»¥ä¸ã®ã¨ããã«ãªãã¾ãã
a. ãã¬ã¼ã
Extra specsã«ãtrait:ãã¬ã¤ãå=forbiddenããè¨å®ãã¾ããä¾ã¯ä»¥ä¸ã®ã¨ããã§ãã
trait:STORAGE_DISK_SSD=forbidden
ãªããGlanceã¤ã¡ã¼ã¸ã®ããããã£ã§ã®è¨å®ã¯ä»ã®ã¨ãããµãã¼ãããã¦ãã¾ããã
ãã¦ç¬¬3åç®ã¯OpenStack Placementã®æ©è½ ãã®2ã¨ãããã¨ã§ãããã«ä»ã®æ©è½ãè¦ã¦ããããã¨æãã¾ãã