ÄÁÅÙÃ÷»ó¼¼º¸±â

¿Ïº®ÇÑ IT ÀÎÇÁ¶ó ±¸ÃàÀÇ ÀÚµ¿È­¸¦ À§ÇÑ Kubernetes Äí¹ö³×Ƽ½º
¿Ïº®ÇÑ IT ÀÎÇÁ¶ó ±¸ÃàÀÇ ÀÚµ¿È­¸¦ À§ÇÑ Kubernetes Äí¹ö³×Ƽ½º
  • ÀúÀÚAsa Shiho Àú/Makabe Toru °¨¼ö/ÀÌ¿µ¶õ ¿ª
  • ÃâÆÇ»çÁ¤º¸¹®È­»ç
  • ÃâÆÇÀÏ2019-10-30
  • µî·ÏÀÏ2020-01-31
º¸À¯ 2, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 13, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

Azure¸¦ »ç¿ëÇÑ Äí¹ö³×Ƽ½ºÀÇ °³³ä Æľǰú ½ÇÀü ÀÀ¿ë

ÀÌ Ã¥Àº Äí¹ö³×Ƽ½º¸¦ óÀ½ »ç¿ëÇÏ´Â ¾÷¹« ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ ¹× µµÄ¿¿¡ ´ëÇÑ ±âÃÊ Áö½ÄÀÌ ÀÖ´Â ºÐÀ» ´ë»óÀ¸·Î ÄÁÅ×ÀÌ³Ê ¿ÀÄɽºÆ®·¹ÀÌ¼Ç ÅøÀÎ [Äí¹ö³×Ƽ½ºÀÇ ±¸Á¶]¿Í [±âº»ÀûÀÎ ±â´É°ú ³»ºÎ µ¿ÀÛ]À» ¼³¸íÇÑ Ã¥ÀÔ´Ï´Ù.

ÇÑÁ¤µÈ ½Ã°£ ¾È¿¡¼­ È¿À²ÀûÀ¸·Î ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï °¡´ÉÇÑ ÇÑ Ãß»óÀûÀÌ°í ³­ÇØÇÑ ¸»À» Áö¾çÇÏ°í, ±×¸²À̳ª ÀÏ·¯½ºÆ®¸¦ ³Ö¾î¼­ ÀÚ¼¼ÇÏ°í ¾Ë±â ½±°Ô ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ ½ÇÁ¦·Î ½Ã½ºÅÛ¿¡ µµÀÔÇÒ ¶§ °ËÅäÇØ¾ß ÇÏ´Â ½Ã½ºÅÛÀÇ °¡¿ë¼ºÀ̳ª È®À强, À¯Áöº¸¼ö¼º°ú °°ÀÌ ±âÃÊ°¡ µÇ´Â °³³äµµ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù.

ÀúÀÚ¼Ò°³

±ÝÀ¶°è¿­ ½ÌÅ©ÅÊÅ© µî¿¡¼­ ÀºÇà ¹× Áõ±Ç»ç¿ë ÀÎÇÁ¶ó ¿£Áö´Ï¾î, Á¦Á¶¾÷¿ë ÀÎÇÁ¶ó ¿£Áö´Ï¾î·Î ±Ù¹«Çß´Ù. µµ½ÃÀºÇà Á¤º¸ ±â¹Ý ½Ã½ºÅÛ ±¸Ãà ¹× ½Ã½ºÅÛ ÅëÆóÇÕ, Áõ±Çȸ»ç¿ë ¹é¿ÀÇǽº ½Ã½ºÅÛÀÇ °øÅë ±â¹Ý °³¹ß ¹× ÅëÇÕÀÎÁõ ±â¹Ý ±¸Ãà ÇÁ·ÎÁ§Æ®, ¼®À¯/LNG °øÀ堰Ǽ³À» Çϴ ¿£Áö´Ï¾î¸µ ±â¾÷ÀÇ ½Ã½ºÅÛ ±â¹Ý ±¸Ãà ÇÁ·ÎÁ§Æ® µîÀ» °æÇèÇß´Ù. Ãâ»êÀ¸·Î ÅðÁ÷ ÈÄ Linux³ª Å¬¶ó¿ìµå µîÀ» µ¶ÇÐÀ¸·Î °øºÎÇÏ¿© Ãʺ¸ÀÚ¿ë ±â¼ú¼­¸¦ ÁýÇÊÇßÀ¸¸ç, ÇöÀç´Â ÀϺ» ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÁÖ½Äȸ»ç¿¡¼­ ÆÄÆ®³Ê¿ë ¿µ¾÷È°µ¿°ú ±â¼úÁö¿ø µî¿¡ Á¾»çÇÏ°í ÀÖ´Ù. ÁÖ¿ä Àú¼­·Î´Â ¡º¿Ïº®ÇÑ IT ÀÎÇÁ¶ó ±¸ÃàÀ» À§ÇÑ Docker (2ÆÇ)¡» µîÀÌ ÀÖ´Ù.

