ãã®ããŒãžã«èšèŒãããŠããæ å ±ã¯å€ãå¯èœæ§ããããŸã
ãã®ããŒãžã®æŽæ°æ¥ã¯è±èªçãããå€ããããèšèŒãããŠããæ å ±ãå€ãå¯èœæ§ããããŸããææ°ã®æ å ±ãã芧ã«ãªãããæ¹ã¯è±èªçã®ããŒãžãã芧ãã ãã: Kubelet Checkpoint API
Kubeletãã§ãã¯ãã€ã³ãAPI
Kubernetes v1.25 [alpha]
ã³ã³ããã®ãã§ãã¯ãã€ã³ãã¯å®è¡äžã®ã³ã³ããã®ã¹ããŒããã«ã³ããŒãäœæããããã®æ©èœã§ãã ã³ã³ããã®ã¹ããŒããã«ã³ããŒããããšããããã¯ãé¡äŒŒã®ç®çã®ããã«å¥ã®ã³ã³ãã¥ãŒã¿ãŒã«ç§»åãããããšãã§ããŸãã
ãã§ãã¯ãã€ã³ãã³ã³ããããŒã¿ã埩å å¯èœãªã³ã³ãã¥ãŒã¿ãŒã«ç§»åãããå Žåããã®åŸ©å ããã³ã³ããã¯ããã§ãã¯ãã€ã³ããäœæãããæ£ç¢ºã«åãå°ç¹ã§å®è¡ãåéãããŸãã ä¿åããããŒã¿ãæ€æ»ããããšãå¯èœã§ãã ãã ããæ€æ»ãè¡ãããã®é©ããããŒã«ãä¿æããŠããå¿ èŠããããŸãã
ã³ã³ããã®ãã§ãã¯ãã€ã³ããäœæããããšã§ãã»ãã¥ãªãã£åœ±é¿ãçºçããå ŽåããããŸãã
éåžžããã§ãã¯ãã€ã³ãã¯ãã§ãã¯ãã€ã³ããããã³ã³ããå
ã®ãã¹ãŠã®ããã»ã¹ã®ãã¹ãŠã®ã¡ã¢ãªãŒããŒãžãå«ãã§ããŸãã
ã¡ã¢ãªãŒå
ã§äœ¿çšãããå
šãŠãããŒã«ã«ãã£ã¹ã¯äžã§å©çšã§ããããã«ãªãããšãæå³ããŠããŸãã
ããã¯ãã¹ãŠã®ãã©ã€ããŒãããŒã¿ãå«ãã§ãããããããããæå·åã«äœ¿çšããéµãå«ãŸããŠãããããããŸããã
åºç€ãšãªãCRIå®è£
(ãã®ããŒãäžã®ã³ã³ããã©ã³ã¿ã€ã )ã¯ãroot
ãŠãŒã¶ãŒã®ã¿ãã¢ã¯ã»ã¹å¯èœãªãã§ãã¯ãã€ã³ãã¢ãŒã«ã€ããäœæããã¹ãã§ãã
ãã§ãã¯ãã€ã³ãã¢ãŒã«ã€ããä»ã®ã·ã¹ãã ã«è»¢éãããå Žåãå
šãŠã®ã¡ã¢ãªãŒããŒãžããã§ãã¯ãã€ã³ãã¢ãŒã«ã€ãã®ãªãŒããŒã«ãã£ãŠèªã¿åããããã«ãªãããšãèŠããŠããããšãéèŠã§ãã
æäœæ¹æ³
post
æå®ããã³ã³ããã®ãã§ãã¯ãã€ã³ã
æå®ããPodããæå®ããã³ã³ããã®ãã§ãã¯ãã€ã³ããäœæããããã«kubeletã«æç€ºããŸãã
kubeletãã§ãã¯ãã€ã³ãã€ã³ã¿ãŒãã§ãŒã¹ãžã®ã¢ã¯ã»ã¹ã®å¶åŸ¡æ¹æ³ã«ã€ããŠã®è©³çŽ°ãªæ å ±ã¯ãKubelet authentication/authorization referenceãåç §ããŠãã ããã
kubeletã¯åºç€ãšãªãCRIå®è£
ã«ãã§ãã¯ãã€ã³ãããªã¯ãšã¹ãããŸãã
ãã§ãã¯ãã€ã³ããªã¯ãšã¹ãã§ã¯ãkubeletãcheckpoint-<podFullName>-<containerName>-<timestamp>.tar
ã®ãããªãã§ãã¯ãã€ã³ãã¢ãŒã«ã€ãã®ååãæå®ããŸãã
䜵ããŠã(--root-dir
ã§å®çŸ©ããã)rootãã£ã¬ã¯ããªé
äžã®checkpoints
ãã£ã¬ã¯ããªã«ããã§ãã¯ãã€ã³ãã¢ãŒã«ã€ããä¿åããããšããªã¯ãšã¹ãããŸãã
ããã©ã«ãã¯/var/lib/kubelet/checkpoints
ã§ãã
ãã§ãã¯ãã€ã³ãã¢ãŒã«ã€ã㯠tar ãã©ãŒãããã§ãããtar
ã®å®è£
ã䜿çšããŠäžèŠ§è¡šç€ºã§ããŸãã
ã¢ãŒã«ã€ãã®å
容ã¯ãåºç€ãšãªãCRIå®è£
(ããŒãäžã®ã³ã³ããã©ã³ã¿ã€ã )ã«äŸåããŸãã
HTTPãªã¯ãšã¹ã
POST /checkpoint/{namespace}/{pod}/{container}
ãã©ã¡ãŒã¿ãŒ
namespace (ãã¹å ): string, å¿ é é ç®
Namespacepod (ãã¹å ): string, å¿ é é ç®
Podcontainer (ãã¹å ): string, å¿ é é ç®
ã³ã³ããtimeout (ã¯ãšãªå ): integer
ãã§ãã¯ãã€ã³ãã®äœæãçµäºãããŸã§åŸ æ©ããç§åäœã®ã¿ã€ã ã¢ãŠãã ãŒããŸãã¯ã¿ã€ã ã¢ãŠããæå®ãããŠããªãå Žåãããã©ã«ãã¯CRIã¿ã€ã ã¢ãŠãã®å€ã䜿çšãããŸãã ãã§ãã¯ãã€ã³ãäœææéã¯ã³ã³ããã®äœ¿çšã¡ã¢ãªãŒã«çŽæ¥äŸåããŸãã ã³ã³ããã®äœ¿çšã¡ã¢ãªãŒãå€ãã»ã©ã察å¿ãããã§ãã¯ãã€ã³ããäœæããããã«å¿ èŠãªæéãé·ããªããŸãã
ã¬ã¹ãã³ã¹
200: OK
401: Unauthorized
404: Not Found (ContainerCheckpoint
ãã£ãŒãã£ãŒã²ãŒããç¡å¹ã®å Žå)
404: Not Found (æå®ããnamespace
ãpod
ãcontainer
ãèŠã€ãããªãå Žå)
500: Internal Server Error (CRIå®è£ ã§ãã§ãã¯ãã€ã³ãäžã«ãšã©ãŒãçºçããå Žå(詳现ã¯ãšã©ãŒã¡ãã»ãŒãžãåç §))
500: Internal Server Error (CRIå®è£ ããã§ãã¯ãã€ã³ãCRI APIãå®è£ ããŠããªãå Žå(詳现ã¯ãšã©ãŒã¡ãã»ãŒãžãåç §))