Consultant <-- Web Backend Engineer <-- SRE <-- Infra Engineer
ð Iâm currently working on openshift
introduce myself with buzzword
Home Page: https://ptux.github.io/mashtun/index.html
License: MIT License
https://www.cncf.io/certification/cka/
https://www.cncf.io/certification/ckad/
https://training.linuxfoundation.org/training/kubernetes-for-developers/
CPUã®systemã¢ãŒãã®äœ¿çšçãstep by stepã§ãäžèšã®ãã¢ã³ç°å¢ãçšããŠæ€èšŒããŸããã
sum(avg without(cpu) (rate(node_cpu_seconds_total{mode="system"}[30s])))by (instance)
PromSQL:
node_cpu_seconds_total{mode="system"}[30s]
node_cpu_seconds_total{mode="system"}
ã·ã¹ãã èµ·åãããŠããã2022-04-06 22:22:03
ãŸã§ã«ãsystem
ã¢ãŒãã§CPUã皌åããŠããç§æ°
ã§ããã
node_cpu_seconds_total{mode="system"}[30s]
2022-04-06 22:22:03
ãã30ç§åãŸã§(22:21:33 - 22:22:03)ã®ããŒã¿ãã€ã³ããååŸããã
cpu="0"
ã®å ŽåïŒ
1649251300.323 = 22:21:40.323
1649251315.323 = 22:21:55.323
node_cpu_seconds_total
ã¯ãNode Exporter
ã«ããã¹ã¯ã¬ã€ããããã¡ããªã¯ã¹ã§ãã¹ã¯ã¬ã€ãéé15ç§ã§ãããã
ãã£ãŠãäžèšã¯ãšãªã§ïŒã€ã®ããŒã¿ãã€ã³ããååŸãããã
PromSQL:
rate(node_cpu_seconds_total{mode="system"}[30s])
cpu="0"
ã®rateã®èšç®æ¹æ³ã¯ã
(867403.62s - 867403.17s)/(1649251315.323s - 1649251300.323s)
= 0.45s / 15s
= 0.03
rateã¯ãã«ãŠã³ãã®å€åéããæå®ãããæéã§å²ãã
rateã®ã«ãŠã³ãã®å€åéã¯ãäžçªæè¿ã®ããŒã¿ãããäžçªå€ãããŒã¿ãåŒãã
irateã®ã«ãŠã³ãã®å€åéã¯ãäžçªæè¿ã®ããŒã¿ãããäºçªç®æè¿ã®ããŒã¿ãåŒãã
ãã®ã±ãŒã¹ã«ãããŠãããŒã¿ãã€ã³ãïŒã€ãããªãã®ã§ãrateãširateã¯åãçµæã«ãªãã
avg without(cpu) (rate(node_cpu_seconds_total{mode="system"}[1m]))
cpu="0"
ãšcpu="1"
ã®å¹³åå€ãæ±ããã
(0.02999999999689559 + 0.028666666670081515)/2
= 0.02933333
sum(avg without(cpu) (rate(node_cpu_seconds_total{mode="system"}[1m])))by (instance)
ã¿ãŒã²ããã¯äžã€ãããªãã®ã§ãå¹æã確èªã§ããªãã
å°ãããã®ã¯ã倧ããç©ã«ãªãå©ç¹ãããã€ããããå°ãããã®å士ãªãç°¡åã«ç¬ç¹ã®äŸ¿å©ãªæ¹æ³ã§çµã¿åãããããšãã§ãã
äžè¬ã«ãœãããŠã§ã¢ã®éçºè
ã¯ã巚倧ãªããã°ã©ã ãæžããŠããŸãã
ããã¯ãããããäžæž¬ã®äºæ
ã«å¯Ÿå¿ã§ããããã«ããšãã誀ã£ãèãã«åºã¥ããã®ã ã
巚倧ã§è€éãªããã°ã©ã ã®éçºè
ã¯ããå°æ¥ãäºæž¬å¯èœã§ããããŠçŸåšãšãã倧ããã¯å€ãããªãã
ãšããåæãªæã蟌ã¿ãåæãšããŠããã
äžæ¹ãå°ããªããã°ã©ã ã®éçºè
ã¯ãæªæ¥ã®äºæž¬ãªã©æåãããããããŠããã
圌ãã®äºæž¬ããããšã¯ãææ¥äœããããã®ã¯ä»æ¥äœã£ãŠãããã®ãšã¯éããšããããšã§ãããªãã
äœã£ãæã«ã¯äºæž¬ã§ããªãã£ãããšã«å¯ŸããŠããå°ããªããã°ã©ã ãªãçŽã¡ã«ããã«å¯ŸåŠã§ããã
æªæ¥ã«ç®ãåããããæªæ¥ã¯ãæã£ãŠããããæ©ãæ¥ãã
äžã€ã®ããšã«éäžããããšã§ããã°ã©ã ã«äžèŠãªéšåããªãããã
äžèŠãªéšåããããšãå®è¡é床ãé
ããªããäžå¿
èŠã«è€éã«ãªããèéãå¹ããªãã
ããã°ã©ãã¯ã·ã³ãã«ãªApplicationãæžããããããªãã
ãããã圌ã®Creativeããæ°æ©èœãæ°ãããªãã·ã§ã³ãä»ããããŠããŸãã®ã ã
ãã®ã³ãŒããæ¬åœã«å¿
èŠãªã®ãã©ãããåžžã«æèããŠããã¹ãã ã
ã»ããã°ã©ã ã¯ãŠãŒã¶ãŒãšã®å¯Ÿè©±ãå¿
èŠãšããã®ãïŒãã©ã¡ãŒã¿ã¯ãã¡ã€ã«èªã¿èŸŒã¿ãåŒæ°ã§åºæ¥ãªãã®ãïŒ
ã»ããã°ã©ã ã®å
¥åããŒã¿ãç¹æ®ãã©ãŒãããã§ããå¿
èŠãããã®ãïŒä»ã®ããã°ã©ã ã«åããªãã®ãïŒ
ã»ããã°ã©ã ã®åºåããŒã¿ãç¹æ®ãã©ãŒãããã§ããå¿
èŠãããã®ãïŒä»ã®ããã°ã©ã ã«åããªãã®ãïŒ
ã»æ°ããããã°ã©ã ãæžãå¿
èŠãããã®ãïŒä»ã®ããã°ã©ã ãçµã¿åããããªãã®ãïŒ
ãããããããžã§ã¯ãã«ãããŠããããã¿ã€ãã¯éèŠã§ããã
äžè¬çã«ãããã¿ã€ãã¯èšèšå
šäœã®ãã¡ã®äžéšãšããŠæ±ãããŠãããã
UNIXã«ãããŠã®ãããã¿ã€ãã¯ãå¹ççãªèšèšã«ã¯æ¬ ãããªãéèŠãªäžéšã§ããã
ãœãããŠã§ã¢ã«ã¯åžžã«æ¹åã®äœå°ã¯ããã®ã¯ãã¡ããã ããæéçãªå¶çŽãªã©ã§ãã®ãœãŒã¹ã³ãŒãã¯å¿
ãããæé«ã®ç¶æ
ãä¿ãããŠããããã§ã¯ãªãã
ã»ãšãã©ã®ãœãããŠã§ã¢ã¯åŠ¥åã®ç£ç©ã ãå®æããããšã¯ãªãããã ãªãªãŒã¹ãããã ãã ã
ãœãããŠã§ã¢ãèšç®æ©ãåžžã«é²åããŠããããšãæèããªããã°ãªããªãã
UNIXã®èãæ¹ã¯ãœãããŠã§ã¢ã®é²åã«ã匷ãã
ãœãããŠã§ã¢ãå°ãããŠã·ã³ãã«ãªéšåã«åå²ããã°ã
å°æ¥ã®å€æŽã«å®¹æã«å¯Ÿå¿ã§ãããããœãããŠã§ã¢ã容æã«ç§»æ€å¯èœã«ããŠããã°ãæ¥å¹Žã«ã¯å©çšã§ããããã«ãªãã
ããã¯ããèšç®æ©ã§ãç°¡åã«åããããšãã§ããã
ãŠãŒã¶ãŒãèªåãã¡ã®æããã®æ£æ Œã«è¡šãäºãã§ãããœãããŠã§ã¢æè¡è
ãã¡ãããŠãŒã¶ãŒãçŸåšå¿
èŠãšããŠããæ©èœãš
å°æ¥å¿
èŠã«ãªãã§ãããæ©èœãšããã¹ãŠææ¡ããŠãããšããã°ããœãããŠã§ã¢ã¯ãããªãã ããã
ãã¹ãŠã®ããã°ã©ã ãæåããROMã«æžãããŠããã°ãããæ®å¿µãªããããã®ãããªå®ç§ãªäžçã¯ååšããªãã
ãªãªãŒã¹åŸã«é²è¡ç¶æ³ã®å ±åã絶ããåãã察å¿ããé²è·¯ã«ä¿®æ£ããŠããããšããããããã€ã®æ ãæãšãªãã
誰ããåžžã«åŠã³ç¶ããŠãããããšãæã
ããã¹ãŠãç¥ãå°œããããšåæã«æã蟌ãã§ããŠãã誰ããæã
ãžã®èŠæ±ä»æ§ã
å€ããŠããŸãã®ã ã
人éã«ã¯ãã®äžçš®é¡ã®ã·ã¹ãã ããäœããªãã
人éã®äœãSystemã¯äººéã«äŒŒããšããããšãªã®ãããããªãã
人éããè¥ãããã¯ããŸããæçãããããŠèããŠããããã«ã
ã·ã¹ãã èšèšã«ãè¥ãèšèšãæçããèšèšãæ¯ããèšèšãããã
第äžã®ã·ã¹ãã ã¯ãäžäººãããã¯å°äººæ°ããæéã«è¿œãããäžã§åµé æ§ãçºæ®ããå¢ãè¯ãäœã£ãã·ã¹ãã ã ã
æéè¿œãããããã«ã足ããªãæ©èœããããç¡é§ã¯ãªãå¹ççã«åãã
ããŸããŸãªæ¹å€ã济ã³ããããããã ããã
ããããåœã®æ¬äººã¯ãããããããã¡ãã£ãšæ±ãã®ã¯åãã£ãŠããã§ãã¡ãããšåœ¹ã«ç«ã£ãŠãã ã!ããšãããããã ããã
ãæ£ããããã£ãŠããæéãªã©ç¡ãã
ãæ£ãããããæéããªã人éã¯ãéèŠãªç®æã ãã«éäžããŠæèãç¡èŠããã
ãã®çµæãããã€ãã®çŽ°ããç¹ã¯æ¬¡ã®ããŒãžã§ã³ã«åãããšèšç»ãã
第äžã®ã·ã¹ãã ã®ã³ã³ã»ããã¯ã人éã®æ³ååãåºæ¿ããã
ãã®æ®µéã§å€§èŠæš¡ã«ãªãããšã¯ãªãã
ããŒã ã倧ãããªãããšã§ææçéã»åæ§ã®è¡çªããããã
ãã®ã¿ã€ãã³ã°ã§äººãæå
¥ããŠããã¡ãã¡ã«çžåŒµããåºæ¥ãã ãã§ããã第äžã·ã¹ãã ã®å®çŸããå±ã¶ãŸããã
人æã®ç¥è©±ã§ããã
ãããã第äžã®ã·ã¹ãã ãæåãã¯ããããšãå€ãã®äººãéãŸã£ãŠããã
ãããŠããå°é家ãã第äžã®ã·ã¹ãã ã«ããæçšæ§ã蚌æãããã¢ã€ãã£ã¢ãçšããŠç¬¬äºã®ã·ã¹ãã ãäœãã
第äºã®ã·ã¹ãã ã¯ç¬¬äžã®ã·ã¹ãã ã«ç®ãã€ããå€ãã®åå è
ãããªãå§å¡äŒãæ©èœã決å®ããã
ãã®çµæãšããŠãå€ãã®äººã®æèŠ(ç¬èªæè¡çå矀ãæã£ãæèŠãå«ã)ãåã蟌ã¿ããããããæ©èœã¯å€ãããç¡é§ã®ããé
ãã·ã¹ãã ãã§ããããã
å€ãã®äººã«æåŸ
ããã第äºã®ã·ã¹ãã ã¯æã«ã¯åæ¥çã«ãæåããããå®ã¯ããŸã圹ã«ç«ããªãã
第äºã®ã·ã¹ãã ã§ãç«å·ããã人ã
ãã第äžã®ã·ã¹ãã ãæ§ç¯ããã
第äžã®ã·ã¹ãã ã ããã第äžã®ã·ã¹ãã ãçºèŠããã¢ã€ãã£ã¢ãšç¬¬äºã®ã·ã¹ãã ã®äžã§èŠã€ãã£ãå¿
èŠãªæ©èœããã©ã³ã¹ããåãå
¥ããŠããã£ãšåœ¹ã«ç«ã€ã·ã¹ãã ãæ§ç¯ããããšãã§ããã
Systemã®ç®çã¯ãã£ããææ¡ããã䜿çšããã®ãžã¥æ¹¯ããã§ã«èšŒææžã¿ã§ããããããªã¹ã¯ã¯å°ãããææ決å®ã®æ®µéã§ãæ£æ Œãªäºç®ãçµã¿ãæ£æ Œãªã¹ã±ãžã¥ãŒã«ã建ãŠãããšãã§ããã
第äžã®ã·ã¹ãã ã®èšèšè
ã«ã¯ããããããæ£ãããããããšãåºæ¥ãæéãäžããããã
UNIXã®èãæ¹ã§ã¯ããªãã¹ãã¯ãã第äžã®ã·ã¹ãã ãæ§ç¯ããããã«ããã°ããè©ŠäœããããšãããããããŠããã
çŽæ¥ã第äžã®ã·ã¹ãã ãã€ããããšã¯ã§ããªãã®ã ã
1 çãæ©èœä»æ§æžãæžã(3ã4æçšåºŠ)
2 ãœãããŠã§ã¢ãæžã
3 ãã¹ãããŠæžãçŽããæºè¶³ã§ãããŸã§ããããç¹°ãè¿ãã
4 詳现ãªããã¥ã¡ã³ãã(å¿
èŠãªã)æžã
çŸåšã®ããŒããŠã§ã¢ã«å¶éãããªããœãããŠã§ã¢ãããæªæ¥ã§ãå©çšããã
ããŒããŠã§ã¢ãšåãé¢ãããšãã§ããªããœãããŠã§ã¢ã¯ããã®ããŒããŠã§ã¢ã競äºåãæã¡ç¶ããéãã䟡å€ãç¶æã§ããªã
ããé«éãªããŒããŠã§ã¢ã«ãã£ãŠæ¢åã®ããŒããŠã§ã¢ã眮ãæãããã床ã«æžãçŽããªããã°ãªããªãã
移æ€æ§ãä¿ã€äžã§ãåOSã®ãã€ããªãŒãã¡ã€ã«ã«äŸåããªãASCIIãã©ãããã¡ã€ã«ã«ä¿åããåç
§å¯èœã«ããã
ããŒã¿ããããããã€ããªãŒã«ããå¿
èŠããªãã
ããã°ã©ã ã®åå©çšã¯ããœãããŠã§ã¢ã®æ¢åãæ倧éã«æŽ»çšãã匷åãªèãã ã
UNIXã®éçºè
ãã¡ã¯ããã®èãæ¹ã«åŸã£ãŠãéåžžã«å€ãã®Applicationãæ¯èŒçã«çæéã«éçºããŠããã
äžè¬ã«ä¿¡ããããŠãããšãããšã¯å察ã«ãç¬èªæè¡çå矀ã¯åµé æ§ã䌞ã°ããªããä»äººã®ä»äºãèŠãŠãèªåã®ã»ããããŸãã§ãããšäž»åŒµããŠã¿ãŠã
ããã ãã§åµé æ§ãå¢ããããã§ã¯ãªãã
æ¢åã®ApplicationããŒãããèšèšãçŽãããšã¯æš¡å£ã§ãã£ãŠãåµé ãšã¯èšããªãã
ããããããé¿ããäºã§ãæ°ããããããããããããªèšèšäžçãžã®æãéãããã
ãèªå°å¿ãã®èªæã«è² ããŠã¯ãããªãã
ãœãããŠã§ã¢ã®æ¢åãã¯ã«çã«å©çšããæ¹æ³ã®äžã€ã¯ããã·ã³ãããæ¿ããåãããããšã ã
ã³ã³ãã¥ãŒã¿ã«ã§ããããšã人éãæäœæ¥ã§è¡ãã®ã¯æéã®ç¡é§ã ã
ãã©ããã¹ãããšã«çŸä»£çãªãšã³ãžãã¢ã®ç 究æã§ãããäžã«å
¥ã£ãŠã¿ããšãé©ãã»ã©å€ãã®çç·Žæè¡è
ãæ¥åžžã®æ¥åãæäœæ¥ã§è¡ã£ãŠããã
ããæ¹æ³ãç¥ã£ãŠã¯ããŠããæããã®ç¿æ
£ã¯ãªããªããªãããªãã人éãå¿
èŠä»¥äžã«åãéããã³ã³ãã¥ãŒã¿ãŒãç ã£ãŠãããšããããšã¯ç¡ãã ãããïŒ
shell scripts ã¯ãœãããŠã§ã¢ã®æ¢åã掻ãããšåæã«ç§»æ€æ§ãé«ãããšãã2ã€ã®å¹æãããã
ããã€ãã®ã³ãã³ãã¯ãããŠãŒã¶ãŒãææãããã€ã³ã¿ãŒãã§ãŒã¹ãæã€ã
ãã®ã³ãã³ããå®è¡ããŠããŸããšãå®è¡äžã«ä»ã®ã³ãã³ããå®è¡ããããšã¯ã§ããªãã
ãã®ã³ãã³ãã®å®è¡äžã¯ããŠãŒã¶ãŒã¯ãããã¯ãªããããªããªã£ãŠããŸãã
ãã®é¡ã®ãã®ããææçããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãšåŒã¶ã
å
端æè¡ã®èžå²ã䜿ãããªãã«ããã£ãŠã¯ããŠãŒã¶ãŒåŽã«ãããçšåºŠã®ç¥èãå¿
èŠãšãªãã
ã¢ããå°ãããªã£ãŠé«åºŠã«ãªãã°ãªãã»ã©ã䜿ãããã«å¿
èŠãªç¥èãå¢ããŠããããã«èŠããã
以äžã®æ§ãªç¹åŸŽããã
ã»å°ããªãã®ã¯äººéã«ããŸãè¯ã銎æãŸãªããšããããšã
ã»å°ããªãã®ã¯ã人éãšã¯ãã銎æãŸãªããŠããäºãã«ã¯ãã銎æããšããããšã ã
ã³ã³ãã¥ãŒã¿ãŒãœãããŠã§ã¢ã®äžçã«ãããŠãã
å°ããªããã°ã©ã ãã¢ãžã¥ãŒã«ãæ°å€ãæã€ããšã§ç°å¢ãžã®é©å¿èœåã¯æ倧ãšãªãã
ããããæ®å¿µãªãããã¢ãžã¥ãŒã«ãå°ãããªãã°ãªãã»ã©ããŠãŒã¶ãŒãšã®ã€ã³ã¿ãŒãã§ãŒã¹ãšããåé¡ã倧ãããªã£ãŠããã
ã¢ãžã¥ãŒã«ã®æ°ãå¢ããã°å¢ããã»ã©ãåãæ±ããç
©éã«ãªãã
ããã«ãœãããŠã§ã¢èšèšè
ã«ãšã£ãŠã®ãžã¬ã³ãããããã¢ããªã±ãŒã·ã§ã³ã«æ倧ã®æè»æ§ãæ±ããŠãæ°å€ãã®å°ã¢ãžã¥ãŒã«ããæ§ç¯ããã
ããããäžæ¹ã§ã¯ããœãããŠã§ã¢ã䜿ãããããã®ã«ãããšããèŠä»¶ãç¡èŠã§ããªããã¢ãžã¥ãŒã«ã®æ°ãå€ããããšæ±ããå°é£ã«ãªãã
UNIXã¯ããã®ççŸã解決ããããã«ãŠããŒã¯ãªæ¹æ³ãçšããã
ã»ãšãã©ã®ã·ã¹ãã ã¯ããŠãŒã¶ãŒãšã¢ãžã¥ãŒã«ãšã®éã«åºããã€ã€æãæºãããææçããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãšåŒã°ãããœãããŠã§ã¢ã§åããããšããã
UNIXéçºè
ãæºãåºããäžæ¹ã§ããããšã¯èªããŠããã
ãããããŠãŒã¶ãŒãšã¢ãžã¥ãŒã«ãšã倧éã®ãã¹ãã²ããã£ãã³ãŒãã§çµã³ã€ããã®ã§ã¯ãªãããã®æºãå°ããã€å°ããªå¡ãŸãã¯å±€ã«ããŠæžãããŠããããšããã
UNIXãŠãŒã¶ãŒã®å€ãã¯ããŠãŒã¶ãŒã誀ã£ããã©ã¡ãŒã¿ãå
¥ãããšãå¿
èŠãªãã©ã¡ãŒã¿ãšãã®äœ¿ãæ¹ã瀺ãç°¡åãªMessageã衚瀺ããã
UNIXãŠãŒã¶ãŒãææçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãé¿ããã®ã«ã¯ãããå°ãæ·±ãçç±ãããã
UNIXãŠãŒã¶ãŒã«ãšã£ãŠã¯ãã³ã¡ã³ã©å士ã察話ãããæ¹æ³ãå¿
èŠãªã®ã ã
ææçããã°ã©ã ã®éçºè
ã¯ãããŒããŒãã®åã«äººéããããšããåæã§èšèšããŠããã
ã³ã³ãã¥ãŒã¿ãŒã人éã®éçã«å¶çŽãããã·ã¹ãã ããŠãŒã¶ãŒå
¥åãåŸ
ã€å¿
èŠããããšã
ããŒããŒãã®åã«åº§ã人éãšåãæ©ãã§ããåäœã§ããªããã€ãŸããå
šãæ©ããªããšããããšã ã
å§æ¯çããã°ã©ã ã¯ã倧ããç©ã¯çŸãããçã¢ãããŒãããšã
ææçããã°ã©ã ã¯ãä»ã®ããã°ã©ã ãšçµåããã®ãé£ããã
ææçãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã¯ã¹ã±ãŒã©ããªãã£ã«æ¬ ãã
æãéèŠãªäºã«ãææçãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã¯ãœãããŠã§ã¢ã®æ¢åãå¹æãå©çšã§ããªãã
ãYes/NoãããŠãŒã¶ãŒå
¥åããã®ä»ã®å¿çããŠãŒã¶ãŒããåŒãåºãããããã
ãœãããŠã§ã¢ã®æ¬è³ªã¯ãããŒã¿ãåŠçããããšã§ãçæããããšã§ã¯ãªãã
ãã®èœåãæ倧éã«çºæ®ããããã«ã¯ãããã°ã©ã ããã£ã«ã¿ãšããŠåäœããããã«èšèšãã¹ãã ã
ãã¹ãŠã®ããã°ã©ã ã¯ãäœããã®åœ¢åŒã®ããŒã¿ãå
¥åãšããŠåãå
¥ããäœããã®åœ¢åŒã®ããŒã¿ãåºåãšããŠçæããã
ããã°ã©ã ã¯ããŒã¿ãäœããªãã人éãã€ãã
äžè¬ã«ã¯ã¢ããªã±ãŒã·ã§ã³ãããŒã¿ãäœããšä¿¡ããããŠããããå®éã®ãšãããã¢ããªã±ãŒã·ã§ã³ã«ã¯ããŒã¿ãäœãèœåãªã©ç¡ãã
ããŒã¿ãäœãã«ã¯ãæ³ååãå¿
èŠã ããããŠããªãªãžãã«ã®æ
å ±æºãå¿
èŠã ãã³ã³ããã¥ãŒã¿ã¯æ
å ±æºãæããªãã
ã³ã³ãã¥ãŒã¿ã¯ãããŒã¿ãäžã€ã®ä¿æ¢ããå¥ã®åœ¢åŒã«å€æããã
UNIXã®ãŠãŒã¶ãŒã¯ãèªåã®æãéãã«ç°å¢ãæçŽãããããšã奜ãã
æ°æ©èœã®è¿œå èŠæ±ã次ãã次ãžãšåºãŠããäžã§ããUNIXã®éçºè
ãã¡ã¯OSã®äžå¿éšåãå°ãã軜ãä¿ã€ããšã奜ãã§ããã
ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãé«ããããšæã人ããŸãèããã®ã¯ãã©ã³ã¿ã€ã ã«ãŒãã³ãã«ãŒãã«ã«çµã¿èŸŒãããšã ã
å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³éã®ã³ã³ããã¹ãã¹ã€ãããæžããã代ããã«ã«ãŒãã«ã倧ãããªããä»ã®UNIXã«ãŒãã«ãšã®æŽåæ§ã
倱ãããŠããŸãã
XãŠã£ã³ããŠã·ã¹ãã ã®éçºã®åæ段éã§ãXãµãŒããŒã®äžéšãUNIXã«ãŒãã«ã«åã蟌ãããšãææ¡ããã
ããã§ããã©ãŒãã³ã¹ãé«ããªããã©ãããããã£ãŠæ¿ããæèŠã®å¯Ÿç«ããã£ãã
çµè«ãXãµãŒããŒã«ãã°ããããšããŠã£ã³ããŠã·ã¹ãã ãã¯ã©ãã·ã¥ããã ãã§ã¯ãªããOSå
šäœãã¯ã©ãã·ã¥ããããšãããããXãµãŒããŒã¯ãŠãŒã¶ãŒç©ºéã«çœ®ãããŠããã
ã«ãŒãã«ãå°ãããŠè»œããã°ãã¿ã¹ã¯éå§æã«ã³ããŒãããã¯å€æŽããããŒã¿æ§é äœã®æ°ãå°ãªããã¿ããŠãŒã¶ãŒç©ºéã§ã¿ã¹ã¯ããã¿ããã«å®è¡ã§ããã
ãäžã€ã®ããšã ããããŸããå®è¡ããå°ããªããã°ã©ã ã®éãŸããå¹çããåäœããããã«ã¯ãã«ãŒãã«ãå°ããããšããã²ãšãå¿
èŠãšãªããå°ããªåäžæ©èœ
ããã°ã©ã ãè¿
éã«å®è¡ãããããšã¯ãUNIXã®ããã©ãŒãã³ã¹ã«åã£ãŠæ¥µããŠéèŠã ã
ã¢ã«ãã¡ãããã®å°æåã䜿ãã®ãUNIXã®äŒçµ±ãããšããšã¯ããããçç±ããã£ãããé²åãšãšãã«çç±ãç¡ããªã£ãçŸåšã§ã
UNIXãŠãŒã¶ãŒã®å¥œã¿ã¯å€ãã£ãŠããªãã
UNIXãŠãŒã¶ãŒã¯çŽã®ããã¥ã¡ã³ããå«ãã
ãã¹ãŠã®ããã¹ããã¡ã€ã«ãã³ã³ãã¥ãŒã¿ã«ä¿åããŠã匷åãªããŒã«ã§ããããæäœããã®ã ãããã®ããšã«ååãªçç±ãããã
ãããŒã¿ãçŽã«å°å·ããŠããŸã£ããããããã以äžæäœåºæ¥ãªããã ãããšãäžåžã¯èšã£ãã
çŽã«å°å·ãããããŒã¿ã¯ã䞊ã³æ¿ããã移åãããã£ã«ã¿åŠçããå€åœ¢ããä¿®æ£ãåºæ¥ãªãã
å°ãªããšããã³ã³ãã¥ãŒã¿äžã§ããããã«ç°¡åã«ã¯åºæ¥ãªãã
ç¬æã«åãåºããããã«ã巚倧ãªãã£ã¹ã¯ãã¡ãŒã ã«ã¢ãŒã«ã€ãä¿åããããšãåºæ¥ãªããããŒäžã€ã§æ€çŽ¢ããããšãåºæ¥ãªãã
ä¿è·ãããæ©å¯æ
å ±ãªã®ã«æå·åãã§ããªãã
åãããªãããŒã¿ã¯æ»ãã ãåç¶ã ãšåã«èšã£ãããšãèŠããŠããã ãããïŒçŽã«å°å·ãããããŒã¿ãåãããšã ã
UNIXã®ã³ãã³ãã¯ã詳现ãªãšã©ãŒã¡ãã»ãŒãžãåºãã¹ãæã«ããæªåé«ãã»ã©æ²é»ãå®ãã
UNIXã«æ
£ãããŠãŒã¶ãŒã¯ãããäžçªãããšèããã
UNIXã¯äžè¬ã«ããã©ã€ãã§ããã ãäºå®ãã ããäŒããããã以äžã§ã以äžã§ããªãã
ls -l | awk '{ print $4 }' | sort
ããã§lsã"DIRECTORY: NO FILES FOUND"ãšããåºåããã€ãã©ã€ã³ã«éã£ããã©ããªãã®ã ãããã
ãã®ã¡ãã»ãŒãžã®4çªç®ã®ãã£ãŒã«ããâFOUNDâã§ãããããsortã³ã¡ã³ããã®æçµåºåãšããŠã
æå³äžæã®"FOUND"ãšããã¡ãã»ãŒãžã衚瀺ãããããšã«ãªãã
ãããŠãã®ä»äºã¯ãããã€ãã®å°ããéšåã«åããããã
ãããã®å°ããéšåãåæã«å®è¡ãããšã倧ããªäžã€ã®ä»äºã«ãããã®ãšåãæéã§ããå€ãã®ä»äºãã§ããã
å°ããéšåãéããŠå€§ããªApplicationãäœãæ¹ãã倧èŠæš¡ããã°ã©ã ãåäœã§æ§æãããããæè»æ§ã«å¯ã¿ãåŸã£ãŠãã圹ã«ç«ã€ã
ã©ã¡ãã®ã¢ãããŒãã§ãåãæ©èœã¯éæã§ãããããããªããããããå
ã®ããšãèãããšãå°ããéšåã®éã«å€ã¢ãããŒãã®æ¹ãæå©ã ã
ã©ããªããšã§ããã100ïŒ
äžæãããããšã¯å€§å€ã ã90ïŒ
ã®ããšã ããäžæããããããã«ããã»ãããã¯ããã«èœççã§ããè²»çšå¯Ÿå¹æãæãé«ãã
UNIXéçºè
ã¯ã察象ãŠãŒã¶ãŒã®90ïŒ
ãæºè¶³ãã解ãç®æãã
çãæ®ãã®ã¯æ倧å
¬çŽæ°çãªSystemã ãšãUNIXãã¡ã³ã¯ä¿¡ããŠããã
é«çŽåã§ã¯ãªããå¹ççãªã¢ãã®ã»ãããé«å質ã§å¹æãªãã®ãããæç¶åãå
¥ããããããã ããã
PCäºææ©ã®äžçããUNIXçã®ãã®ã¢ã€ãã¢ã«åŸã£ãŠå€§ããªæåãåãã€ã€ããã
UNIXãŠãŒã¶ãŒãšéçºè
ãšã¯ãç©äºãéå±€æ§é ã§æŽçããã®ã奜ãã ã
äŸãã°ãUNIXã§ã®ãã£ã¬ã¯ããªæ§é ã¯ããã¡ã€ã«ã·ã¹ãã ã«é©çšãããæåã®éå±€æ§é ã¢ãŒããã¯ãã£ã ã
UNIXã¯ãã®éå±€çãªèãæ¹ãããã«çºå±ããããããã¯ãŒã¯ãµãŒãã¹ã§ã®åœåæ³ããŠã£ã³ããŠç®¡çããªããžã§ã¯ãæåéçºãªã©ãä»ã®åéã«ã圱é¿ãåãŒããã
CSP(å°ããã°ã©ã éåâCollection of Small Programsâ)å±€ã¯ãäžçµã®UNIXã³ãã³ãããŸãã¯ã·ã§ã«ã¹ã¯ãªãããããªã£ãŠããããã®äžã€äžã€ãã¢ããªã±ãŒã·ã§ã³ã®äžæ©èœãå®è¡ããã
æ°ããæ©èœãå¿
èŠã«ãªã£ãæã¯ããã®æ©èœãå®è¡ããå°ããªããã°ã©ã ãäœæããã ããªã®ã§ç°¡åã ã
äžæ¹ããã£ãšéå®çãªã¢ããªã±ãŒã·ã§ã³ã欲ãããšããæã¯ãããªã«ãããŠã¯è¡ããªãã
ãã®å Žåã¯ãã¢ããªã±ãŒã·ã§ã³å±€ãäžèŠãªããã°ã©ã ãå®è¡ããªãã ãã®ããšã ã
ãŠãŒã¶ãŒã«ãšã£ãŠãã©ã®æ©èœãå¿
èŠãã®å€æã¯ã¢ããªã±ãŒã·ã§ã³å±€ã§è¡ãããæ©èœèªäœã¯å°ããã°ã©ã éåå±€ã§å®è¡ãããã
ã¢ããªã±ãŒã·ã§ã³å±€ã¯ãäž»ãšããŠå°ããã°ã©ã éåå±€ãšãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹å±€ã®ãã€ãªã圹ããšããŠåãã»ããã¢ããªã±ãŒã·ã§ã³ã®æ©èœã決å®ããã
å°ããã°ã©ã éåå±€ã®ããŸããŸãªèŠçŽ ãäžã€ã®ç°å¢ã«ãŸãšãæããããšã§ãå°ããªããã°ã©ã å士ã®çžäºé¢ä¿ãèŠå®ãããïœã®åäœã®æ çµã¿ãèŠå®ããã
ãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹å±€ãšã¯ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããšããç»é¢äžã§ç®ã«ããéšåãèšãã
å€èŠã®å¥œã¿ã«å¿ããŠãæ§ã
ãªãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ãã奜ããªãã®ãéžã¹ãéåžžã«æè»æ§ã«å¯ãã§ããã
UNIXç°å¢ã§ã¯ãäžè¬ã«3éãã®ããŒããŒã€ã³ã¿ãŒãã§ãŒã¹ã¹ã¿ã€ã«ãããã
ãŸããäžã€ç®ã¯ã·ã§ã«ã¹ã¯ãªããåãŸãã¯ã¹ã¯ããŒã«ã¡ãã¥ãŒåã§ããã¹ãŠã®ç«¯æ«ãŸãã¯ãã¬ã¿ã€ãã§äœ¿çšã§ããã
次ã¯ãcursesããŒã¹ã®ã€ã³ã¿ãã§ãŒã¹ã ãããã¯ãæå床端æ«ã§äœ¿çšãããå
šç»é¢ãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã ã
æåŸã«XãŠã£ã³ããŠã·ã¹ãã ã®ç«¯æ«ãã¯ãŒã¯ãããŒã·ã§ã³ã§èŠãããã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã ã
å·§ã¿ã«æ§æãããã¢ããªã±ãŒã·ã§ã³å±€ã§ããã°ãæ§ã
ãªãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã®ã¹ã¿ã€ã«ãããŠãŒã¶ãŒã奜ããªãã®ãéžæããããšãåºæ¥ãã
ãã®ããšã¯ããŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹å±€ããããŒãã¯ã€ã¢ããããŠããŠã¯ãªããªããšããããšãæå³ããŠããã
ç¶æ³ã«å¿ããŠãã©ã®ãããªãŠãŒã¶ãŒã€ã³ã¿ãã§ãŒã¹ã§ãéžã¶ããšãåºæ¥ãªããã°ãªããªãã
å°ããªããã°ã©ã ã«ã¯ãæãããªå©ç¹ãããã
ãŸããããããããããšã ã
倧ããªãäœããããå°ããªãäœããã®ã»ããã人éã«ã¯ãããããããç解ãããããã°ãåœç¶ãä¿å®ãçšæãšãªãã®ã§ãæçµçã«ã¯è²»çšäœå¹æã倧ãããªãã
ãŸããã·ã¹ãã ãªãœãŒã¹ãäœã䜿ããªãã®ã§ãèªã¿èŸŒã¿ãå®è¡ãéæŸã®ãããããã°ããè¡ãããšãã§ããå¹çãé«ãŸãã
移æ€æ§ãé«ãããããšãããšå¹çã¯ç ç²ã«ãªã£ãŠããŸããã®ã ããããã°ã©ã ãå°ããããããšã§ãå€å°ãªããšãåãæ»ããã ããã
æåŸã«ãå°ããªããã°ã©ã ã¯ãä»ã®ããŒã«ãšç°¡åã«çµåã§ããã
åç¬ã§ã¯ããããããšãã§ããªããŠããä»ã®å°ããªããã°ã©ã ãšçµã¿åãããŠäœ¿ãããšã§ã
ããã°ã©ãã¯--æãéãªããšã«--ãŠãŒã¶ãŒãèªåã§çæéã®ãã¡ã«ãæ°ããã¢ããªã±ãŒã·ã§ã³ãäœãããšãåºæ¥ãã
å°ããªããã°ã©ã ã¯ãç®çãçµããªããã°ãªããªããèšãæãããšãäžã€ã®ããšãäžæãããªãããšã«å°å¿µãã¹ãã ã
äžã€ã®ããã°ã©ã ã§ã²ãšã€ã®åé¡ã解決ããããšãã¢ãããŒã«ããŠã»ããã
倧ããè€éãªåé¡ã§ããå°ããåå²ããã°ãäžåºŠã«å°ããã€å
æããŠããããšãåºæ¥ãã
äžã€ã®ããšãäžæãããããã°ã©ã ã¯ãä»ã®ã¢ããªã±ãŒã·ã§ã³ã®äžã§ãæ¯èŒçç°¡åã«åå©çšã§ãããã§ããããšãšåºæ¥ãªãããšããæ確ã§ã
倧ããªããã°ã©ã ã«ãããã¡ãªææ§ãããªãã
äžã€ã®ããšã ãã«å°å¿µããã°ãå°ããªããã°ã©ã ã®ãŸãŸã倧ãããŠè€éãªåäœåããã°ã©ã ã«ãªãå±éºãé¿ãããããã
åäœåããã°ã©ã ã¯ãã¹ãã²ããã£ã³ãŒãããå«ãã§ããããšãå€ããä»ã®ã¢ããªã±ãŒã·ã§ã³ãšã®å
±åäœæ¥ãèŠæã ã
å°ããªããã°ã©ã ã¯ãä»æ¥ãšã¯éãææ¥ãããããšãèªèããŠããã
ä»æ¥å®ç§ã«èŠããæ©èœã§ããææ¥ã¯äžå®å
šã«ãªããå Žåã«ãã£ãŠã¯æ代é
ãã«ãªããããããªãã
åäœåããã°ã©ã ã¯ç®åã®ãã¹ãŠã®ç¶æ³ã«å¯ŸåŠããããšããããå°ããªããã°ã©ã ã¯ãœãããŠã§ã¢ãé²åããããšãççŽã«åãå
¥ããŠããã
ãœãããŠã§ã¢ã«å®æã¯ãªãããã ãªãªãŒã¹ãæãã ãã ã
äžçã®ãœãããŠã§ã¢ã¯çµ¶ããé²åãç¶ããŠããã誰ãåŠç¿æ²ç·ããã¯éããããªãã
ãœãããŠã§ã¢ã®äžçãã©ã®æ¹åã«åããããšããŠãã®ãã絶察ã®ç¢ºä¿¡ãæã£ãŠäºèšã§ãã人ã¯èª°ãããªãã
人éã«ã§ããããšã¯ãããããææ¥ã®ããŒãºã¯å€åããããšããåæã«ç«ã£ãŠãä»æ¥ã®ããŒãºãæºãããœãããŠã§ã¢ãäœãããšãããã ããã
éçºè
ã¯èšèšä»æ§æžã®äœæã«äœé±éãäœã¶æãè²»ããç¡é§ããããèšç»ã®ç®æãããããã®æ¹åãææžã«ãŸãšãããããã£ããšéçºã«åãæãã£ãã»ããè¯ã
è©Šäœãã§ããã ãæ©ããã¡ã«äœãããšãéèŠã ã
èšèšè
ã®é ã®äžã«ãã£ãã¢ããªã±ãŒã·ã§ã³ããæ©æã«åœ¢ãšãªã£ãŠä»äººã®æã«æž¡ããããã ã第äžã®ã·ã¹ãã ãžã®æ©ã¿ãæ©ãŸãã
è©Šäœã¯ãå°æ¥ãžåãã£ãŠã®æ©ã¿ãå éãããã
å€æŽãå¿
èŠãªãã®ãªãããã¹ãŠãææã«åºãŸããŸã§åŸ
ã£ãŠããå€æŽããããããŸã äžäºãæµåçãªåæ段éã§å€æŽããã»ããããã«æ±ºãŸã£ãŠããã
è©Šäœãäœã£ãŠã¿ãã°ãäœãããŸããããããããŠããéèŠãªããšã«ãäœãããŸããããªããããããã
è©Šäœã¯ãäžã€ã®ããšã ããè¡ãå°ããªããã°ã©ã ã䜿ããåŸã
ã«é²ããŠè¡ããšããã
äœãã®æ©èœãå¿
èŠã«ãªããã³ã«ãããå°ããªããã°ã©ã ãšããŠè¿œå ããŠããã°ãè²»ããåŽåã¯æå°éã§ããã
èŠããŠãããŠã»ããããœãããŠã§ã¢ã¯ãå®ã¯äœããã®ã§ã¯ãªããæé·ããŠè¡ããã®ãªã®ã ã
æé·ãããœãããŠã§ã¢ãæ°ããããŒããŠã§ã¢ã«ã移æ€ã§ããã°ããã®ãœãããŠã§ã¢ã®äŸ¡å€ã¯äžããã
æ°ããã¢ãŒããã¯ãã£ã¯é »ç¹ã«çŸããã
移æ€æ§ã®é«ããœãããŠã§ã¢ã¯ãããã«ãã®æ°ããã¢ãŒããã¯ãã£ã®é·æãå©çšã§ããã
ããã§ãè©Šäœã§ã¯å¹çãã移æ€æ§ãåªå
ãããã
ãã®çµæã移æ€ã§ãããã®ã¯çãæ®ãããã以å€ã®ãã®ã¯ããããŠæ代ã«åãæ®ãããŠããŸãã ããã
UNIXã®èãæ¹ãšã¯ãåžžã«å°æ¥ãèŠæ®ããªãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãœãããŠã§ã¢ã®éçºã«ã¢ãããŒãããããšã ã
ããã§ã¯ãåžžã«å€åãç¶ããæ£è§£ãæ³å®ãããŠããã
å°æ¥ã¯äºæž¬ã§ããªããçŸåšã«ã€ããŠããããããšãç¥ã£ãŠããŠãããã®ç¥èã¯ãŸã ãŸã äžå®å
šãªããšã¯èªããããããªãã
ãœãããŠã§ã¢ãéçºããã«ãããåã©ããã¡ã®ããã«ããè¯ãäžçãç¯ãã«ãããå°æ¥ã¯ã¬ã©ã¹è¶ãã«ããèŠããªãã
ãã€ãããã¹ãŠã®çãããããæ¥ããããããããªããããããŸã§ã¯åé²ãç¶ãããªããã°ãªããªãããã€ãããã¹ãŠã®çããç¥ãæããã£ãŠããã®ãããããªããããããŸã§ã¯ãäžæ¥ããšã«ãä»æ¥ãããæšæ¥ãæ
ã£ãŠããæ¥ã
ãéãããªãããå°æ¥ã«é©å¿ããåé²ãç¶ããªããã°ãªããªãã
UNIXã®ç念ã¯ãããããå°æ¥ã«åããã¢ãããŒãã®äžã€ã ã
ãã®æ¬è³ªã¯æè»ã§ããã€ã¥ããããšã ã
åµãäœåºŠãã£ãŠã¿ãŠãã颚ã«æºããæ°ã¯æããããšããªãã
Hereâs a template for a brag document! Usually, I make one brag document per year. (âJuliaâs 2017 brag documentâ). I think itâs okay to make it quite long/comprehensive â 5-10 pages or more for a year of work doesnât seem like too much to me, especially if youâre including some graphs/charts/screenshots to show the effects of what you did.
One thing I want to emphasize, for people who donât like to brag, is â you donât have to try to make your work sound better than it is. Just make it sound exactly as good as it is! For example âwas the primary contributor to X new feature thatâs now used by 60% of our customers and has gotten Y positive feedbackâ.
List your major goals here! Sharing your goals with your manager & coworkers is really nice because it helps them see how they can support you in accomplishing those goals!
If itâs getting towards the end of the year, maybe start writing down what you think your goals for next year might be.
For each one, go through:
What your contributions were (did you come up with the design? Which components did you build? Was there some useful insight like âwait, we can cut scope and do what we want by doing way less workâ that you came up with?)
The impact of the project â who was it for? Are there numbers you can attach to it? (saved X dollars? shipped new feature that has helped sell Y big deals? Improved performance by X%? Used by X internal users every day?). Did it support some important non-numeric company goal (required to pass an audit? helped retain an important user?)
Remember: donât forget to explain what the results of your work actually were! Itâs often important to go back a few months later and fill in what actually happened after you launched the project.
Examples of things in this category:
Helping others in an area youâre an expert in (like âother engineers regularly ask me for one-off help solving weird bugs in their CSSâ or âquoting from the C standard at just the right momentâ)
Mentoring interns / helping new team members get started
Writing really clear emails/meeting notes
Foundational code that other people built on top of
Improving monitoring/dashboards/ on call
Any code review that you spent a particularly long time on / that you think was especially important
Important questions you answered (âhelped Risha from OTHER_TEAM with a lot of questions related to Yâ)
Mentoring someone on a project (âgave Ben advice from time to time on leading his first big projectâ)
Giving an internal talk or workshop
List design docs & documentation that you worked on
Design docs: I usually just say âwrote design for Xâ or âreviewed the design for Xâ
Documentation: maybe briefly explain the goal behind this documentation (for example âwe were getting a lot of questions about X, so I documented it and now we can answer the questions more quicklyâ)
This is a category we have at work â it basically means âthings you did to help the company overall, not just your project/teamâ. Some things that go in here:
Going above & beyond with interviewing or recruiting (doing campus recruiting, etc)
Improving important processes, like the interview process or writing better onboarding materials
My friend Julian suggested this section and I think itâs a great idea â try listing important things you learned or skills youâve acquired recently! Some examples of skills you might be learning or improving:
how to do performance analysis & make code run faster
the internals of an important piece of software (like the JVM or Postgres or Linux)
how to use a library (like React)
how to use an important tool (like the command line or Firefox dev tools)
about a specific area of programming (like localization or timezones)
an area like product management / UX design
how to write a clear design doc
a new programming language
Itâs really easy to lose track of what skills youâre learning, and usually, when I reflect on this I realize I learned a lot more than I thought and also notice things that Iâm not learning that I wish I was.
Itâs also often useful to track accomplishments outside of work, like:
blog posts
talks/panels
open source work
Industry recognition
I think this can be a nice way to highlight how youâre thinking about your career outside of strictly what youâre doing at work.
This can also include other non-career-related things youâre proud of if that feels good to you! Some people like to keep a combined personal + work brag document.
If youâre feeling stuck for things to mention, try:
If you were trying to convince a friend to come to join your company/team, what would you tell them about your work?
Did anybody tell you you did something well recently?
k8s resources with shortcuts:
pods, po
nodes, no
deployments, deploy
replicasets, rs
daemonsets, ds
statefulsets, sts
jobs
cronjobs, cj
services, svc
persistentvolumes, pv
persistentvolumeclaims, pvc
deployments, deploy **dem**
replicasets, rs **res**
daemonsets, ds **das**
statefulsets, sts
Problem: "I can manage all my K8s config in git, except Secrets."
Solution: Encrypt your Secret into a SealedSecret, which is safe to store - even to a public repository. The SealedSecret can be decrypted only by the controller running in the target cluster and nobody else (not even the original author) is able to obtain the original Secret from the SealedSecret.
é»æºã±ãŒãã«ãæšãŠããã
monitoring-rules-view ããŒã«ã¯ããããžã§ã¯ãã® PrometheusRule ã«ã¹ã¿ã ãªãœãŒã¹ãžã®èªã¿åãã¢ã¯ã»ã¹ãæäŸããŸãã
monitoring-rules-edit ããŒã«ã¯ããããžã§ã¯ãã® PrometheusRule ã«ã¹ã¿ã ãªãœãŒã¹ãäœæããå€æŽããåé€ããããŒããã·ã§ã³ããŠãŒã¶ãŒã«ä»äžããŸãã
monitoring-edit ããŒã«ã¯ãmonitoring-rules-edit ããŒã«ãšåãç¹æš©ãä»äžããŸããããã«ããŠãŒã¶ãŒã¯ãµãŒãã¹ãŸã㯠Pod ã®æ°èŠã®åé ã¿ãŒã²ãããäœæã§ããŸãããã®ããŒã«ã䜿çšãããšãServiceMonitor ããã³ PodMonitor ãªãœãŒã¹ãäœæããå€æŽããåé€ããããšãã§ããŸãã
Why Continuous Learning is Important
modules/gcp - GCP support:
gruntwork-io/terratest#141
Initial contribution of Azure module:
gruntwork-io/terratest#332
äžè¬çã«ãProblemãã¯ã解決ããããã¹ãåé¡ãæããŸããåé¡ããã¬ãã£ããªåœ±é¿ãåãŒããããåŒå®³ããããããããããããäœãããã®è§£æ±ºçãèŠåºãå¿ èŠæ§ãããå Žåã«äœ¿ãããŸããäŸãã°ã飲é é転ã®åé¡ãã飲é é転ã§æ¯å¹Žå€ãã®äºæ ãçºçããæ»è ãåºãŠããŸãã飲é é転ã¯åŒå®³ãããããã®ã§ããã®å ŽåãProblemãã䜿ãããŸãã
ãProblemãã¯äžè¬çã«ã瀟äŒãçµç¹å šäœãã«é¢ããåé¡
ã»Drinking and driving is a problem.ïŒé£²é
é転ã¯åé¡ã§ãïŒ
ã»There is a problem with our Internet.ïŒãããã®åé¡ããããŸãïŒ
ã»We are facing serious financial problems.ïŒæã
ã¯æ·±å»ãªè²¡æ¿åé¡ãæ±ããŠããŸãïŒ
äžè¬çã«ãIssueãã¯ãè°è«ããããã¹ãåé¡ãæããŸããè°è«ããããšã«ãã£ãŠãè³æã®å£°ãåºãããå察ã®å£°ãã§ãããè³åŠäž¡è«ã§ããããšããé£ãã決æãæ±ããããæã«äœ¿ãããããšãå€ãã§ããäŸãã°ãã¢ã¡ãªã«ã§ã¯æ³åŸäž18æ³ã§â倧人âã§ããããé ã¯21æ³ããããé ã18æ³ã«å€ããŸããããšããææ¡ã¯å€§ããªè°è«ãããããã§ãããããã®ãããªãåé¡ãã¯ãIssueãã䜿ãããŸãã
ãIssueãã¯äžè¬çã«ãäŒç€Ÿãçµç¹ã®äžéšãã«é¢ããåé¡
ã»We have an issue.ïŒåé¡ããããŸãïŒ
ã»Iâm having issues with my co-worker.ïŒååãšåé¡ã«ãªã£ãŠããŸãïŒ
ã»We will appropriately deal with this issue.ïŒãã®åé¡ãé©åã«åŠçããŸãïŒ
http://www.02.246.ne.jp/~torutk/seway/dreyfus.html
段é | äžèš | å 容 |
---|---|---|
第1段éãåå¿è | ã¬ã·ããå¿ èŠ | çµéšãã»ãšãã©æããªãã³ã³ãã¯ã¹ãã«å·Šå³ãããªãã«ãŒã«ãäžããããã°ä»äºãéè¡ã§ããåŠã³ããæ欲ã¯ããã»ã©ãªã |
第2段éãäžçŽè | å šäœåãèŠããããªã | ç¬åã§ä»äºã«åœããããåé¡åŠçã«æãããã»ãã®å°ãã ã決ãŸã£ãã«ãŒã«ããé¢ããããæ å ±ãææ©ãå ¥æããããããçè«ã»ååã¯æãŸãªãïŒç§ã«ã¯é¢ä¿ãªãïŒ |
第3段éãäžçŽè | åé¡è§£æ±ºãã§ãã | åé¡ãæ¢ãåºã解決ãããäœã现éšã®ã©ã®éšåã«çŠç¹ãåãããã¹ããã®æ±ºå®ã«ã¯ãããªãçµéšãå¿ èŠãããŒã ã®æå°è ç圹å²ãåå¿è ãžã®å©èšãé人ã®ãµããŒã |
第4段éãçç·Žè | èªå·±è£æ£ãå¯èœ | ååãªçµéšãšå€æåãåããèªå·±æ¹åãä»äººã®çµéšããåŠã¶ãæ Œèšãç解ãããŸãé©çšããèœåãåããïŒäŸïŒãã¿ãŒã³ãå¹æçã«é©çšïŒäœã倱æã«ã€ãªãããåãã |
第5段éãé人 | çŽæã§åã | èšå€§ãªçµéšããããäžæã«åŒãåºããŽã£ããã®ç¶æ³ã§å¿çšã§ããçç±ããã£ãŠããããã®ã§ã¯ãªããçŽæã«åŸã£ãŠè¡ãïŒãæ£ãããšæãããïŒæ¬è³ªã«é¢ä¿ã®ãªãéšåãšéèŠãªéšåã®åºå¥ãç¡æèäžã§ã§ãã |
Change Should Be Gradual
Tooling and Culture Are Interrelated
portability
turn everything to code
image size up to 100M
pipeline up to 3 steps
image build time up to 3min
nsenter
https://www.redhat.com/sysadmin/container-namespaces-nsenter
unshare
https://www.redhat.com/sysadmin/building-container-namespaces
capabilities
https://man7.org/linux/man-pages/man7/capabilities.7.html
namespace
https://lwn.net/Articles/531114/
https://www.redhat.com/sysadmin/7-linux-namespaces
Webã¢ã¯ã»ã¹ãã°ã§éèŠãªãã€ã³ããšããŠïŒã¯ãããŒIDããŠãŒã¶IDãªã©äžæã«ãŠãŒã¶ãåºå¥ã§ããããŒã¿ãå©çšããããšã§ïŒãŠãŒã¶ãã©ã®çšåºŠèªç€Ÿã«æ¥ãŠãããŠããã®ãïŒãŠãŒã¶ã«èŠãŠæ¬²ããæ å ±ããŠãŒã¶ã«å±ããããŠããã®ãã確èªããããšãã§ããŸãã
ãŠãŒã¶ååã«é¢ããåºæ¬KPI
ããŒãžãã¥ãŒïŒPV: Page ViewïŒ
ããŒãžãã¥ãŒã¯ïŒäžæ¥ã®ã¢ã¯ã»ã¹åæ°ãè¡šãæãåºæ¬çãªææšã§ãã
ãŠããŒã¯ãŠãŒã¶æ°ïŒUU: Unique UserïŒ
ãŠããŒã¯ãŠãŒã¶æ°ã¯ïŒåæ¥ïŒãŸãã¯åæïŒå幎ïŒã®äžäººã®ãŠãŒã¶ã®è€æ°åã®ã¢ã¯ã»ã¹ã1åãšèŠãªããææšã§ãã
å¹³åã¢ã¯ã»ã¹åæ°
PV / UU ã§èšç®ãããïŒäžäººåœããã®1æ¥ã®å¹³åã¢ã¯ã»ã¹åæ°ã§ãã
æ°èŠãŠãŒã¶æ°
æ°èŠãŠãŒã¶æ°ã¯ïŒåããŠãµã€ãã«ãã°ã€ã³ãããŠãŒã¶ãæ¥å¥ã«ã«ãŠã³ããããã®ã§ãã
çŽè¿ãšæçµèšªåæ¥ãŸã§ã®æé
ç¹å®ã®æ¥ä»ãåºæºæ¥ãšããŠïŒåãŠãŒã¶ã®æçµèšªåæ¥ãäœæ¥åïŒæ¥åäœïŒã ã£ãã®ããæ±ããææšã§ãã
æçµèšªåæ¥ã®ååž
ãã¡ãã¯åãŠãŒã¶ã®æçµèšªåæ¥ããšã«éèšãïŒååžãã¿ããã®ã«ãªããŸãã
çŽåž°ç
çŽåž°ã¯èšªåã¯ãããã®ã®ïŒä»ã®ããŒãžã«ç§»åããã«å»ã£ãŠããŸã£ããã®ããã³ïŒåæ¥ã«å蚪åãè¡ããªãã£ããŠãŒã¶ã®æ°ãæ°ããŸãã
é«é »åºŠèšªåãŠãŒã¶ã®äžèŠ§ïŒé±næ¥ä»¥äžïŒ
åºæºæ¥ãŸã§ã« næ¥é£ç¶èšªåããã¡ã³ããŒã®æ°ãæ°ããŸãã
é£ç¶èšªåãŠãŒã¶äžèŠ§ïŒçŽè¿næ¥é£ç¶ïŒ
åºæºæ¥ãŸã§ã®çŽè¿1é±éã§ïŒnå以äžãã°ã€ã³ããŠããã¡ã³ããŒã®æ°ãæ±ããŸãã
äžèšã®ããã«ããWebããŒãžå
šäœã®æ
å ±ãç¹ã§åæããã®ãåºæ¬KPIãšèšããŸããããããåºæ¬KPIãæ¯æ¥åéãïŒå®åã¬ããŒãããŠèŠ³æž¬ã§ããããã«ããããšã§ïŒé·æéã§ã®å€åããããããã«ãªãïŒäœããã®ã€ãã³ãã«ããå€åãªã©ãéããŠæ°ããªç¥èŠãåŸãããšãã§ããããã«ãªããŸãã
ããŠïŒããã«æ·±ãå¿çšKPIãšã¯ã©ã®ãããªããšãããã®ã§ããããïŒ ããã¯ç¹ã«ããåæãæéã§ã¯ãªãïŒãŠãŒã¶ãWebããŒãžäžãè¡åããç¹ãšç¹ãã€ãªãã ãŠãŒã¶ã®åç·ã«ããåæïŒã€ãŸããã¹åæãå¿çšKPIã®1ã€ãšãªãã§ãããã
ãã¹åæãšã¯ïŒãŠãŒã¶ããšã®æµå ¥ããã³ã³ããŒãžã§ã³ïŒãŠãŒã¶ã«ãã©ãçããŠæ¬²ãããã¹ãã¢ã¯ã·ã§ã³ã®ããšïŒããšãã°ååã®è³Œå ¥ãã«ã¿ãã°ããŠã³ããŒããªã©ïŒã«è³ããŸã§ã®ããã¹ããã®ãã®ãåæã®è»žãšããææ³ã§ãã
ãŠãŒã¶ã®ãã¹èªèº«ãèŠãããšã«ãã£ãŠïŒç¹ã«ããåºæ¬KPIã®åæã®ã¿ãè¡ã£ãŠãããŠãŒã¶ã«ãšã£ãŠã¯ïŒäžèšã®ãããªæ°ãã芳ç¹ã®åæãã§ããããã«ãªããŸãã
ãã¹å¹³åé·
ã³ã³ããŒãžã§ã³ãŸã§ã«ããã€ã®ããŒãžãèžãã§ãªãŒãããã®ãïŒã³ã³ããŒãžã§ã³ã®ãå¹çãã«é¢ããŠç解ããããšãã§ããŸãã
ã³ã³ããŒãžã§ã³æé
æµå
¥ããã³ã³ããŒãžã§ã³ã«è³ããŸã§ã®æéïŒæ°åã§ãããã®ãããã°æ°é±éã§ãããã®ãããïŒâ ãåæ§ã«ãå¹çãã«é¢ããŠç解ããããšãã§ããŸãã
ãã¹é¡å
é·ããçµã¿åãããç¡é倧ã®ãã¹ã«å¯ŸããŠïŒç¹å®ã®ã«ãŒã«ã«åŸã£ãŠãã¹ãåé¡ãïŒãã®åé¡ã®äžã§ã©ã®ãã¹é¡åãã³ã³ããŒãžã§ã³ã«å¯äžããŠããããç¥ãããšãã§ããŸãã
ã¹ã³ã¢ãªã³ã°
ãã¹ã®æŠå¿µããã£ãŠæ¹ããŠããŒãžãè©äŸ¡ããã«ã¯ïŒãã¹ã®äžã§ã©ã®äœçœ®ã«åºçŸãããã«ãã£ãŠéã¿ãå€ããããšã«ãã£ãŠãã¹ã®äžã§ãéèŠåºŠãçºèŠã§ããŸãã
ãããã®åºæ¬KPIã§é·æçãªå€åãã¿ãªããïŒå¿çšKPIãåºãããšã«ãããã¹ã®å€åã§åºæ¬KPIãã©ã®ããã«å€ãããã®å€åãæããããšãã§ããããã«ãªããŸãã
ã€ã·ã¥ãŒããªãã³
æ¬åœã«çããåºãã¹ãåé¡ïŒãã€ã·ã¥ãŒããèŠæ¥µãã
仮説ããªãã³
ã»ãã¬ãŒã¯ããŠã³ã€ã·ã¥ãŒã解ãããšãããŸã§å°ããç ããããã«åºã¥ããŠã¹ããŒãªãŒã®æµããæŽçãã
ã»ãŽãŒã«ã®èšå®
ã¹ããŒãªãŒãæ€èšŒããããã«å¿ èŠãªã¢ãŠããããã®ã€ã¡ãŒãžãæããåæãèšèšããã
ã¢ãŠããããããªãã³
ã¹ããŒãªãŒã®éªšæ ŒãèžãŸãã€ã€ã段åãããæ€èšŒããã
ã¡ãã»ãŒãžããªãã³
è«æ ãšæ§é ã磚ãã€ã€ãå ±åæžãè«æããŸãšããã
çµå©èšå¿µæ¥ãã€èªçæ¥ããã®ã€ãã³ã
Implement a single startup script for launching the environment.
Document how developers should launch the environment and run some specific commands (e.g. start/stop application).
There should not be any dependency that developers have to install into their local machines (except for Docker and editors).
Developers can mount source code from their local machine to the environment so that they can write code using their favorite editors and have their code automatically sync into the environment.
Document how developers can mount source code from their local machine to the environment.
Thereâs at least one tool to debug the application. The tool should be robust and easy to use.
Document how developers should debug the application during development.
https://stackoverflow.com/questions/45744534/etcd-v3-cant-read-encoded-values
git clone https://github.com/jpbetz/auger
cd auger
make release
build/auger -h
controlplane $ kubectl run --namespace=default --image=nginx nginx2 -v8
I1206 08:07:49.583600 12349 loader.go:375] Config loaded from file: /root/.kube/config
I1206 08:07:49.592580 12349 request.go:1068] Request Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"nginx2","creationTimestamp":null,"labels":{"run":"nginx2"}},"spec":{"containers":[{"name":"nginx2","image":"nginx","resources":{}}],"restartPolicy":"Always","dnsPolicy":"ClusterFirst"},"status":{}}
I1206 08:07:49.592859 12349 round_trippers.go:420] POST https://172.17.0.34:6443/api/v1/namespaces/default/pods
I1206 08:07:49.593007 12349 round_trippers.go:427] Request Headers:
I1206 08:07:49.593142 12349 round_trippers.go:431] Accept: application/json, */*
I1206 08:07:49.593281 12349 round_trippers.go:431] Content-Type: application/json
I1206 08:07:49.593408 12349 round_trippers.go:431] User-Agent: kubectl/v1.18.0 (linux/amd64) kubernetes/9e99141
I1206 08:07:49.615734 12349 round_trippers.go:446] Response Status: 201 Created in 22 milliseconds
I1206 08:07:49.615917 12349 round_trippers.go:449] Response Headers:
I1206 08:07:49.616041 12349 round_trippers.go:452] Content-Type: application/json
I1206 08:07:49.616132 12349 round_trippers.go:452] Content-Length: 1735
I1206 08:07:49.616248 12349 round_trippers.go:452] Date: Mon, 06 Dec 2021 08:07:49 GMT
I1206 08:07:49.616461 12349 request.go:1068] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"nginx2","namespace":"default","selfLink":"/api/v1/namespaces/default/pods/nginx2","uid":"15d845e0-344e-48b9-b75b-896878781e97","resourceVersion":"3441","creationTimestamp":"2021-12-06T08:07:49Z","labels":{"run":"nginx2"},"managedFields":[{"manager":"kubectl","operation":"Update","apiVersion":"v1","time":"2021-12-06T08:07:49Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{".":{},"f:run":{}}},"f:spec":{"f:containers":{"k:{\"name\":\"nginx2\"}":{".":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{}}}}]},"spec":{"volumes":[{"name":"default-token-cz5f4","secret":{"secretName":"default-token-cz5f4","defaultMode":420}}],"containers":[{"name":"nginx2","image":"nginx","resources":{},"volumeMounts":[{"name":"default-token-cz5f4", [truncated 711 chars]
pod/nginx2 created
controlplane $
controlplane $ sudo ETCDCTL_API=3 etcdctl --cacert /etc/kubernetes/pki/etcd/ca.c/pki/apiserver-etcd-client.key get /registry/pods/default/nginx | build/auger decode
æœçã®èæ¯ã¯äœãïŒ
äœã課é¡ãªã®ãïŒ
ã©ã®ãããªæè¡ã§è§£æ±ºããã®ãïŒ
ã©ã®ã¡ããªã¯ã¹ãã©ããŸã§æ¹åããããšã§æåãšèšããã®ãïŒ
ã©ããªãšããã«èŠåŽããã®ãïŒïŒèŠåŽããããïŒïŒ
A declarative, efficient, and flexible JavaScript library for building user interfaces.
ð Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ððð
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google â€ïž Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.