¸ñÂ÷

Á¦1ºÎ µµÀÔÆí
CHAPTER 01 ÄÁÅ×À̳ʿ͠Äí¹ö³×Ƽ½º

1.1 ÄÁÅ×À̳ʠ±â¼úÀÇ °³¿ä
ÄÁÅ×À̳ʶõ?
ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼Ǡ°³¹ßÀÇ È帧
1.2 Äí¹ö³×Ƽ½ºÀÇ °³¿ä
ºÐ»ê È¯°æ¿¡¼­ ÄÁÅ×À̳ʠ¿î¿ë °ü¸®
Äí¹ö³×Ƽ½ºÀǠƯ¡
Äí¹ö³×Ƽ½ºÀÇ µµÀÔ
Äí¹ö³×Ƽ½ºÀÇ À¯½ºÄÉÀ̽º
1.3 Á¤¸®

CHAPTER 02 Äí¹ö³×Ƽ½ºÀǠȯ°æ ±¸Ãà
2.1 ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼Ǡ°³¹ßÀÇ È帧
Äí¹ö³×Ƽ½º¸¦ »ç¿ëÇÑ °³¹ß ¹× ¿î¿ëÀÇ È帧
AzureÀÇ Äí¹ö³×Ƽ½º °ü·Ã ¼­ºñ½º
2.2 °³¹ß È¯°æÀÇ Áغñ
Visual Studio Code ¼³Ä¡
Azure CLI ¸í·ÉÀÇ ¼³Ä¡
Kubectl ¸í·ÉÀÇ ¼³Ä¡
Azure Cloud Shell ÀÌ¿ë
2.3 ÄÁÅ×À̳ʠÀ̹ÌÁöÀÇ ºôµå¿Í °ø°³
Azure Container Registry
ACRÀ» »ç¿ëÇÑ ÄÁÅ×À̳ʠÀ̹ÌÁö ºôµå¿Í °øÀ¯
2.4 Azure¸¦ »ç¿ëÇÑ Äí¹ö³×Ƽ½º Å¬·¯½ºÅÍ ÀÛ¼º
AKS¸¦ »ç¿ëÇѠŬ·¯½ºÅÍ ±¸Ãà
kubectl ¸í·ÉÀ» »ç¿ëÇѠŬ·¯½ºÅÍÀÇ ±âº» Á¶ÀÛ
2.5 Á¤¸®

CHAPTER 03 Äí¹ö³×Ƽ½º¸¦ ¿òÁ÷¿©º¸ÀÚ
3.1 ¾ÖÇø®ÄÉÀ̼ÇÀÇ µðÇ÷ÎÀÌ
µðÇ÷ÎÀÌÀÇ ±âº» È帧
3.2 ¸Å´ÏÆ佺Ʈ ÆÄÀÏÀÇ ÀÛ¼º
ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼Ǡ¼³Á¤Çϱâ
¼­ºñ½º ¼³Á¤Çϱâ
3.3 Å¬·¯½ºÅÍ¿¡¼­ ¸®¼Ò½º ÀÛ¼º
¾ÖÇø®ÄÉÀ̼ǠµðÇ÷ÎÀÌÇϱâ
¼­ºñ½º °ø°³Çϱâ
3.4 ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛ È®ÀÎ
3.5 Á¤¸®


