RCããã³ãããã§ãããå®çŸ©ãæå®ããå Žåã¯ã次ã®ãªãã·ã§ã³ãå®çŸ©ã§ããå¿ èŠããããŸãã
--log-driver =ã³ã³ããã®ãã®ã³ã°ãã©ã€ã
--log-opt = []ãã°ãã©ã€ããŒãªãã·ã§ã³
ãããã®ãªãã·ã§ã³ã¯ã³ã³ããã¬ãã«ã§èšå®å¯èœã§ãããDocker1.8ã§å°å ¥ãããŠããŸãã
docker client libã¯äž¡æ¹ã®ãªãã·ã§ã³ããµããŒãããŠããããããããå®çŸ©ã«ãããã®ãªãã·ã§ã³ãè¿œå ããããšãã§ããŸãã
/ cc @ kubernetes / rh-ã¯ã©ã¹ã¿ãŒ-ã€ã³ãã©
ããŒãããããããããã¯ã©ã¹ã¿ãŒå šäœãããã©ã«ããšããŠèšå®ããç¹å®ã®ãããå®çŸ©ããªãŒããŒã©ã€ãã§ããããã«ããããšæãã§ãããã
cc @sosiouxme @smarterclayton @liggitt @jwhonce @jcantrill @bparees @jwforres
ã³ã³ããããšã«ãããã©ã®ããã«æŽ»çšãããïŒãŠãŒã¹ã±ãŒã¹ïŒã説æã§ããŸããïŒ åŸæ¥ãDockeråºæã®ãªãã·ã§ã³ã¯ãã©ã³ã¿ã€ã éã§æ確ã«æœè±¡åã§ããªãéããã³ã³ãããŒã§çŽæ¥å ¬éããŠããŸããã ãããã©ã®ããã«äœ¿çšãããããç¥ãããšã¯ããããæ£åœåããã®ã«åœ¹ç«ã¡ãŸãã
dockerãã°ã¯ãŸã json-fileãšjournaldãã©ã€ããŒã®ã¿ããµããŒãããŠããããšã«æ³šæããŠãã ããããã ãããªã¹ãã¯æ¡åŒµãããå¯èœæ§ããããšæããŸãã
ããããããŠãŒã¶ãŒãå®éã«æãã§ããã®ã¯ããã°ãã©ã€ããŒã®è©³çŽ°ã«è§Šããããšã§ã¯ãªããå®çŸ©ããããã°æžã蟌ã¿ãšã³ããã€ã³ãã®éžæã§ãã
@ncdc @smarterclaytonå éšã§ã®ãŠãŒã¹ã±ãŒã¹ãåæ€èšããåŸãç§ã¯ããªãã®äž¡æ¹ã«åæããŸãã
ãããããã©ã«ãã«ããããã®saltãã³ãã¬ãŒããžã®å€æŽã¯ãã¹ãã§ã¯ãããŸãã
ã²ã©ãé£ããã ããã¯æ¬åœã«é©åãªããŒã¢ã³æ§æã§ãïŒãããŠ
ã®ãããã§fluentdãä»ããŠãã°éçŽãžã®å€æŽãåŠçãã
å¥ã®ãœãŒã¹ãéžæããïŒ
10:55ã§ç«ã2015幎10æ13æ¥ã«ã¯ããšãJemba [email protected]
æžããŸããïŒ
@ncdc https://github.com/ncdc @smarterclayton
https://github.com/smarterclaytonåŸãç§ã¯ããªãã®äž¡æ¹ã«åæããŸã
å éšã§ã®ãŠãŒã¹ã±ãŒã¹ãåæ€èšãããšã
- ç§ãã¡ã®äž»ãªå¿ èŠæ§ã¯ãããŒããä¿è·ããããšã§ãã ãã°ããã°ã«éä¿¡ããŸã
ãµãŒããŒã§ããã倱æããå Žåã¯ãDockerã®å éšãã°ã«ãã©ãŒã«ããã¯ãèšé²ããŸãã ãã®ãããªäžã§
å ŽåãããŒãã®é£œåãé²ãããã«ãã¯ã©ã¹ã¿ãŒå šäœã®åäœãå¿ èŠã§ãã
Dockerãã°- ããã/ Rcå®çŸ©ã§ç¹å®ã®Dockerãªãã·ã§ã³ãå ¬éããããšã¯
@smarterclaytonãšããŠã®è¯ãã¢ã€ãã¢https://github.com/smarterclayton
ãããææ¡ããã ãŸããé«ã®å®çŸ©ãå¯èœã«ããæœè±¡åã«ãåæããŸã
å¯èœã§ããã°ã¬ãã«ãã°ã®åäœ- å¥ã®ãªãã·ã§ã³ã¯ãkubeletæ§æãã¡ã€ã«ã«å€æŽãå ããããšã§ãã
ãã®ãããªãã°ã®åäœãåŠçããã³ãŒãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -147740136
ã
ïŒãããïŒ
çŸåšã 9ã€ã®ãã®ã³ã°ãã©ã€ããããããšã«æ³šæããŠãã ããã ãããåãå ¥ããããšã«ã€ããŠã®ã³ã³ã»ã³ãµã¹ã¯äœã§ããïŒ
+1
誰ããæ°ä»ããŠããªãå Žåã¯ãDockerããŒã¢ã³ãžã®ãã©ã°ïŒ --log-driver
ïŒã䜿çšããŠãããŒãããšã«ããã©ã«ãã®ãã°ãã©ã€ããŒãå®çŸ©ã§ããŸãã ç§ã®ç°å¢ã§ã¯ããã®æ¹æ³ã§ãã©ã€ããŒãjournald
ã«èšå®ããŸããã æ£çŽã«èšããšãã³ã³ããããšã«ããããªãŒããŒã©ã€ãããããã®ãŠãŒã¹ã±ãŒã¹ãèããã®ã«èŠåŽããŠããŸãã
ã»ãšãã©ã®ã¯ã©ã¹ã¿ãªã³ã°ã§ã¯ããã°ãã垯åå€ãã«ãªãããšãæãŸãªããããããã«ãã£ãŠæäŸãããæ©èœã®æå¹åãšã¯äœã§ããã
ãŸããéçšã®èŠ³ç¹ããã¯ãå¶åŸ¡ã倱ãããŠããããã«èŠããŸãã çŸåšãããã©ã«ããèšå®ãããã°ã¹ã¿ãã¯ãéçŽããããã«æ§æããŠããŸãã
ããã«+1ã
Dockerãã®ã³ã°ã®åŠçæ¹æ³ãå¶åŸ¡ã§ããªããšããããšã¯ãæ£ãããã®ã³ã°ãªãã·ã§ã³ãk8sã«ä»å±ã®ããŒã«ã䜿çšããããšã ãã§ããããšãæå³ããŸããããã¯ä¿¡ããããªãã»ã©ã®å¶éã§ãã
@timothyscããã§ç§ãã¡ã®ãŠãŒã¹ã±ãŒã¹ã è€éãªåçã€ã³ãã©ã¹ãã©ã¯ãã£ïŒæ倧100å°ã®ãã·ã³ïŒããããå€ãã®æ¢åã®ãµãŒãã¹ãå®è¡ãããŠããããã°ãåéããããã®ç¬èªã®logstash
ããããŸãã çŸåšããµãŒãã¹ã1ã€ãã€k8sã«ç§»è¡ããããšããŠããŸãããæ¢åã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãšk8sã«ã¯ã©ã¹ã¿ãŒåãããã³ã³ãããŒã®éã§ãã®ã³ã°ãçµ±åããã¯ãªãŒã³ãªæ¹æ³ã¯ãªãããã§ãã
K8Sã¯ããã°ã®åéæ¹æ³ã«ã€ããŠéåžžã«æèŠãåãããŠããŸãã ããã¯ãåçŽãªã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãŒãããå§ãã人ã«ãšã£ãŠã¯çŽ æŽãããããšãããããŸããã æ·±ãæãäžããŠã«ã¹ã¿ã ãã®ã³ã°ã¡ã«ããºã ãå®è£ ããããšãæ°ã«ããªãè€éãªã€ã³ãã©ã¹ãã©ã¯ãã£ã«åãçµãã§ããä»ã®ãã¹ãŠã®äººã«ãšã£ãŠãçŸæç¹ã§ã¯ãããè¡ãæ¹æ³ããªããããéåžžã«ã€ã©ã€ã©ããŸãã
ããŸãããã°ãããã¯çã«ããªã£ãŠããŸãã
ãããã£ãŠãã·ããªãªã§ã¯ããã°ã¯æ¬åœã«ãã¢ããªã±ãŒã·ã§ã³ããšãã§ããã
åºç€ãšãªããã¹ãããããã®ãã°ããµããŒãããŠããããšã確èªããŸããïŒ ãããç§ãã¡ã®æžå¿µã§ã
ããã§èª¬æããŸã-ã¯ã©ã¹ã¿ãŒã¬ãã«ãŸãã¯ããŒãã¬ãã«ã®ãããããå®è¡ããŸãããå®è¡ããå Žå
ãããã¬ãã«ã®å Žåãã¹ã±ãžã¥ãŒã©ã¯ã©ã®ãã°ãã©ã€ããèªèããŠããå¿
èŠããããŸã
ã©ãã«ååšããŸãã å¯èœãªéããããé¿ããããšããŸãã
2016幎5æ23æ¥æææ¥åå10æ50åãJacopo Nardiello < [email protected]
æžããŸããïŒ
ããã«+1ã
Dockerãã®ã³ã°ã®åŠçæ¹æ³ãå¶åŸ¡ã§ããªããšããããšã¯ã
æ£ãããã®ã³ã°ãªãã·ã§ã³ã¯ãk8sã«ä»å±ã®ããŒã«ã䜿çšããããšã ãã§ãã
ä¿¡ããããªãã»ã©ã®å¶éã@timothyschttps ïŒ//github.com/timothyscããã«ç§ãã¡ã®ãŠãŒã¹ã±ãŒã¹ããããŸãã ç§ãã¡ã¯
å€ãã®æ¢åã®è€éãªåçã€ã³ãã©ã¹ãã©ã¯ãã£ïŒçŽ100å°ã®ãã·ã³ïŒ
ãã°ãåéããããã®ç¬èªã®logstashã䜿çšããŠããããã§å®è¡ãããŠãããµãŒãã¹ã ããŠãç§ãã¡ã¯
çŸåšããµãŒãã¹ã1ã€ãã€k8sã«ç§»åããããã§ç§ã«ç§»åããããšããŠããŸãã
æ¢åã®ãã°ãçµ±åããããã®ã¯ãªãŒã³ãªæ¹æ³ã§ã¯ãªãããã§ã
k8ã«ã¯ã©ã¹ã¿ãŒåãããã€ã³ãã©ã¹ãã©ã¯ãã£ãšã³ã³ãããK8Sã¯ããã°ã®åéæ¹æ³ã«ã€ããŠéåžžã«æèŠãåãããŠããŸãã ããã¯çŽ æŽããããããããŸãã
ã·ã³ãã«ãªã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãŒãããå§ãã人ã®ããã«ã ã«ãšã£ãŠ
æ°ã«ããªãè€éãªã€ã³ãã©ã¹ãã©ã¯ãã£ã«åãçµãã§ããä»ã®ãã¹ãŠã®äºº
æ·±ãæãäžããŠãã«ã¹ã¿ã ãã®ã³ã°ã¡ã«ããºã ãå®è£ ããããã«ãåã«ãããŸãã
çŸæç¹ã§ãããè¡ãæ¹æ³ã¯ãéåžžã«ã€ã©ã€ã©ããŸããããŸãããã°ãããã¯çã«ããªã£ãŠããŸãã
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221002545
@smarterclaytonç§ã¯ããªãã®æžå¿µã«ã€ããŠç解ããŠããŸãããããŠåœŒãã¯ããŸãé 眮ãããŠããŸãã ã¯ã©ã¹ã¿ãŒå šäœããããã¬ãã«ã®ãã°ã®ååšãèªèããŠããå¿ èŠããããã©ããã¯ããããŸãããããããstdout / stderrãã©ããã«ãã°ã«èšé²ãããªãã·ã§ã³ïŒçŸåšã®ãããåã«åºã¥ããã¡ã€ã«ïŒïŒãæäŸããå¿ èŠããããšæããŸãããã®ãããã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ãå®è£ ããææã®ãã人ã¯èª°ã§ããã³ã³ãã³ããååŸããããã®æ°žç¶çãªå Žæã確ä¿ã§ããŸãã ãã°ããŒããŒã·ã§ã³ã¯ç°¡åã§ã¯ãªãã®ã§ãããã¯å·šå€§ãªç« ãéããŸãã
ãããã¯ç§ã®2ã»ã³ãã§ãããå®éã®è€éãªã·ããªãªãæ¢åã®ãã®ã³ã°ã€ã³ãã©ã¹ãã©ã¯ãã£ãæŸæ£ããã ãã®ãµããããããšã¯ã§ããŸããã
ã¢ããªã±ãŒã·ã§ã³ããšã«ã«ã¹ã¿ã ãã°ãªãã·ã§ã³ãæå®ããŠããŸããïŒ ããã€éã
ã¯ã©ã¹ã¿ããšã«ãã°ãªãã·ã§ã³ã®ã»ããããããŸããïŒ ã®å°ããªã»ãããããå Žå
configããªãã·ã§ã³ã¯ãããäžã®æ³šéããµããŒãããããšã§ã
å€æ°ã®ãæšæºãã°ããæäŸããããŒãã¬ãã«ã®æ§æã«é¢é£ä»ããããŠããŸã
ãªãã·ã§ã³ããã€ãŸããkubeletã®èµ·åæã«ãããã°ã¢ãŒãXããå®çŸ©ããŸãïŒããã¯ã
ã«ã¹ã¿ã ãã°ãªãã·ã§ã³ãšãã©ã€ããŒïŒããããã¯ã
pod.alpha.kubernetes.io/log.mode=X "ã
ããã«å¥ã®ãªãã·ã§ã³ã¯ããããã€ã€ãŒã«
éå§ããçŽåã«ã³ã³ããå®çŸ©ãå€æŽããæ©äŒ
ã³ã³ããã ä»æ¥ã¯ã·ãªã¢ã«åããå¿
èŠããããããããã¯å°é£ã§ãã
docker def outãäžé圢åŒã«å€æããŠå®è¡ããå®è¡ããŸã
ç¹°ãè¿ããŸãããå°æ¥çã«ã¯ãã£ãšç°¡åã«ãªãå¯èœæ§ããããŸãã
æåŸã«ãã³ã³ããã€ã³ã¿ãŒãã§ã€ã¹ã§ããŒãšå€ã®ãã¢ãå
¬éã§ããŸãã
ã³ã³ãããšã³ãžã³ã«çŽæ¥æž¡ãããAPIã®ä¿èšŒã¯ãããŸãã
ãããã確èªããPodSecurityPolicyããããã®ãªãã·ã§ã³ãèŠå¶ã§ããããã«ããŸãã ããã¯
çºä¿¡è
ã®ãšã¹ã±ãŒããããã«ãªããŸãããæäŸããããšã¯ã§ããŸãã
ãããããªãªãŒã¹éã§åŒãç¶ãæ©èœããããšãä¿èšŒããŸãã
5ïŒ34 AMã«æšã2016幎5æ26æ¥ã«ã¯ãã€ã³ãNardiello [email protected]
æžããŸããïŒ
@smarterclaytonhttps ïŒ//github.com/smarterclaytonç§ã¯ç解ããŠããŸã
ããªãã®æžå¿µãšåœŒãã¯ããŸãé 眮ãããŠããŸãã ã¯ã©ã¹ã¿ãŒå šäœãã©ããã¯ããããŸãã
ãããã¬ãã«ã®ãã®ã³ã°ã®ååšãèªèããŠããå¿ èŠããããŸãã
ãããstdout / stderrãã©ããã«ãã°ã«èšé²ãããªãã·ã§ã³ãæäŸããå¿ èŠããããŸãïŒãã¡ã€ã«
çŸåšã®ãããåã«åºã¥ããŠããŸããïŒïŒ
ã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ã¯ãã³ã³ãã³ããååŸããããã®æ°žç¶çãªå ŽæããããŸãã
ãã°ããŒããŒã·ã§ã³ã¯ç°¡åã§ã¯ãªãã®ã§ãããã¯å·šå€§ãªç« ãéããŸãããããã¯ç§ã®2ã»ã³ãã§ããããã®çŸå®äžçã®è€åäœã®ãµããããããšã¯ã§ããŸãã
ã·ããªãªã¯ãæ¢åã®ãã®ã³ã°ã€ã³ãã©ã¹ãã©ã¯ãã£ãæŸæ£ããã ãã§ããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221823732
@smarterclaytonã¯https://github.com/kubernetes/kubernetes/issues/24677#issuecomment-220735829ãèŠãããšããã
çµæ§ã§ãã ããã«è°è«ã移ããŸãã
11:23ã®æšã2016幎5æ26æ¥ã«ã¯ãã¢ã³ãã£ã»ãŽãŒã«ãã¹ã¿ã€ã³[email protected]
æžããŸããïŒ
@smarterclayton https://github.com/smarterclaytonèŠãããšããããŸããïŒ24677
ïŒã³ã¡ã³ãïŒ
https://github.com/kubernetes/kubernetes/issues/24677#issuecomment -220735829â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221903781
ããã
ããã¯ãkubernetesã§èæ
®ãã¹ãéèŠãªæ©èœã ãšæããŸãã
Dockerã®ãã°ãã©ã€ããŒã®äœ¿çšãæå¹ã«ãããšãããã€ãã®éèŠãªåé¡ã解決ã§ããŸãã
ãã£ã¹ã¯ãžã®ãã°èšé²ã¯ã¢ã³ããã¿ãŒã³ã ãšæããŸãã ãã°ã¯æ¬è³ªçã«ãç¶æ ãã§ããããã£ã¹ã¯ã«ä¿åããªãããšãæãŸããã§ãã ãã°ãã³ã³ãããããªããžããªã«çŽæ¥è»¢éãããšãå€ãã®åé¡ã解決ããŸãã
ãã°ãã©ã€ããŒãèšå®ãããšãkubectllogsã³ãã³ãã¯äœã衚瀺ã§ããªããªããŸãã
ãã®æ©èœã¯ã䟿å©ãã§ããããã°ãå¥ã®ãœãŒã¹ããå
¥æã§ããå Žåã¯ããã®æ©èœã¯å¿
èŠãããŸããã
Dockerã«ã¯ãGoogle CloudïŒgcplogsïŒãšAmazonïŒawslogsïŒçšã®ãã°ãã©ã€ããŒããã§ã«ãããŸãã DockerããŒã¢ã³èªäœã«èšå®ããããšã¯å¯èœã§ãããå€ãã®æ¬ ç¹ããããŸãã 2ã€ã®Dockerãªãã·ã§ã³ãèšå®ã§ããããšã«ããïŒ
--log-driver =ã³ã³ããã®ãã®ã³ã°ãã©ã€ã
--log-opt = []ãã°ãã©ã€ããŒãªãã·ã§ã³
ã©ãã«ïŒgcplogsã®å ŽåïŒãŸãã¯awslogs-groupïŒawslogsã®å ŽåïŒãäžç·ã«éä¿¡ããããšãå¯èœã§ãã
ãããã«åºæã§ãã ããããã°ãããäžæ¹ã®ç«¯ã§ãã°ãç°¡åã«èŠã€ããããšãã§ããŸãã
人ã ãkubernetesã§ãã°ãã©ã®ããã«åŠçããŠãããã«ã€ããŠèªãã§ããŸãã å€ãã®äººãããã°ãäžå€®ã·ã¹ãã ã«è»¢éãã粟巧ãªã¹ã¯ã¬ãŒããŒãèšå®ããŠããããã§ãã ãã°ãã©ã€ããŒãèšå®ã§ãããšããããäžèŠã«ãªããŸã-ããèå³æ·±ãããšã«åãçµãããã®æéã解æŸããŸã:)
ãŸããç§ãå«ãäžéšã®äººã ã¯ããã¹ãã§logrotateãèšå®ãã代ããã«ãJSONãã®ã³ã°ãã©ã€ããŒïŒdockerã«ãã€ãã£ãïŒã§ '--log-optmax-size'ãªãã·ã§ã³ã䜿çšããŠdockerãã°ããŒããŒã·ã§ã³ãå®è¡ããããšèããŠããŸãã ãããã£ãŠãã-log-optããªãã·ã§ã³ã ããå ¬éããããšã倧æè¿ã§ãã
ã³ã³ããæ§æLogConfigãäœæãããšãã«ãk8sãå€æŽããŸããã
+1
Dockerãã°ãã©ã€ããŒã䜿çšããŠäžå
åããããã°åéãè¡ããšããã°ãã¡ã€ã«ã®ã·ã³ããªãã¯ãªã³ã¯ãäœæããããããç¹å¥ãªfluentdã³ã³ãããŒã«ããŠã³ããããããã調æŽãããã°ããŒããŒã·ã§ã³ã管çãããããã¯ããã«ç°¡åã«èŠããŸãã
ã³ã³ãããŒããšã®æ§æã®ãŠãŒã¹ã±ãŒã¹ïŒãããã€ããã³ã³ãããŒã«ã€ããŠä»ã®å ŽæãŸãã¯å¥ã®æ¹æ³ã§ãã°ãèšé²ãããã®ã§ãããKubernetesã®å®è¡ã«å¿ èŠãªæšæºã³ã³ãããŒã®ãã°ãã©ã€ããŒãæ°ã«ããŸããïŒãŸãã¯å€æŽãããïŒã
ããã«è¡ããŸãã ãããå®çŸãããŠãã ããã
ãã1ã€ã®ã¢ã€ãã¢ã¯ããã¹ãŠã®ã³ã³ãããŒãåŒãç¶ããã°ãåããšã³ããã€ã³ãã«è»¢éãããããã°ãµãŒããŒäžã®å°ãªããšãç°ãªããã£ãŒã«ãå€ãèšå®ã§ãããšãããã®ã§ãã
ããã¯ãKubernetesã«ãã£ãŠäœæãããDockerã³ã³ãããŒã«ã«ã¹ã¿ã ã©ãã«ãä»ããããŠããããšã確èªã§ããã°ãgelfdockerãã©ã€ããŒã§æ©èœããŸãã æå³ïŒããããã£ãŒã«ãã®äžéšã¯ãDockerã³ã³ããã©ãã«ãšããŠè»¢éãããå¯èœæ§ããããŸãã ïŒå€åããã¯ãã§ã«å¯èœã§ãããç§ã¯ãããéæããæ¹æ³ãããããŸããïŒã
Kubernetesã䜿çšãããdockerããŒã¢ã³ãšgelfãã©ã€ããŒã®ã¿ã䜿çšããäŸã DockerããŒã¢ã³ã--log-driver=gelf --log-opt labels=env,label2
ã§æ§æããDockerã³ã³ãããŒãäœæããŸãã
docker run -dti --label env=testing --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"
ããã³å¥ã®Dockerã³ã³ããïŒ
docker run -dti --label env=production --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"
ãã®ããã«ãGraylogã§ã¯ã env=production
env=testing
ã³ã³ãããš
çŸåšãç§ã¯ãã®ãããªdockerããŒã¢ã³ãªãã·ã§ã³ã䜿çšããŠããŸãïŒ
--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name
@xmik ããããæ¢åã®æ©èœãŸãã¯ããªãã®ææ¡ã§ããããšã確èªããããã«
çŸåšãç§ã¯ãã®ãããªdockerããŒã¢ã³ãªãã·ã§ã³ã䜿çšããŠããŸãïŒ
--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name
ç§ãçŸåšäœ¿çšããŠããDockerããŒã¢ã³ãªãã·ã§ã³ã¯ããã§ã«æ©èœããŠããŸãã Kubernetesã¯ãDockerã³ã³ããããšã«ãã§ã«ããã€ãã®ã©ãã«ãèšå®ããŠããŸãã ããšãã°ãkube-apiserverã³ã³ããã§docker inspect
ãå®è¡ããå ŽåïŒ
"Labels": {
"io.kubernetes.container.hash": "4959a3f5",
"io.kubernetes.container.name": "kube-apiserver",
"io.kubernetes.container.ports": "[{\"name\":\"https\",\"hostPort\":6443,\"containerPort\":6443,\"protocol\":\"TCP\"},{\"name\":\"local\",\"hostPort\":8080,\"containerPort\":8080,\"protocol\":\"TCP\"}]",
"io.kubernetes.container.restartCount": "1",
"io.kubernetes.container.terminationMessagePath": "/dev/termination-log",
"io.kubernetes.pod.name": "kube-apiserver-k8s-production-master-1",
"io.kubernetes.pod.namespace": "kube-system",
"io.kubernetes.pod.terminationGracePeriod": "30",
"io.kubernetes.pod.uid": "a47396d9dae12c81350569f56aea562e"
}
ãããã£ãŠããããã®DockerããŒã¢ã³ãªãã·ã§ã³ã¯æ©èœããŸãã
ãã ãããããã®ä»æ§ã«åºã¥ããŠãKubernetesã«Dockerã³ã³ããã«ã«ã¹ã¿ã ã©ãã«ãèšå®ãããããšã¯çŸåšäžå¯èœã ãšæããŸãã ãããã£ãŠãããšãã°--log-driver=gelf --log-opt labels=env,label2
ã¯æ©èœããŸããã
ãã®é¢ã§äœããã¥ãŒã¹ã¯ãããŸããïŒ ã©ãã«ãæå®ããŠ--log-opt labels<>
ããæ©èœããããšãããªãè¯ãã§ãããã
@portante @jcantrillããã«ã€ããŠèª¬æããã®ã§ãããã§ãã£ããã£ããããã«ãããã圹ç«ã€ãšèããŠãããŠãŒã¹ã±ãŒã¹ã次ã«ç€ºããŸãã
ãã°èšé²ãããããšã©ãŒã®æ€åºãšãã°èšé²ãéå§ãããšããããã®ãšã©ãŒãåéããã€ã³ãã©ã¹ãã©ã¯ãã£ãããããååŸããŠèšé²ã¡ã«ããºã ã«ãã£ãŒãããã¯ããèšé²ã¡ã«ããºã ãããã«ãšã©ãŒãã¹ããŒããŠãã°ã«èšé²ããŸãã
ãã®ãã£ãŒãããã¯ã«ãŒãã¯ããã£ã«ã¿ãªã³ã°ã¡ã«ããºã ã䜿çšããããšã§åé¿ã§ããŸãããå°ãè匱ã§ãã å¥ã®ãã°ãã©ã€ããŒã䜿çšããŠãã¡ã€ã«ã«èšé²ããããŒããŒã·ã§ã³ãªãã·ã§ã³ãèšå®ããããšã¯ãè¯ã解決çã®ããã§ãã
ç§ã®2ã»ã³ãã
k8så ã§ã®ãã®ã³ã°ã«å¯ŸããçŸåšã®ãœãªã¥ãŒã·ã§ã³ã¯æ¬¡ã®ãšããã§ãïŒAFAIKïŒïŒ
ãµã€ãã«ãŒã³ã³ããã¯ç§ã«ã¯ã¡ãã£ãšããéãã®ããã§ãã ã¬ããªã±ãŒã·ã§ã³ã³ã³ãããŒã©ãŒã®æŠç¥ã¯è¯ãããã«èŠããŸããããã¹ãŠã®ãããã€ã¡ã³ãããã®ã³ã³ãããŒã®ãã°ãæ··åšããŠãããããäžéšã®ãŠãŒã¶ãŒã¯ãããå¿ èŠãšãã代ããã«åã¢ããªãå¥ã®ãã®ã«ãã°ã«èšé²ãããå ŽåããããŸãã ãã®å ŽåãæåŸã®ãªãã·ã§ã³ã¯IMHOã§æé©ã«æ©èœããŸããããã¹ãŠã®ã³ã³ãããŒã«è€è£œãããå€ãã®ã³ãŒããäœæããŸãïŒäŸïŒlogentriesããŒã¢ã³ã®ã€ã³ã¹ããŒã«ãšã»ããã¢ããïŒã
log-driver
ãã©ã°ã«ã¢ã¯ã»ã¹ã§ããã°ãããã¯ãã¹ãŠã¯ããã«ç°¡åã«ãªããããåãããã€ã¡ã³ãã¯ãDockerã®ãã€ãã£ãæ©èœã䜿çšããŠãã°ã«èšé²ããæ¹æ³ãå®çŸ©ããŸãã
ç§ã¯ãããå®è£ ããããšè©Šã¿ãããšãã§ããŸãããããããããã€ãã®å©ããå¿ èŠã«ãªããŸã-ç§ã¯kubernetesã³ãŒãããŒã¹ã«ç²ŸéããŠããªãã®ã§ã
ãã«ãããã³ã·ãŒãéèŠã«ãªããšãé©åã«è§£æ±ºããã®ãé£ãããªããŸãã
ååå空éã¯ç°ãªãããã³ãã§ããå¯èœæ§ããããããããããã®ãã°ã¯å¿ ãããéçŽãããå¿ èŠã¯ãããŸããããããã³ããæå®ããå Žæã«éä¿¡ã§ããããã«ããå¿ èŠããããŸãã
ç§ã¯ãããè¡ãããã€ãã®æ¹æ³ãèããããšãã§ããŸãïŒ
@ caarlos0 @ kfox1111ç§ã¯ããªãã®æèŠã«åæããŸãã ããã¯ãã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ãã¹ãã¬ãŒãžãããŒããããã«ã¯ããã«å€ãã®ããŒã ã®èª¿æŽãå¿ èŠã«ãªããããè€éãªãããã¯ã§ãã æåã«å šäœçãªãã°ã¢ãŒããã¯ãã£ã®ææ¡ãæ瀺ããŠããããã®äžè²«ãããã¥ãŒãžã®å€æŽã«ã€ããŠèª¬æããããšããå§ãããŸãã ç§ã¯ããã®ææ¡ã1ãæããããã§çŸãã秩åºããããããèšåããããã¹ãŠã®åé¡ãç解ããããšãæåŸ ããŠããŸãã
@crassirostrisç解ã§ããŸããã log-driver
èš±å¯ããã ãã§ããã°ãã¹ãã¬ãŒãžãªã©ãåŠçããå¿
èŠã¯ãããŸããã
Dockerã¯ãã³ã³ããããŒã¹ã§èšå®ãããŠãããã°ãã©ã€ãã«STDOUTãéä¿¡ããã ãã§ããïŒ ç§ãã¡ã¯è²¬ä»»ãã³ã³ããã«ç§»ããŸã...ç§ã«ã¯éåžžã«åçŽãªè§£æ±ºçã®ããã«æããŸã-ããããç§ãèšã£ãããã«ãç§ã¯ã³ãŒãããŒã¹ãç¥ããªãã®ã§ãå€åç§ã¯åã«ééã£ãŠããŸã...
åé¡ã¯ãdockerã®ãã°ãã©ã€ããŒãk8sã¡ã¿ããŒã¿ãè¿œå ããªããããåŸã§ãã°ã䜿çšããããšãå®éã«åœ¹ç«ã€ããšã§ãã ïŒ/
@ kfox1111ããŒããçã«ããªã£ãŠããŸã...
ãããããŠãŒã¶ãŒããã¢ããªã±ãŒã·ã§ã³ããã°ã®ã¿ãå¿ èŠãšããkubernetesãã°ã§ã¯ãªããdockerãã°ã§ã¯ãªããã³ã³ãããŒãã°å ã§å®è¡ãããŠããã¢ããªã®ã¿ãå¿ èŠãšããå Žåã¯ã©ãã§ããããã
ãã®å Žåãç§ã«ã¯ã log-driver
ãæ©èœããããã§ã...
@ caarlos0ããã«ã¯ããã€ãã®åœ±é¿ãããå ŽåããããŸããããšãã°ãkubeletã¯ããµãŒããŒkubectlãã°ãžã®ãã°åœ¢åŒã«ã€ããŠããã€ãã®ä»®å®ãè¡ããŸãã
ãããããã¹ãŠãé€ãã°ã log-driver
èªäœã¯Dockeråºæã§ãããä»ã®ã©ã³ã¿ã€ã ã§ã¯æ©èœããªãå¯èœæ§ããããŸããããããAPIã«å«ããªãäž»ãªçç±ã§ãã
çã«ããªã£ãŠãã
ãã®æ©èœã¯ïŒåé¡ã§èª¬æãããŠããããã«ïŒè¿œå ãããªãã®ã§ããããããã®åé¡ãéããïŒãŸãã¯ç·šéãããªã©ïŒå¿ èŠããããŸããïŒ
@ caarlos0ãã ãããã®ã³ã°ã®èšå®ãããæè»ã§ééçã«ããããšèããŠããŸãã ææ¡ã«å¯Ÿãããã£ãŒãããã¯ããåŸ ã¡ããŠãããŸãã
ã³ã³ããããã®stdoutãã®ã³ã°ã¯çŸåšãKuberneteså ã§åž¯åå€ã§åŠçãããŠããŸãã çŸåšããã®ã³ã°ãåŠçããããã«éKubernetesãœãªã¥ãŒã·ã§ã³ããŸãã¯åž¯åå€ãã®ã³ã°ã«ã¢ã¯ã»ã¹ããããã«Kubernetesããžã§ã€ã«ãã¬ã€ã¯ããç¹æš©ã³ã³ããã«äŸåããŠããŸãã ã³ã³ãããŒã®ã©ã³ã¿ã€ã ãã®ã³ã°ã¯ã©ã³ã¿ã€ã ïŒdockerãrktãWindowsïŒããšã«ç°ãªããããDocker --log-driverã®ããã«ãããããéžæãããšãå°æ¥ã®æè·ç©ãäœæãããŸãã
ãã°ã¹ããªãŒã ã垯åå ã«æ»ãã«ã¯ãkubeletãå¿ èŠã§ããããšããå§ãããŸãã æå°éã®JSONãŸãã¯XMLãã°åœ¢åŒãå®çŸ©ãŸãã¯éžæããŸããããã«ãããåã³ã³ãããŒããstdoutè¡ãåéãããæå°éã®ã¯ã©ã¹ã¿ãŒ+åå空é+ããã+ã³ã³ãããŒã¡ã¿ããŒã¿ãè¿œå ãããŸããããã«ããããã°ãœãŒã¹ãKubernetesã¹ããŒã¹å ã§èå¥ãããã¹ããªãŒã ãKubernetes Service +ã«è»¢éãããŸãã枯ã ãŠãŒã¶ãŒã¯ã奜ããªãã°æ¶è²»ãµãŒãã¹ãèªç±ã«æäŸã§ããŸãã ãã¶ããKubernetesã¯ãkubectllogsããµããŒããå®è£ ãã1ã€ã®ãªãã¡ã¬ã³ã¹/ããã©ã«ããµãŒãã¹ãæäŸããŸãã
ãã®ã³ã°æ¶è²»ãµãŒãã¹ãæå®ãããŠããªãå Žåããã£ã¹ã¯ã«ãŸã£ãããããããŸããã ãã°ãä»ã®å Žæã«ã¹ããªãŒãã³ã°ããããæ°žç¶ã¹ãã¬ãŒãžã«æžã蟌ãã§ããŒããŒã·ã§ã³ãããããããšã¯ããµãŒãã¹ã®è²¬ä»»/決å®ã§ãã
kubeletã³ã³ããã©ã³ã¿ã€ã ã©ãããŒã¯ãæå°éã®åŠçã§åã³ã³ããã©ã³ã¿ã€ã ããstdoutãæœåºããk8sã»ã«ããã¹ããµãŒãã¹ãæ¶è²»ããŠåŠçã§ããããã«åž¯åå ã«æ»ããŸãã
DeploymentãŸãã¯Podã®ã³ã³ããä»æ§ã§ã¯ããªãã·ã§ã³ã§ãstdoutãã®ã³ã°ã®ã¿ãŒã²ãããµãŒãã¹ãšããŒããæå®ããŸãã cluster + namespace + pod + containerã®k8sã¡ã¿ããŒã¿ã®è¿œå ã¯ãªãã·ã§ã³ã§ãïŒãããã£ãŠãraw / untouchedãŸãã¯ã¡ã¿ããŒã¿ä»ãã®éžæïŒã ãŠãŒã¶ãŒã¯ããã¹ãŠã®ãã°ã1ã€ã®å Žæã«èªç±ã«éçŽããããããã³ããåå空éããŸãã¯ã¢ããªã±ãŒã·ã§ã³ããšã«éçŽãããã§ããŸãã
ããã«æãè¿ãã®ã¯ããkubectl logs -fãã䜿çšããŠãAPIãµãŒããŒãä»ããŠåã³ã³ãããŒã®ã³ã³ãããŒãã°ãã¹ããªãŒãã³ã°ãããµãŒãã¹ãå®è¡ããããšã§ãã ããã¯ããŸãå¹ççã§ãã¹ã±ãŒã©ãã«ã§ããªãããã§ãã ãã®ææ¡ã«ãããã³ã³ãããŒã©ã³ã¿ã€ã ã©ãããŒãããµãŒãã¹ãŸãã¯ããããžã®çŽæ¥ã®ããå¹ççãªçŽæ¥ã¹ããŒãã³ã°ãå¯èœã«ãªããåãããŒãã§ã®ãããã€ã¡ã³ããŸãã¯ããŒã¢ã³ã»ãããããã®ãã®ã³ã°ãåªå ããã³ã³ãããŒããã°ãçæãããªã©ã®æé©åãå¯èœã«ãªããŸãã
Kubernetesã¯ãKubernetesã¹ããŒã¹å ã§äœæããã»ã«ããã¹ããåçš®ããŸãã¯ç°çš®ã®ãã°ãœãªã¥ãŒã·ã§ã³ã«å¯ŸããŠãã³ã³ããã®ã©ã³ã¿ã€ã ãã°ãå¹ççã«ã€ã³ãã³ãã«ããããã«æå°éã®ããšãè¡ãå¿ èŠãããããšãææ¡ããŠããŸãã
人ã ã¯ã©ãæããŸããïŒ
@whereisaaronãã®ã³ã°ãšã³ã·ã¹ãã ã«é¢ãããã¹ãŠã®è©³çŽ°ãäžãæã«ãªãã®ã§ãä»ã¯ãã®è°è«ãããããããŸããã
ããšãã°ããããã¯ãŒã¯ãšãã·ã³ã®åé¡ã«ãã£ãŠãã°ãããŒãäžæãããŠããã®ãããããŸãããç¹°ãè¿ãã«ãªããŸããããŸã 説æããããããŸããã åŸã§ææ¡ã®æºåãã§ããããããã«ã€ããŠè©±ãåãã®ã¯ã©ãã§ããïŒ ããã¯ããªãã«ãšã£ãŠåççã ãšæããŸããïŒ
確ãã«@crassirostrisã ææ¡ããã§ãã¯ã¢ãŠãããæºåãã§ããããããã§ãç¥ãããã ããã
/ sigã¹ã±ãŒã©ããªãã£
--log-driver
ãš--log-opt
ã¯ã©ã¡ããDockerããŒã¢ã³ã®ãªãã·ã§ã³ã§ãããk8sæ©èœã§ã¯ãããŸããããk8sãããä»æ§ã§æ¬¡ã®ããã«æå®ãããšäŸ¿å©ã§ãã
--log-opt
ãèšå®ããŠããããã®ãã°ããŒããŒã·ã§ã³ãæ§æããŸã--log-opt
èšå®ã§ãããåäžã®ããŒãã¬ãã«ã®--log-opt
ãããŸããAFAIKãä»æ¥ã®k8sãããä»æ§ã§ã¯äžèšã®ãããããããã¬ãã«ã§èšå®ã§ããŸããã
@vhosakotäžèšã®ãããããKubernetesã®æŠå¿µã§ã¯ãªããããKubernetesã®ã©ã®ã¬ãã«ã§ãèšå®ã§ããŸããã
@crassirostrisæ£ç¢ºã«ïŒ :)
Dockerããããã¬ãã«/ã³ã³ããã¬ãã«ã§è¡ããã¹ãŠã®ããšãk8sãå®è¡ããå ŽåããŠãŒã¶ãŒã«ãšã£ãŠã¯ç°¡åã§ã¯ãªãã§ããããã ãããã¬ãã«/ã³ã³ããã¬ãã«ã®ãã®ãã»ãšãã©ãªãããã«ããŠãŒã¶ãŒã«DockerããŸã£ãã䜿çšãããªãã®ã¯ãªãã§ããïŒ
ãããŠãDockerãã¡ã³ã§ã¯ãªãk8sæ奜家ãåã質åããããããããŸããã
@vhosakot Pointã¯ãK8ã§äœ¿çšã§ããã³ã³ããã©ã³ã¿ã€ã ã¯ä»ã«ããããããããŸããã --log-opt
ã¯Dockerã«ã®ã¿ååšããŸãã K8sã¬ãã«ã§ãã®ãããªãªãã·ã§ã³ãäœæãããšãæå³çã«æœè±¡åããªãŒã¯ãããŸãã ãããç§ãã¡ã®è¡ãããæ¹æ³ã§ã¯ãªããšæããŸãã ãªãã·ã§ã³ãååšããå Žåãããã¯ãã¹ãŠã®ã³ã³ããã©ã³ã¿ã€ã ã§ãµããŒããããŠããå¿
èŠããããçæ³çã«ã¯CRIã®äžéšã§ããå¿
èŠããããŸã
ãã®ãããªãªãã·ã§ã³ããªããšèšã£ãŠããã®ã§ã¯ãªããDockerãžã®çŽæ¥ã«ãŒãã§ã¯ãªããšèšã£ãŠããŸã
@crassirostris確ãã«ãDockeråºæã§ã¯ãªãããããã¬ãã«/ã³ã³ããã¬ãã«ã§CRIãå®è¡/èš±å¯ããããšãk8sãå®è¡ããå¿ èŠããããã©ããã«ããã£ãŠããããã§ãã
ããã絶察ã«æ£ãã
ç§ã¯ãã®è°è«ã«é ããŠããããã®æ©èœãå®è£ ãããŠããã®ãèŠãããšã«èå³ããããŸãããããããªãã¶ã€ã³ãæã€ããšãšãæ£æ°ã§åäžãªãã®ã³ã°ãœãªã¥ãŒã·ã§ã³ãèšå®ããç°¡åãªæ¹æ³ãæã€ããšã®éã«ã¯ãã¬ãŒããªãããããšäž»åŒµããŸãã¯ã©ã¹ã¿ãŒçšã ã¯ãããã®æ©èœãå®è£ ãããšãDockerã®å éšãå ¬éãããŸãããããã¯å€§ããããšã§ã¯ãããŸããããåæã«ãK8SãŠãŒã¶ãŒã®å€§å€æ°ãDockerãåºç€ãšãªãã³ã³ããæè¡ãšããŠäœ¿çšããŠãããDockerã«ã¯éåžžã«å æ¬çãªãªã¹ããä»å±ããŠããŸãããã°ãã©ã€ãã®ã
@ gabriel-tincuç§ã¯çŸåšãå ã®FRãåé¡ãèµ·ãã䟡å€ããããšã¯ç¢ºä¿¡ããŠããŸãã
dockerã«ã¯ããã°ãã©ã€ããŒã®éåžžã«å æ¬çãªãªã¹ããä»å±ããŠããŸã
K8sã®ãããã€æé äžã«Dockerã¬ãã«ã§ãã°ãèšå®ãããã®æ å ±ãK8sã«ãªãŒã¯ããããšãªãããããã®ãã°ãã©ã€ããŒã®ããããã䜿çšã§ããŸãã ä»æ¥ã§ããªãå¯äžã®ããšã¯ãã³ã³ããããš/ãããããšã«ãããã®ãªãã·ã§ã³ãèšå®ããããšã§ãïŒå®éã«ã¯ãå°çšããŒãã䜿çšããŠèšå®ããããŒãã»ã¬ã¯ã¿ã䜿çšã§ããŸãïŒããããã倧ããªå¶éã§ãããã©ããã¯ããããŸããã
@crassirostris __before__ç°å¢ãã»ããã¢ããããåã«ã»ããã¢ããã§ããããšã«åæããŸãããç°å¢ããã§ã«ã»ããã¢ãããããåŸã§Dockerãã°ãã©ã€ããŒãã¢ã¯ãã£ãã«æŽæ°ããæ¹æ³ãããå Žåã¯ãçŸæç¹ã§ã¯ããããŸããã
@ gabriel-tincu @vhosakot > = 1.5ã®ãæãã«k8sãšDockerã®éã«ååšããŠããçŽæ¥ã€ã³ã¿ãŒãã§ãŒã¹ã¯éæšå¥šã«ãªããã³ãŒãã¯å®å
šã«åé€ããããšæããŸãã kubeletãšDockerïŒãŸãã¯rktãcri-oãruncãlxdãªã©ã®ä»ã®ãã®ïŒã®ãããªã©ã³ã¿ã€ã ã®éã®ãã¹ãŠãCRIãééããŸãã çŸåšãå€ãã®ã³ã³ããã©ã³ã¿ã€ã ããããDockerèªäœã¯éæšå¥šã«ãªãã cri-containerd
+ containerd
ãåªå
ããŠéããªãåé€ãããå¯èœæ§ããããŸãã
http://blog.kubernetes.io/2017/11/containerd-container-runtime-options-kubernetes.html
@crassirostrisææ¡ã«é¢ããåãã¯ãããŸããïŒããã¯åž¯åå ã³ã³ãããã®ã³ã°ã®å¯èœæ§ããããããããŸãããïŒ
CRIã³ã³ãããã°ã¯ãã¡ã€ã«ããŒã¹ïŒhttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/kubelet-cri-logging.mdïŒã§ããããã°ãã¹ã¯æ瀺çã«å®çŸ©ãããŠããŸãã
/var/log/pods/PodUID/ContainerName/RestartCount.log
ã»ãšãã©ã®dockerãã®ã³ã°ãã©ã€ããŒhttps://docs.docker.com/config/containers/logging/configure/#supported-logging-driversã§ã¯ãã¯ã©ã¹ã¿ãŒç°å¢ã§æãéèŠãªã®ã¯ãã³ã³ãããŒãã°ãã¯ã©ã¹ã¿ãŒã«åã蟌ããã©ã€ããŒã§ãã splunk
ã awslogs
ã gcplogs
ãªã©ã®ãã®ã³ã°ç®¡çã·ã¹ãã ã
CRIã®å Žåããdockerlogdriverãã¯äœ¿çšããªãã§ãã ããã ããŒã¢ã³ã»ãããå®è¡ããŠãCRIã³ã³ãããã°ãã£ã¬ã¯ããªããå¿ èŠãªå Žæã«ã³ã³ãããã°ãåã蟌ãããšãã§ããŸãã 圌ãã¯fluentdã䜿çšããããèªåã§ããŒã¢ã³ã»ãããäœæãããããããšãã§ããŸãã
ããã«ã¡ã¿ããŒã¿ãå¿ èŠãªå Žåã¯ãã¡ã¿ããŒã¿ãã¡ã€ã«ãåé€ãããããã¡ã€ã«ãã¹ãæ¡åŒµããããããŒã¢ã³ã»ããã«apiserverããã¡ã¿ããŒã¿ãååŸãããããšãæ€èšã§ããŸãã ãã®https://github.com/kubernetes/kubernetes/issues/58638ã«ã€ããŠé²è¡äžã®è°è«ããã
90æ¥éæäœããªããšãåé¡ã¯å€ããªããŸãã
/remove-lifecycle stale
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
å€ãåé¡ã¯ãããã«30æ¥ééã¢ã¯ãã£ãã«ãªããšè
æããæçµçã«ã¯éããŸãã
ãã®åé¡ãä»ãã解決ã§ããå Žåã¯ã /close
ã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/ lifecycle stale
å€ããªã£ãåé¡ã¯ã30æ¥éæäœããªããšè
æããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
è
ã£ãåé¡ã¯ãããã«30æ¥éæäœããªããšçµäºããŸãã
ãã®åé¡ãä»ãã解決ã§ããå Žåã¯ã /close
ã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/ã©ã€ããµã€ã¯ã«è
æ
/ remove-lifecyclestale
/ remove-lifecycle rotten
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ ã§ã¯ãDockerã³ã³ããã§k8sãå®è¡ããŠãã人ã¯ãAWSCloudWatchãªã©ã®ããã¯ãšã³ããžã®ãã®ã³ã°ãã©ã®ããã«è§£æ±ºããã®ã§ããããã
@ bryan831 fluentdãªã©ã䜿çšããŠk8sã³ã³ããã®ãã°ãã¡ã€ã«ãåéããããããããã¯ãšã³ããCloudWatchãStackDriverãElastisearchãªã©ã®éžæãããã®ã«éçŽããã®ãäžè¬çã§ãã
æ¢è£œã®Helmãã£ãŒãããããŸããããšãã°ã fluentd + CloudWatch ã fluentd + Elastisearch ã fluent-bit-> fluentd->ã奜ã¿ã Datadog ããã®ä»ã®çµã¿åãããªã©ã§ãã
90æ¥éæäœããªããšãåé¡ã¯å€ããªããŸãã
/remove-lifecycle stale
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
å€ãåé¡ã¯ãããã«30æ¥ééã¢ã¯ãã£ãã«ãªããšè
æããæçµçã«ã¯éããŸãã
ãã®åé¡ãä»ãã解決ã§ããå Žåã¯ã /close
ã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/ lifecycle stale
Docker--log-optãªãã·ã§ã³ãã«ã¹ã¿ãã€ãºã§ãããšäŸ¿å©ã§ãã ç§ã®å Žåãã-log-opt tag = "{{ãImageName}}/{{ãName}}/{{ãID}}"ããªã©ã®ã¿ã°ã䜿çšããŠãImageNameããã°ã«åºåããããšæããŸããããã«ãããã©ã®ã³ã³ããããŒãžã§ã³ããã°ããã®ãã®ã§ããããããããŸãã ïŒåç §ïŒhttpsïŒ//docs.docker.com/config/containers/logging/log_tags/ïŒ
/ remove-lifecyclestale
@ pmahalwar-intertruståã--log-optãdockerããŒã¢ã³ã«æž¡ãããšãã§ããŸããããã¯ããã¹ãŠã®ã³ã³ãããŒã«åœ±é¿ããŸã...
@ pmahalwar-kubernetesã«ãã£ãŠcontainerd
ããåéããããã°ã«ã¯ããã§ã«åºç¯ãªã¡ã¿ããŒã¿ãå«ãŸããŠãããã³ã³ããã«é©çšããã©ãã«ãå«ãŸããŠããŸãã fluentd
åéãããšãããšãã°ä»¥äžã®ãã°ãšã³ããªã®ããã«ããã¹ãŠã®ã¡ã¿ããŒã¿ãååŸã§ããŸãã
{
"log": " - [] - - [25/Oct/2018:06:29:48 +0000] \"GET /nginx_status/format/json HTTP/1.1\" 200 9250 \"-\" \"Go-http-client/1.1\" 118 0.000 [internal] - - - - 5eb73997a372badcb4e3d993ceb44cd9\n",
"stream": "stdout",
"docker": {
"container_id": "3657e1d9a86e629d0dccefec0c3c7624eaf0c4a11f60f53c5045ec0839c37f06"
},
"kubernetes": {
"container_name": "nginx-ingress-controller",
"namespace_name": "ingress",
"pod_name": "nginx-ingress-dev-controller-69c644f7f5-vs8vw",
"pod_id": "53514ad6-d0f4-11e8-a04c-02c433fc5820",
"labels": {
"app": "nginx-ingress",
"component": "controller",
"pod-template-hash": "2572009391",
"release": "nginx-ingress-dev"
},
"host": "ip-172-29-21-204.us-east-2.compute.internal",
"master_url": "https://10.3.0.1:443/api",
"namespace_id": "e262510b-180a-11e8-b763-0a0386e3402c"
},
"kubehost": "ip-172-29-21-204.us-east-2.compute.internal"
}
ãããã®æ©èœããµããŒãããèšç»ã¯ãŸã ãããŸãããïŒ
--log-driver =ã³ã³ããã®ãã®ã³ã°ãã©ã€ã
--log-opt = []ãã°ãã©ã€ããŒãªãã·ã§ã³
ããã«ã¡ã¯@lifubang誰ã®èšç»ã«ã話ãããšã¯ã§ããŸãããããããã®æ©èœããµããŒãããŠããããŒã¢ã³dockerd
ã¯Kubernetesã®äžéšã§ã¯ãªããªããŸããïŒäžèšã®èª¬æãåç
§ããŠãã ããïŒã
å¿
èŠã«å¿ããŠãªãã·ã§ã³ã§ã€ã³ã¹ããŒã«ã§ãããããå€ãdockerd
ãã°ãã©ã€ããŒã䜿çšããããã«ã€ã³ã¹ããŒã«ã§ããå ŽåããããŸãã ãã®ãªãã·ã§ã³ã«ã€ããŠã¯ãããã§èª¬æããŸãã
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
ãã ãã fluentd
ãªã©ã®å°çšã®ãã°ãµãŒãã¹ã䜿çšããããšããå§ãããŸãã ã¯ã©ã¹ã¿ãŒçšã«ã°ããŒãã«ã«ãããã€ããããšãããµã€ãã«ãŒãšããŠãããããšã«ãããã€ããããšãã§ããŸãã Kubernetesãžã®ãã°ã€ã³ã«ã€ããŠããã§èª¬æããŸãã
https://kubernetes.io/docs/concepts/cluster-administration/logging/
@whereisaaronã§èª¬æãããŠããããã«fluentdã匷ããå§ãããŸã
ãã®æ©èœãªã¯ãšã¹ããåŠçãããŠããéããkubernetesã¢ãŒããã¯ãã£ããŒããããã§ã¯ãå®éã«ã¯kubernetesã®ãäžéšãã§ã¯ãªããã®ã®ããšã³ã·ã¹ãã ãã»ã¯ã·ã§ã³ã«ãã°ãèšé²ãããŠããããããã®ãããªæ©èœããã€ãã£ãã§ãµããŒããããããšã¯ãªããšæããŸãã
https://github.com/kubernetes/community/blob/master/contributors/devel/architectural-roadmap.md#summarytldr
fluentdã«ã¯ããã€ãã®ãã°ããããk8sãå®è¡ãããšäººçãæªããªãå¯èœæ§ããããããfluentdã®äœ¿çšã¯åŒ·ããå§ãããŸãã
in_tailã¯ãdockerãã³ã³ãããŒhttps://github.com/fluent/fluentd/issues/1680ãåé€ã§ããªãããã«ã
in_tailã¯ãèµ·åãã§ãŒãºäžã«è¿œè·¡ãããŠããªããã¡ã€ã«ã®äœçœ®ãåé€ããŸãã ããã¯ãpos_fileã®ã³ã³ãã³ããåèµ·åãããŸã§å¢å€§ããåçãã¹èšå®ã§å€æ°ã®ãã¡ã€ã«ã远跡ãããšã倧éã®CPUã¹ãã£ã³ãæ¶è²»ããå¯èœæ§ãããããšãæå³ããŸãã
https://github.com/fluent/fluentd/issues/1126ã
90æ¥éæäœããªããšãåé¡ã¯å€ããªããŸãã
/remove-lifecycle stale
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
å€ãåé¡ã¯ãããã«30æ¥ééã¢ã¯ãã£ãã«ãªããšè
æããæçµçã«ã¯éããŸãã
ãã®åé¡ãä»ãã解決ã§ããå Žåã¯ã /close
ã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/ lifecycle stale
@roffeããå©çšããã ãããããšãããããŸãã fluent / fluentdïŒ1680ã¯k8s 1.5ã«é¢ããåé¡ã§ããããã®ãããåœæã¯ãin_tailãã䜿çšããŠããŸããã§ããã k8sãcontainerd
ãã®ã³ã°ã«ç§»è¡ããã®ã§ãããã¯ãŸã åé¡ã§ã¯ãªãããã§ããïŒ fluent / fluentdïŒ1126ã«ããæ€åºå¯èœãªåœ±é¿ã¯èŠãããŸããã§ããã
fluentd
ã«å¯ŸããŠãå§ãããŸãã 代ããã«äœããå§ãããŸããïŒ k8sã¡ã¿ããŒã¿ã䜿çšãããã°éèšã«fluentd
代ããã«å人çã«äœã䜿çšããŸããïŒ
å€ããªã£ãåé¡ã¯ã30æ¥éæäœããªããšè
æããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
è
ã£ãåé¡ã¯ãããã«30æ¥éæäœããªããšçµäºããŸãã
ãã®åé¡ãä»ãã解決ã§ããå Žåã¯ã /close
ã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/ã©ã€ããµã€ã¯ã«è
æ
è
ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
@ fejta-botïŒãã®åé¡ã解決ããŸãã
察å¿ããŠããã®ïŒ
è ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸããSIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
ããã¯éããããã¹ãã§ã¯ãªãã£ãã§ãããïŒ
ãããããšã«log-optsãèšå®ããããšããŠããã®ã§ïŒããŒã¢ã³ã«èšå®ãããlogrotateã䜿çšãããããã«ïŒãæ©èœèŠæ±ã¯ãŸã ç§ã«ã¯æå³ããããŸã...
k8sã®å éšããdockeråºæã®æ§æãªãã·ã§ã³ããµããŒãããããšã¯è¯ãèãã§ã¯ãªããšç§ã¯ããªã確信ããŠããŸãã åè¿°ã®ããã«ãfluentdããŒã¢ã³ã»ãããŸãã¯fluenbitãµã€ãã«ãŒãçŸåšã®ãªãã·ã§ã³ã§ãã ããã¯ã¯ããã«å®å šãªã®ã§ãç§ã¯ãµã€ãã«ãŒã奜ã¿ãŸãã
@whereisaaron K8s @ containerdã®ãã°ãœãªã¥ãŒã·ã§ã³ãèŠã€ããŸãã
--log-driverã-log-optã¯ãŸã ãµããŒããããŠããŸãããïŒ
åäžã®ãããããSplunkã«ãã°ã転éããæ¹æ³ãèŠã€ããããšããŠããŸãã äœãæ¡ã¯ïŒ
åäžãããã®å Žåã¯@ sariel1212ãããã«
ã¯ã©ã¹ã¿ãŒå
šäœ@ sariel1212ãSplunkã«åéããå¿
èŠãããå Žåã¯ãSplunk HEC fluentd
ãã©ã°ã€ã³ã䜿çšããŠfluentd
ããããã€ããããã®å
¬åŒã®Splunk helm
ãã£ãŒãããããŸããããŒããã°ãã³ã³ãããã°ãã³ã³ãããŒã«ãã¬ãŒã³ãã°ã«å ããŠãKubernetesãªããžã§ã¯ããšKubernetesã¯ã©ã¹ã¿ãŒã¡ããªãã¯ã 1ããã@coffeepacã®ããã®å
±æemptydirãšãµã€ãã«ãŒã®ææ¡ã¯è¯ãã¢ãããŒãã§ãã
ã¯ã©ã¹ã¿ãŒã®ææè ãDockerãã°ãã©ã€ããŒã䜿çšããæ¹æ³ããŸã ãªãã®ã¯ããªãã²ã©ãããšã§ãã
Docker-ComposeïŒK8sã¯ã©ã¹ã¿ãŒãã·ãã¥ã¬ãŒãïŒã䜿çšããŠéåžžã«è¿ éã«ã»ããã¢ãããè¡ãããã¹ãŠã®stdout / errããã°éçŽãµãŒãã¹ã«ãã€ãããããšãã§ããŸããã
Kubenetesã§ãããå®è¡ããããšããŠããŸããïŒ ãã®ã¹ã¬ããããããã¹ãŠã®ãã€ã¯ããµãŒãã¹ã®ã³ãŒããæ¡åŒµããå¿ èŠãããããã§ãã è¯ããªãã
ããã«ã¡ã¯@ashleydavis ã dockerd
ã¯Kubernetesã§éæšå¥šã«ãªã£ããããKubernetesã®äžéšã§ã¯ãªããªã£ããã®ã®ãµããŒããå°å
¥ããŠãæå³ããããŸããã Kubernetesã«å ããŠã€ã³ã¹ããŒã«ããããšãã§ããŸããã èæ¯ã¯æ¬¡ã®ãšããã§ãã
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
å¿
èŠãªå Žåãé€ããŠãã³ã³ãããæ¡åŒµããå¿
èŠã¯ãããŸãããKubernetesã¯ããã¹ãŠã®ã³ã³ããã®stdout / stderrãã°ããã€ãã£ãã«èªåçã«ã¹ããªãŒãã³ã°ããŸãã ãããã®ãã°ã¹ããªãŒã ãåéããŠéžæããéçŽãµãŒãã¹ã«éä¿¡ããã«ã¯ãåããŒãã«1ã€ã®ã³ã³ãããŒïŒ DaemonSet
ïŒããããã€ããå¿
èŠããããŸãã ããã¯ãšãŠãç°¡åã ã
https://docs.fluentd.org/container-deployment/kubernetes
æ¢è£œã®fluentd
+ããã¯ãšã³ãã³ã³ããã€ã¡ãŒãžãšãããã¯ã¢ã°ãªã²ãŒã·ã§ã³ããã¯ãšã³ãã®ãµã³ãã«æ§æã¯æ¬¡ã®ãšããã§ãã
https://github.com/fluent/fluentd-kubernetes-daemonset
DataDogã䜿çšããŠããå Žåã¯ã代ããã«ããŸãã¯fluentd
ãã€ã³ã¹ããŒã«ããããã®ç¬èªã®ãšãŒãžã§ã³ãããããŸãã
https://docs.datadoghq.com/integrations/kubernetes/
äžè¬ã«ã docker
ã¯kitchen sink
ã«ãªãåŸåãããããã®ã³ã°ãšãã°ãã©ã°ã€ã³ãã¹ãŠã©ãŒã ãã©ã³ã¿ã€ã ããŒã«ããã«ãããŒã«ããããã¯ãŒãã³ã°ããã¡ã€ã«ã·ã¹ãã ã®ããŠã³ããªã©ããã¹ãŠ1ã€ã®ããŒã¢ã³ããã»ã¹ã«å«ãŸããŠããŸãã Kubernetesã¯éåžžãç·©ãçµåãããã³ã³ãã/ããã»ã¹ããããã1ã€ã®ã¿ã¹ã¯ãå®è¡ããAPIãä»ããŠéä¿¡ããããšã奜ã¿ãŸãã ã§ããããæ
£ããã®ã¯å°ãéãã¹ã¿ã€ã«ã§ãã
詳现ãªåçããããšãããããŸãã ç§ã¯ééããªãããã調ã¹ãã€ããã§ãã
dockerdãéæšå¥šã«ãªã£ããšããããšã¯ãå°æ¥ãDockerã€ã¡ãŒãžãKubernetesã«ãããã€ã§ããªããšããããšã§ããïŒ
@ashleydavisã¯ç¢ºãã«ãDockerãã€ã¡ãŒãžã䜿ãç¶ããããšãã§ãïŒ dockerd
ååšããªããŠãïŒãç¬èªã®ç®çã§ïŒdocker-in-dockerã®ããã«ïŒKubernetesããŒãã«dockerd
ããããã€ãç¶ããããšãã§ããŸããã«ãïŒå¿
èŠã«å¿ããŠã dockerã®ã³ã¢éšåã¯ããOCIã³ã³ãããŒãããã³containerd
ã©ã³ã¿ã€ã ãšããŠæœåºããã³æšæºåãããŠããŸãã
https://www.opencontainers.org/
https://containerd.io/
DockerãšKubernetesã¯ã©ã¡ããããããã®å ±ææšæºã«åºã¥ããŠããŸãã
https://blog.docker.com/2017/08/what-is-containerd-runtime/
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
ãããã§ãç§ã¯ããããåŠãã§ããŸãã
LoggyãšåŒã°ãããã€ã¯ããµãŒãã¹ãäœæããŸããã Dockerãã°ãã©ã€ããŒã«ãã£ãŠãã°ãéä¿¡ãããïŒWebhookãä»ããŠïŒSlackã«è»¢éãããããšãæå³ãããŠããŸããã
ããã§ã³ãŒããèŠãããšãã§ããŸãïŒ https ïŒ
éåžžã«ç°¡åã§ãããã°ãåä¿¡ããHTTPPOSTãä»ããŠSlackã«è»¢éããŸãã
ããããããã°ãåéããŠéçŽã§ããããã«ããããé©å¿ãããæãç°¡åãªæ¹æ³ã¯äœã§ããïŒ
@ashleydavisã¯ããã®ãã€ã¯ããµãŒãã¹ãå«ãã³ã³ããã€ã¡ãŒãžãæ§ç¯ãã次ã®ãããããå®è¡ã§ããŸãã
ã¯ã©ã¹ã¿ãŒäžã®ãã¹ãŠã®ã³ã³ãããŒãéä¿¡ã§ãããµãŒãã¹ã䜿çšãããããã€ã¡ã³ããšããŠã¯ã©ã¹ã¿ãŒã«ãµãŒãã¹ã®ã¯ã©ã¹ã¿ãŒDNSåã䜿çšïŒã
ãããã€ã¡ã³ãã«è¿œå ã®ããµã€ãã«ãŒãã³ã³ãããŒãšããŠãããã€ããŸãã åããããå
ã®ã³ã³ããã¯ãåãlocalhost
ãžã®ãã©ã€ããŒãã¢ã¯ã»ã¹ãå
±æãããããã¢ããªã±ãŒã·ã§ã³ã³ã³ããã¯localhost:12201
ãã€ã¯ããµãŒãã¹ã³ã³ããã®ãµã€ãã«ãŒã«éä¿¡ã§ããŸãã ãŸãã¯ãåããããå
ã®ã³ã³ããã§ãå
±æãã°ãã¡ã€ã«ãŸãã¯ååä»ããã€ãã®
ããã¯ããã§ã¯è©±é¡ããå€ããŠããã誰ãããããæãã§ããããã§ã¯ãªãã®ã§ãGithubã§ããã€ãã®Slackãã£ãã«ã«ã¢ã¯ã»ã¹ããŠãã ããã
https://github.com/ramitsurana/awesome-kubernetes
https://slack.k8s.io/
https://kubernetes.io/
ãããããé¡ãããŸãã æ¢åã®ãµãŒãã¹ãå€æŽããå¿ èŠããªãããšãæãã§ããŸããã 圌ãã®stdout / errorããã£ããã£ãããã ãã§ãã ãšã«ãããããããïŒ
Dockerãã°ãã©ã€ããŒã®çŽæã¯ã·ã³ãã«ãã§ããã ãããè¡ãç°¡åãªæ¹æ³ã¯ãããŸããïŒ
確ãã«@ashleydavis ãã¯ã©ã¹ã¿ãŒããããã€ãã fluentd
ãããã€ãããããŠåŒ·æããŸããããã§å®äºã§ãðºã ãããã€ãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãstdout / stderrããæ°ã«å
¥ãã®ã¢ã°ãªã²ãŒã¿ãŒã«åºè·ãããŸãã ð
K8ã«æéããããŠãã°ãèšé²ããåŸãæ瀺çãªGELFæ§æãªãã§åªããhttps://www.elastic.co/guide/en/beats/filebeat/current/running-on-kubernetes.htmlãã芧ãã ãã
ç§ã®ã»ããã¢ããã¯Filebeatã§ããã°ãLogstashã«ãã€ãããŸããLogstashã¯ããã°ããã£ã«ã¿ãªã³ã°ããŠæœåºããElasticsearchã«ãã€ãããŸãã Kibanaã䜿çšãããšããã°ã衚瀺ããŠããŒã¿ãéçŽã§ããŸãã
ãŸãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãã€ãã£ãsyslogãã¡ã€ã«ãžã®ãã°èšé²ããµããŒãããããšæããŸããããšãã°ãUbuntuã§ã¯ããã°ã/var/log/syslog
ã«æžã蟌ãããšãã§ããŸããããã¯ãããã«äœ¿çšã§ããlogrotateã«ãã£ãŠç®¡çãããŸãã
矀ã/äœæ²ã§ãç§ã¯ãããè¡ãããšãã§ããŸãïŒ
version: '3.3'
services:
mysql:
image: mysql:5.7
logging:
driver: syslog
options:
tag: mysql
emtpyDirããªã¥ãŒã ã®äœ¿çšã¯åé¡ãããŸãããããã°ãã¡ã€ã«ãããŒããŒã·ã§ã³/åãæšãŠãããã»ã¹ãè¿œå ããªãéããé·æéå®è¡ããããããã¯ããªã¥ãŒã ããã£ã±ãã«ãããªã¹ã¯ããããŸãã OSããã§ã«/ var / log / syslogã®ããŒããŒã·ã§ã³ãåŠçããŠããå Žåããã®è¿œå ã®è€éãã«åæããŸããã
äžéšã®å±éã§ãµã€ãã«ãŒã䜿çšããããšã¯çŽ æŽãããã¢ã€ãã¢ã§ããããšã«åæããŸãïŒäžéšã®å±éã§ã¯ãã§ã«ãããè¡ã£ãŠããŸãïŒããç°å¢ã¯äººã«ãã£ãŠç°ãªããŸãã
emtpyDirããªã¥ãŒã ã®äœ¿çšã¯åé¡ãããŸãã
ãããã«ã¯æ³šæããŠãã ãã-ãããã¯Kubernetesã«ãã£ãŠç®¡çãããŠããããã®åç¶æéã¯ããªãã«ãã£ãŠå¶åŸ¡ãããŠããŸããã ããããåé€ãããŠå¥ã®ããŒãã«åã¹ã±ãžã¥ãŒã«ããããšããã°ã¯å€±ãããŸãã ããããæŽæ°ããŠãã®uidãå€æŽãããå Žåããããã¯å€ãããªã¥ãŒã ã䜿çšãããæ°ããããªã¥ãŒã ãäœæããŠå€ãããªã¥ãŒã ãåé€ããŸãã
@jsirianniãã¹ãŠã®ã·ã¹ãã ãsyslogãå®è¡ããŠããããã§ã¯ãããŸãããã€ãŸããç¹å®ã®ãããã®ããŒãºã確å®ã«æºããã«ã¯ã䜿çšå¯èœãªæ©èœã«ã€ããŠããŒãããšã«æ³šéãä»ããå¿ èŠããããŸãã docker composeã¯ããŒã«ã«ã§ã®ã¿å®è¡ãããããããã®ä»®å®ãè¡ãããšãã§ããŸãã
@coffeepacããŒãã«syslogããªãå¯èœæ§ããããããšãã£ãŠããªãã¬ãŒã¿ãŒã«ãªãã·ã§ã³ããªãããšãæå³ããããã§ã¯ãããŸããã Syslogã䜿çšããå Žåã¯ãã¯ãŒã«ãŒããŒãã«Syslogãããããšã確èªããŸãã
ãã®æ©èœã®ãŠãŒã¹ã±ãŒã¹ã¯ãŸã ååã«ããããããã®åé¡ãåéããå¿
èŠããããšæããŸãã
/ reopen
@ saiyam1814 ïŒãã®åé¡ãåéããŸããã
察å¿ããŠããã®ïŒ
ãã®æ©èœã®ãŠãŒã¹ã±ãŒã¹ã¯ãŸã ååã«ããããããã®åé¡ãåéããå¿ èŠããããšæããŸãã
/ reopen
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
å人çã«ã¯ãKubernetesã¯Dockerãã°ãã©ã€ããŒãŸãã¯ãã°ãæ§æããããã®ä»ã®ç°¡åãªçµã¿èŸŒã¿ã®æ¹æ³ããµããŒãããå¿ èŠããããšæããŸãã
Kubernetesã§ã¯ãã®ã³ã°ã®èšå®ã¯ç°¡åã ãšäœåºŠãèšãããŠããŸããããç¬èªã®ãã®ã³ã°éçŽã·ã¹ãã ãèšå®ããéçšãçµãŠãæ¬åœã«ç°¡åã§ã¯ãªããšèšããŸãã
Kubernetesçšã«ç¬èªã®ãã°éçŽã·ã¹ãã ãæåã§ããŒã«ããæãç°¡åãªæ¹æ³ã«é¢ããããã°æçš¿ãäœæããŸããïŒ http ïŒ//www.the-data-wrangler.com/kubernetes-log-aggregation/
ããŸãããã°ãç§ã®ããã°æçš¿ã¯ãä»ã®äººãèªåã®æŠç¥ãç解ããã®ã«åœ¹ç«ã€ã§ãããã
ããã»ã©é£ããããšã§ã¯ãªãã¯ãã§ããããããç§ãã¡ã®çŸåšã®ç¶æ³ã§ãã
確ãã«ããã°ãã¡ã€ã«ã䜿çšãã代ããã«ãstdoutãšstderrããçŽæ¥Dockerãã°ã䜿çšããæ¹æ³ãå¿ èŠã§ãã ãã¹ãã·ã¹ãã å ã®ä»ã®ãã°ã«ã¢ã¯ã»ã¹ã§ãããããDockerãã¹ã䜿çšããŠãã¡ã€ã«ããã°ã«èšé²ããã«ã¯ã»ãã¥ãªãã£äžã®åé¡ãããã€ããããŸãã
Dockerãã°ãã©ã€ããŒãå®è£ ã§ããŸããïŒ ð
ãããå
ã³ã³ããã¬ãã«ïŒãããã顧客管çäžã«ããïŒã§Dockerãã°ãã©ã€ããŒãæ§æãããšã gelf
ãã©ã€ããŒã䜿çšããŠãã°ãgraylogãµãŒãã¹/ãããïŒããã顧客管çäžã«ããïŒã«çŽæ¥ãªãã€ã¬ã¯ãã§ããããã«ãªããŸãã ïŒå¥ã®å³æãµãŒãã¹ïŒ gelf
ãã°ãã©ã€ããŒã䜿çšããããã管çãªãŒããŒãããã倧ãããæœè±¡åã¬ãã«ã®äžæãæªãïŒã䜿çšããŠãã¹ãäžã®ãã¡ã€ã«ããããããåéãã代ããã«ããŸãã¯é¡§å®¢ã®ããããã³ã³ãããŒãã°ãã£ã¬ã¯ããªã«ã¢ã¯ã»ã¹ããããšã«ãã£ãŠãã¹ãäžã
ãããã£ãŠããã®æ©èœãkubernetesã«å®è£ ãããããšãæãã§ããŸãã
https://github.com/cri-o/cri-o/pull/1605ã®ãããªããšã確èªãããšäŸ¿å©ã§ããããã§ã¯ããã°ã¹ããªãŒã ã®è§£éããã°ãã©ã€ããŒããåæããŠãã³ã³ãããŒã®åäœãæ¹æ³ã«åœ±é¿ãäžããªãããã«ããŸãããã©ã€ããŒã¯åäœããŸãã
è
ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
@ fejta-botïŒãã®åé¡ã解決ããŸãã
察å¿ããŠããã®ïŒ
è ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸããSIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
æ©èœã¯ãŸã å®è£
ããå¿
èŠããããŸã
/ reopen
@ M0rdecay ïŒèª²é¡/ PRãäœæããããå ±åç·šéè ã§ãªãéããåéããããšã¯ã§ããŸããã
察å¿ããŠããã®ïŒ
æ©èœã¯ãŸã å®è£ ããå¿ èŠããããŸã
/ reopen
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
@ M0rdecay ïŒèª²é¡/ PRãäœæããããå ±åç·šéè ã§ãªãéããåéããããšã¯ã§ããŸããã
ããããŸãã
aws ecsã«ããã®æ©èœããããDockerãã®ã³ã°ãã©ã€ããŒãèšå®ã§ããŸãã
ç§ãã¡ã®ç°å¢ã§ã¯ãã³ã³ãããµãŒãã¹ããšã«äžæã®ããŒã¯ã³ã䜿çšããŠåå¥ã®ã€ã³ããã¯ã¹ãäœæããŸããã
"logConfiguration"ïŒ{
"logDriver"ïŒ "splunk"ã
"ãªãã·ã§ã³"ïŒ{
"splunk-format"ïŒ "raw"ã
"splunk-insecureskipverify"ïŒ "true"ã
"splunk-token"ïŒ "xxxxx-xxxxxxx-xxxxx-xxxxxxx-xxxxxx"ã
"splunk-url"ïŒ " https://xxxxx.splunk-heavyforwarderxxx.com "ã
"ã¿ã°"ïŒ "{{ãName}} / {{ãID}}"ã
"splunk-verify-connection"ïŒ "false"ã
ãã¢ãŒããïŒããã³ããããã³ã°ã
}
}
ããããk8sã§ã¯ãã®ãããªãã®ã¯èŠã€ãããŸããã§ããã ãããå®çŸ©èªäœã«å«ãŸããŠããå¿ èŠããããŸãã
ãªãã·ã§ã³ã¯ãŸã å®è£
ããå¿
èŠããããŸã
/ reopen
@ejemba ïŒãã®åé¡ãåéããŸããã
察å¿ããŠããã®ïŒ
ãªãã·ã§ã³ã¯ãŸã å®è£ ããå¿ èŠããããŸã
/ reopen
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
/ sigããŒã
/ remove-sigã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³
/ remove-sigã¹ã±ãŒã©ããªãã£
@logicalhan ïŒãããã®ã©ãã«ã¯åé¡ã«èšå®ãããŠããŸããïŒ sig/
察å¿ããŠããã®ïŒ
/ remove-sigã¹ã±ãŒã©ããªãã£
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
äœãé²å±ã¯ãããŸããïŒ
Dockerã®gelfãã°ãã©ã€ããŒãæå®ããŠãå€éšãã°ã¹ã¿ãã·ã¥ã«ãã°ã€ã³ããããã«ãããã®ã³ã³ãããŒãã»ããã¢ããããæ©èœãç¹ã«æ¢ããŠããŸããã /etc/docker/daemon.jsonå
ã®ãã¹ãŠã®ã³ã³ãããŒã«å¯ŸããŠããã©ã«ãã§èšå®ããããšã¯ããªãŒããŒãããã®ããã§ãã
è
ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
@ fejta-botïŒãã®åé¡ã解決ããŸãã
察å¿ããŠããã®ïŒ
è ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸããSIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
/ reopen
@andreswebs ïŒèª²é¡/ PRãäœæããããå ±åç·šéè ã§ãªãéããåéããããšã¯ã§ããŸããã
察å¿ããŠããã®ïŒ
/ reopen
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
/ reopen
@ejemba ïŒãã®åé¡ãåéããŸããã
察å¿ããŠããã®ïŒ
/ reopen
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
@ejemba ïŒãã®åé¡ã¯çŸåšããªã¢ãŒãžãåŸ ã£ãŠããŸãã
SIGãŸãã¯ãµããããžã§ã¯ãããããé¢é£ããåé¡ã§ãããšå€æããå Žåã圌ãã¯triage/accepted
ã©ãã«ãé©çšããããšã«ãã£ãŠãããåãå
¥ãããããªãã¬ã€ãã³ã¹ãæäŸããŸãã
triage/accepted
ã©ãã«ã¯ãã³ã¡ã³ãã«/triage accepted
ãæžã蟌ãããšã§ãçµç¹ã¡ã³ããŒãè¿œå ã§ããŸãã
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
ãã®æ©èœãå®è£ ããŠã»ããã§ãã çŸåšãã¯ãŒã¯ããŒããRancher1.xã¯ã©ã¹ã¿ãŒããk8sãå®è¡ããRancher2.xã¯ã©ã¹ã¿ãŒã«ç§»è¡ããŠããŸãã docker-composeæ§æã§log-driverãã©ã¡ãŒã¿ãŒãšlog-optãã©ã¡ãŒã¿ãŒãèšå®ãããããã€ã¡ã³ãããããŸãã
ã²ã«ããã©ã€ããŒãã°ããŒãã«ã«äœ¿çšãããããã«ã©ãã«ãä»ãããã¹ãã«ã©ãã«ãä»ããããã«ãç¹å®ã®ãã¹ããæ§æããå¿ èŠã¯ãããŸããã
CRI-Oãå€æŽããŠãäž¡æ¹ã®ã³ã³ãããã°ã¹ããªãŒã ïŒstdout / stderrïŒãraw圢åŒã§åéãããããã«æå®ããå¿ èŠãããããã§ããåŸã§rawãèªã¿åããšãã«ããã°ãã€ãã¹ããªãŒã ã®ããŸããŸãªè§£éãé©çšã§ããŸãã
https://github.com/cri-o/cri-o/pull/1605ãåç §ããŠ
è
ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸãã
SIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
@ fejta-botïŒãã®åé¡ã解決ããŸãã
察å¿ããŠããã®ïŒ
è ã£ãåé¡ã¯ã30æ¥éæäœããªããšçµäºããŸãã
/reopen
åé¡ãåéããŸãã
/remove-lifecycle rotten
ããŠãåé¡ãæ°èŠãšããŠããŒã¯ããŸããSIG-ãã¹ããkubernetes /ãã¹ãã»ã€ã³ãã©ããã³/ãŸãã¯ãžã®ãã£ãŒãããã¯ãéä¿¡fejta ã
/éžã¶
PRã³ã¡ã³ãã䜿çšããŠç§ãšããåãããããã®æé ã¯ããã¡ãããå
¥æã§ãkubernetes / test-infraãªããžããªã«å¯ŸããŠåé¡ã
æãåèã«ãªãã³ã¡ã³ã
ããã
ããã¯ãkubernetesã§èæ ®ãã¹ãéèŠãªæ©èœã ãšæããŸãã
Dockerã®ãã°ãã©ã€ããŒã®äœ¿çšãæå¹ã«ãããšãããã€ãã®éèŠãªåé¡ã解決ã§ããŸãã
ãã£ã¹ã¯ãžã®ãã°èšé²ã¯ã¢ã³ããã¿ãŒã³ã ãšæããŸãã ãã°ã¯æ¬è³ªçã«ãç¶æ ãã§ããããã£ã¹ã¯ã«ä¿åããªãããšãæãŸããã§ãã ãã°ãã³ã³ãããããªããžããªã«çŽæ¥è»¢éãããšãå€ãã®åé¡ã解決ããŸãã
ãã°ãã©ã€ããŒãèšå®ãããšãkubectllogsã³ãã³ãã¯äœã衚瀺ã§ããªããªããŸãã
ãã®æ©èœã¯ã䟿å©ãã§ããããã°ãå¥ã®ãœãŒã¹ããå ¥æã§ããå Žåã¯ããã®æ©èœã¯å¿ èŠãããŸããã
Dockerã«ã¯ãGoogle CloudïŒgcplogsïŒãšAmazonïŒawslogsïŒçšã®ãã°ãã©ã€ããŒããã§ã«ãããŸãã DockerããŒã¢ã³èªäœã«èšå®ããããšã¯å¯èœã§ãããå€ãã®æ¬ ç¹ããããŸãã 2ã€ã®Dockerãªãã·ã§ã³ãèšå®ã§ããããšã«ããïŒ
--log-driver =ã³ã³ããã®ãã®ã³ã°ãã©ã€ã
--log-opt = []ãã°ãã©ã€ããŒãªãã·ã§ã³
ã©ãã«ïŒgcplogsã®å ŽåïŒãŸãã¯awslogs-groupïŒawslogsã®å ŽåïŒãäžç·ã«éä¿¡ããããšãå¯èœã§ãã
ãããã«åºæã§ãã ããããã°ãããäžæ¹ã®ç«¯ã§ãã°ãç°¡åã«èŠã€ããããšãã§ããŸãã
人ã ãkubernetesã§ãã°ãã©ã®ããã«åŠçããŠãããã«ã€ããŠèªãã§ããŸãã å€ãã®äººãããã°ãäžå€®ã·ã¹ãã ã«è»¢éãã粟巧ãªã¹ã¯ã¬ãŒããŒãèšå®ããŠããããã§ãã ãã°ãã©ã€ããŒãèšå®ã§ãããšããããäžèŠã«ãªããŸã-ããèå³æ·±ãããšã«åãçµãããã®æéã解æŸããŸã:)