Á¦2ºÎ ±âº»Æí
CHAPTER 04 Äí¹ö³×Ƽ½ºÀÇ ¿äÁ¡

4.1 Äí¹ö³×Ƽ½ºÀÇ °³³ä
Immutable Infrastructure
¼±¾ðÀû ¼³Á¤
Àڱ⠺¹±¸ ±â´É
4.2 Äí¹ö³×Ƽ½ºÀÇ ±¸Á¶
½ºÄÉÁÙ¸µ°ú µð½ºÄ¿¹ö¸®
Äí¹ö³×Ƽ½ºÀÇ ¼­¹ö ±¸¼º
Äí¹ö³×Ƽ½ºÀÇ ÄÄÆ÷³ÍÆ®
Ŭ·¯½ºÅÍ¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ÀÎÁõ Á¤º¸
4.3 Äí¹ö³×Ƽ½ºÀÇ ¸®¼Ò½º
¾ÖÇø®ÄÉÀ̼Ǡ½ÇÇà(Pod/ReplicaSet/Deployment)
³×Æ®¿öÅ© °ü¸®(Service/Ingress)
¾ÖÇø®ÄÉÀ̼Ǡ¼³Á¤ Á¤º¸ °ü¸®(ConfigMap/Secrets)
¹èÄ¡ Àâ °ü¸®(Job/CronJob)
4.4 ¸Å´ÏÆ佺Ʈ ÆÄÀÏ
¸Å´ÏÆ佺Ʈ ÆÄÀÏÀÇ ±âº»
YAMLÀÇ ¹®¹ý
4.5 ¶óº§À» »ç¿ëÇÑ ¸®¼Ò½º °ü¸®
¶óº§(Label)
LabelSelector¸¦ »ç¿ëÇÑ ¸®¼Ò½º °Ë»ö
4.6 Äí¹ö³×Ƽ½ºÀÇ ¸®¼Ò½º ºÐ¸®
4.7 Á¤¸®

CHAPTER 05 ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà
5.1 Æ÷µå¸¦ »ç¿ëÇÑ ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ü¸®
Æ÷µå
¸Å´ÏÆ佺Ʈ ÆÄÀÏ
Æ÷µåÀÇ ÀÛ¼º, º¯°æ, »èÁ¦
Æ÷µåÀÇ µðÀÚÀΠÆÐÅÏ
5.2 Æ÷µåÀÇ ½ºÄÉÁÙ¸µ ±¸Á¶
Æ÷µå°¡ ¾î¶»°Ô ¹èÄ¡µÇ´Â°¡?
Æ÷µå¸¦ ¹èÄ¡Çϴ ³ëµå´Â ¾î¶»°Ô Á¤Çϴ°¡?
Æ÷µå¸¦ ¿òÁ÷À̴ ³ëµå¸¦ ¸í½ÃÀûÀ¸·Î ¼³Á¤Çϱâ
5.3 Æ÷µå¸¦ È¿À²ÀûÀ¸·Î ¿òÁ÷ÀÌÀÚ
³ëµåÀÇ CPU¿Í ¸Þ¸ð¸® ¸®¼Ò½º È®ÀÎÇϱâ
Æ÷µå¿¡ ÇÊ¿äÇÑ ¸Þ¸ð¸®¿Í CPU¸¦ ÇÒ´çÇϱâ
Æ÷µåÀÇ ¸Þ¸ð¸®¿Í CPUÀÇ »óÇÑ°ª ¼³Á¤Çϱâ
Æ÷µå¿¡ ¿À·ù°¡ ¹ß»ýÇϸ頾°Ô ¿òÁ÷À̴°¡?
Æ÷µåÀÇ ¿ì¼±¼øÀ§(QoS)
5.4 Æ÷µå¸¦ °¨½ÃÇÏÀÚ
ÄÁÅ×À̳ʠ¾ÖÇø®ÄÉÀ̼ÇÀÇ °¨½Ã
HTTP ¸®Äù½ºÆ®ÀÇ ¹Ýȯ°ªÀ» Ã¼Å©Çϱâ
TCP SocketÀ¸·Î ¿¬°áÇÒ ¼ö ÀÖ´ÂÁö Ã¼Å©Çϱâ
¸í·ÉÀÇ ½ÇÇà °á°ú¸¦ Ã¼Å©Çϱâ
5.5 ¸®Çø®Ä«¼ÂÀ¸·Î ¿©·¯ Æ÷µå¸¦ °ü¸®ÇÏÀÚ
¸®Çø®Ä«¼Â(ReplicaSet)
¸Å´ÏÆ佺Ʈ ÆÄÀÏ
¸®Çø®Ä«¼ÂÀÇ ÀÛ¼º, º¯°æ, »èÁ¦
Ŭ·¯½ºÅÍ ¾ÈÀÇ »óŸ¦ ¾î¶»°Ô Á¦¾îÇϴ°¡?
Æ÷µå Àå¾Ö°¡ ¹ß»ýÇϸ頾°Ô µÉ±î?
³ëµå Àå¾Ö°¡ ¹ß»ýÇϸé Æ÷µå´Â ¾î¶»°Ô µÉ±î?
5.6 ºÎÇÏ¿¡ µû¶ó Æ÷µåÀÇ ¼ö¸¦ ¹Ù²ã º¸ÀÚ
½ºÄÉÀÏ·¯ºô¸®Æ¼
Æ÷µå¸¦ ¼öµ¿À¸·Î ¼öÆò ½ºÄÉÀÏÇϱâ
Æ÷µå¸¦ ÀÚµ¿À¸·Î ¼öÆò ½ºÄÉÀÏÇϱâ
HPAÀÇ ±¸Á¶
5.7 Á¤¸®

CHAPTER 06 ¾ÖÇø®ÄÉÀ̼ǠµðÇ÷ÎÀÌ
6.1 µðÇ÷ÎÀ̸ÕÆ®¸¦ »ç¿ëÇÑ ¾ÖÇø®ÄÉÀ̼ǠµðÇ÷ÎÀÌ
¾ÖÇø®ÄÉÀ̼ÇÀÇ ¹öÀü¾÷ °³³ä
µðÇ÷ÎÀ̸ÕÆ®
¸Å´ÏÆ佺Ʈ ÆÄÀÏ
µðÇ÷ÎÀ̸ÕÆ® ÀÛ¼º, º¯°æ, »èÁ¦
6.2 µðÇ÷ÎÀ̸ÕÆ®ÀÇ ±¸Á¶
¾÷µ¥ÀÌÆ® Ã³¸® ¹æ½Ä
·Ñ¾Æ¿ô
·Ñ¹é
·Ñ¾Æ¿ô Á¶°Ç
·Ñ¸µ ¾÷µ¥ÀÌÆ® Á¦¾î
ºí·ç/±×¸° µðÇ÷ÎÀ̸ÕÆ®
6.3 ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤ Á¤º¸¸¦ °ü¸®ÇÏÀÚ
¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤ Á¤º¸ °ü¸®
ConfigMap °ª ÂüÁ¶
ºñ¹Ð¹øÈ£¿Í Å° °ü¸®
Secrets °ª ÂüÁ¶
6.4 Á¤¸®


Á¦3ºÎ ½ÇÀüÆí
CHAPTER 07 ¾ÆÅ°ÅØó¿Í ¼³°è ¿øÄ¢

7.1 Äí¹ö³×Ƽ½ºÀÇ ¾ÆÅ°ÅØó
ÀÎÇÁ¶ó½ºÆ®·°Ã³¿ÍÀÇ °ü°è
7.2 Äí¹ö³×Ƽ½ºÀÇ ¼³°è ¿øÄ¢
Reconciliation Loops¿Í ·¹º§ Æ®¸®°Å ·ÎÁ÷
APIÀÇ watch ¿É¼Ç
À̺¥Æ® Ã¼ÀÎ
7.3 ¼­ºñ½º¿Í Á¦Ç°ÀÇ ±¸Ãà
Äí¹ö³×Ƽ½º Conformance Partner
Äí¹ö³×Ƽ½º Å¬·¯½ºÅÍ¿¡ ÇÊ¿äÇÑ ÀÎÇÁ¶ó½ºÆ®·°Ã³
Äí¹ö³×Ƽ½º Å¬·¯½ºÅÍ ±¸Ãà¿¡ ÇÊ¿äÇÑ ÀÛ¾÷
AKSÀÇ ¾ÆÅ°ÅØó¿Í Cloud Controller Manager
7.4 Á¤¸®

CHAPTER 08 °¡¿ë¼º(Availability)
8.1 Äí¹ö³×Ƽ½ºÀÇ °¡¿ë¼º
¸¶½ºÅÍÀÇ °¡¿ë¼º(¸ðµÎ ¾×ƼºêÇÑ etcd¿Í API Server)
¸¶½ºÅÍÀÇ °¡¿ë¼º(¾×Ƽºê/½ºÅĹÙÀÌ ÄÄÆ÷³ÍÆ®)
³ëµåÀÇ °¡¿ë¼º
ºÐ»ê ¼ö¸¦ ¾î¶»°Ô ÇÒ±î? (¸¶½ºÅÍ)
ºÐ»ê ¼ö¸¦ ¾î¶»°Ô ÇÒ±î? (³ëµå)
8.2 ÀÎÇÁ¶ó½ºÆ®·°Ã³ÀÇ ½ÃÁ¡
Blast Radius(Æø¹ß ¹Ý°æ)
¼ÒÇÁÆ®¿þ¾îÀûÀΠBlast Radius
¹èÄ¡ ¿¹
¹°¸® ¼­¹ö¸¦ ÀǽÄÇÑ ¹èÄ¡
·¢À» ÀǽÄÇÑ ¹èÄ¡
µ¥ÀÌÅÍ ¼¾Å͸¦ ÀǽÄÇÑ ¹èÄ¡
±¤¿ª ÀçÇظ¦ ÀǽÄÇÑ ¹èÄ¡
AKSÀÇ ±¸Ãà ¿¹
8.3 Á¤¸®

CHAPTER 09 È®À强(Scalability)
9.1 Äí¹ö³×Ƽ½º ³ëµåÀÇ ¼öÆò ÀÚµ¿ ½ºÄÉÀÏ
Cluster Autoscaler
9.2 AKS¿¡ À־ Cluster Autoscaler
Pending »óŸ¦ ¸¸µé¾î ³½´Ù
Cluster AutoscalerÀÇ µµÀÔ
³ëµå ½ºÄÉÀÏ ¾Æ¿ô
³ëµå ¼öÀÇ »óÇÑ, ÇÏÇÑ ¼³Á¤
³ëµå ½ºÄÉÀÏ ÀÎ
ÀÎÇÁ¶ó½ºÆ®·°Ã³ Á¶ÀÛ ±ÇÇÑ ¹× ½ÃÅ©¸´ °ü¸®
9.3 ±âŸ ÀÚµ¿ ½ºÄÉÀÏ
HPA¿Í Cluster AutoscalerÀÇ ¿¬µ¿
Äí¹ö³×Ƽ½º ¿ÜºÎÀÇ ¸ÞÆ®¸¯À» »ç¿ëÇÑ ÀÚµ¿ ½ºÄÉÀÏ
9.4 Á¤¸®

CHAPTER 10 À¯Áöº¸¼ö¼º(Manageability)
10.1 Äí¹ö³×Ƽ½º ¿î¿ë¿¡¼­ ÇÊ¿äÇÑ ¾÷µ¥ÀÌÆ® ¹× ¾÷±×·¹À̵å ÀÛ¾÷
10.2 ¼­¹ö ¾÷µ¥ÀÌÆ®
³ëµå Àç½ÃÀÛÀÇ ¿µÇâÀ» ÃÖ¼ÒÇÑÀ¸·Î Çϴ ÀåÄ¡
Cordon/Uncordon
Drain
PodDisruptionBudget
³ëµå Àç½ÃÀÛÀ» ÀÚµ¿À¸·Î ¼öÇàÇÏ·Á¸é
10.3 Äí¹ö³×Ƽ½º ÄÄÆ÷³ÍÆ® ¾÷µ¥ÀÌÆ®
kubeadmÀ» »ç¿ëÇÑ ¿¹(v1.10 -> v1.11)
¾÷±×·¹À̵å Àü·«(ÀÎÇ÷¹À̽º)
¾÷±×·¹À̵å Àü·«(ºí·ç/±×¸° µðÇ÷ÎÀ̸ÕÆ®)
10.4 Á¤¸®

CHAPTER 11 ¸®¼Ò½º ºÐ¸®(Security)
11.1 Äí¹ö³×Ƽ½º ¸®¼Ò½ºÀÇ ºÐ¸® ´ÜÀ§
»ç¶÷°ú Á¶Á÷, Ã¥ÀÓ ¹üÀ§
Ŭ·¯½ºÅÍ ºÐ¸®ÀÇ Àå´ÜÁ¡
11.2 ³×ÀÓ½ºÆäÀ̽º¸¦ »ç¿ëÇÑ ºÐ¸®
³×ÀÓ½ºÆäÀ̽º Á¤¸®
11.3 Äí¹ö³×Ƽ½ºÀÇ °èÁ¤
»ç¿ëÀÚ °èÁ¤(User Account)
¼­ºñ½º °èÁ¤(Service Account)
11.4 Äí¹ö³×Ƽ½ºÀÇ ÀÎÁõ°ú Àΰ¡
ÀÎÁõ
Àΰ¡
Admission Control
11.5 RBAC(Role Based Access Control)
¸®¼Ò½º Ç¥Çö°ú Á¶ÀÛ
Role°ú RoleBinding
»ç¿ëÀÚ¿Í RoleÀÇ ¿¬°á
¼­ºñ½º °èÁ¤°ú RoleÀÇ ¿¬°á
11.6 ¸®¼Ò½º ÀÌ¿ë·®ÀÇ Á¦ÇÑ
LimitRange
ResourceQuota
¼¼ °¡Áö »óÇÑ ¼³Á¤ ±â´ÉÀÇ ±¸ºÐ
11.7 Á¤¸®

CHAPTER 12 °üÃø°¡´É¼º(Observability)
12.1 °üÃø°¡´É¼ºÀ̶õ
¿ë¾îÀǠź»ý ¹è°æ
Äí¹ö³×Ƽ½º È¯°æÀÇ °üÃø°¡´É¼º
12.2 °üÃø ´ë»ó°ú ¹æ¹ý
¸ÞÆ®¸¯
·Î±×
ºÐ»ê Æ®·¹À̽Ì
12.3 ´ëÇ¥ÀûÀΠ¼ÒÇÁÆ®¿þ¾î¿Í ¼­ºñ½º
12.4 AKSÀÇ ¸ÞÆ®¸¯ ¼öÁý°ú °¡½ÃÈ­, ·Î±× ºÐ¼®
Azure Monitor
Azure Monitor for Containers
Azure Log Analytics
12.5 Á¤¸®


APPENDIX ¸í·É ·¹ÆÛ·±½º
A.1 kubectl ¸í·É
A.2 Azure CLI ¸í·É

ÇÑÁÙ ¼­Æò