- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > °³¹ß¹æ¹ý·Ð > ½ÃÀÛÇϼ¼¿ä! µµÄ¿/Äí¹ö³×Ƽ½º(½ÃÀÛÇϼ¼¿ä!)(°³Á¤ÆÇ)(À§Å°ºÏ½º ½Ã½ºÅÛ & ³×Æ®¿öÅ© ½Ã¸®Áî 9)[À§Å°ºÏ½º]
µµÄ¿ ÄÁÅ×À̳ʴ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷Çϱâ À§ÇÑ »õ·Î¿î Æз¯´ÙÀÓÀ» Á¦½ÃÇÏ´Â °¡»óÈ Æз¯´ÙÀÓÀÔ´Ï´Ù. ÄÁÅ×ÀÌ³Ê ÀÚü´Â »ç¿ëÇÏ±â ¸Å¿ì ½±Áö¸¸ À̸¦ È°¿ëÇÏ°í °ü¸®Çϱâ´Â °áÄÚ ½±Áö ¾Ê½À´Ï´Ù. ÀÌ Ã¥Àº µµÄ¿¸¦ óÀ½ Á¢ÇÏ´Â °³¹ßÀÚ¸¦ À§ÇÑ µµÄ¿ ÄÁÅ×ÀÌ³Ê¿Í À̹ÌÁöÀÇ ±âº»ÀûÀÎ °³³äÀ» ¸ÕÀú ¼³¸íÇÑ µÚ, µµÄ¿ ÄÄÆ÷Áî¿Í ½º¿ú ¸ðµå¸¦ ÅëÇØ ÄÁÅ×ÀÌ³Ê ¾ÖÇø®ÄÉÀ̼ÇÀ» YAML ÆÄÀÏ·Î ÀÛ¼ºÇÏ°í Ŭ·¯½ºÅÍ¿¡¼ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. ³ª¾Æ°¡ µµÄ¿ ÄÁÅ×À̳Ê, µµÄ¿ ÄÄÆ÷Áî, ½º¿ú ¸ðµå¿¡¼ ÇнÀÇÑ Áö½ÄÀ» È°¿ëÇØ Äí¹ö³×Ƽ½ºÀÇ ±âÃÊ »ç¿ë¹ý, ´Ù¾çÇÑ Äí¹ö³×Ƽ½º ¿ÀºêÁ§Æ®ÀÇ »ç¿ë ¹æ¹ý ¹× ½ÉÈ °³³ä±îÁö ¾Ë¾Æº¾´Ï´Ù.
°³Á¤ÆÇ¿¡¼´Â µµÄ¿¿Í Äí¹ö³×Ƽ½ºÀÇ ¼³Ä¡ ¹× »ç¿ë ¹æ¹ýÀ» ÃֽŠ¹öÀü¿¡ ¸Â°Ô ¼öÁ¤ÇÏ¿´À¸¸ç, ½ÉÈµÈ Äí¹ö³×Ƽ½º »ç¿ë ¹æ¹ý ¹× Ŭ¶ó¿ìµå »ýÅ°迡 ´ëÇÑ ¼³¸íÀ» °ÈÇß½À´Ï´Ù. ¶Ç Äí¹ö³×Ƽ½º ȯ°æ¿¡¼ ¸ð´ÏÅ͸µ ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ ÇÁ·Î¸ÞÅ׿콺 ±â¹ÝÀÇ Äí¹ö³×Ƽ½º ¸ÞÆ®¸¯ ¼öÁý ¹æ¹ý, metrics-server µî°ú °°Àº ¿ÀǼҽº ¸ð´ÏÅ͸µ µµ±¸ÀÇ ±âÃÊÀûÀÎ »ç¿ë ¹æ¹ýµµ ÇÔ²² ´Ù·ì´Ï´Ù.
°³Á¤ÆÇ¿¡¼´Â µµÄ¿¿Í Äí¹ö³×Ƽ½ºÀÇ ¼³Ä¡ ¹× »ç¿ë ¹æ¹ýÀ» ÃֽŠ¹öÀü¿¡ ¸Â°Ô ¼öÁ¤ÇÏ¿´À¸¸ç, ½ÉÈµÈ Äí¹ö³×Ƽ½º »ç¿ë ¹æ¹ý ¹× Ŭ¶ó¿ìµå »ýÅ°迡 ´ëÇÑ ¼³¸íÀ» °ÈÇß½À´Ï´Ù. ¶Ç Äí¹ö³×Ƽ½º ȯ°æ¿¡¼ ¸ð´ÏÅ͸µ ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ ÇÁ·Î¸ÞÅ׿콺 ±â¹ÝÀÇ Äí¹ö³×Ƽ½º ¸ÞÆ®¸¯ ¼öÁý ¹æ¹ý, metrics-server µî°ú °°Àº ¿ÀǼҽº ¸ð´ÏÅ͸µ µµ±¸ÀÇ ±âÃÊÀûÀÎ »ç¿ë ¹æ¹ýµµ ÇÔ²² ´Ù·ì´Ï´Ù.
ÀúÀÚ: ¿ëÂùÈ£
¢Ã 01Àå: µµÄ¿¶õ?
1.1 °¡»ó ¸Ó½Å°ú µµÄ¿ ÄÁÅ×À̳Ê
1.2 µµÄ¿¸¦ ½ÃÀÛÇØ¾ß ÇÏ´Â ÀÌÀ¯
____1.2.1 ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ß°ú ¹èÆ÷°¡ ÆíÇØÁý´Ï´Ù.
____1.2.2 ¿©·¯ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¶¸³¼º°ú È®À强ÀÌ ³ô¾ÆÁý´Ï´Ù.
1.3 µµÄ¿ ¿£Áø ¼³Ä¡
____1.3.1 µµÄ¿ ¿£ÁøÀÇ Á¾·ù ¹× ¹öÀü
____1.3.2 ¸®´ª½º µµÄ¿ ¿£Áø ¼³Ä¡
____1.3.3 À©µµ¿ì, ¸Æ OS¿¡ µµÄ¿ ¼³Ä¡
____1.3.4 Docker Toolbox¿Í Docker for Windows/MacÀÇ Â÷ÀÌÁ¡
____1.3.5 ¸®´ª½º ȯ°æ¿¡ µµÄ¿ ¸¶·ÃÇϱâ
¢Ã 02Àå: µµÄ¿ ¿£Áø
2.1 µµÄ¿ À̹ÌÁö¿Í ÄÁÅ×À̳Ê
____2.1.1 µµÄ¿ À̹ÌÁö
____2.1.2 µµÄ¿ ÄÁÅ×À̳Ê
2.2 µµÄ¿ ÄÁÅ×ÀÌ³Ê ´Ù·ç±â
____2.2.1 ÄÁÅ×ÀÌ³Ê »ý¼º
____2.2.2 ÄÁÅ×ÀÌ³Ê ¸ñ·Ï È®ÀÎ
____2.2.3 ÄÁÅ×ÀÌ³Ê »èÁ¦
____2.2.4 ÄÁÅ×À̳ʸ¦ ¿ÜºÎ¿¡ ³ëÃâ
____2.2.5 ÄÁÅ×ÀÌ³Ê ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà
____2.2.6 µµÄ¿ º¼·ý
____2.2.7 µµÄ¿ ³×Æ®¿öÅ©
____2.2.8 ÄÁÅ×ÀÌ³Ê ·Î±ë
____2.2.9 ÄÁÅ×ÀÌ³Ê ÀÚ¿ø ÇÒ´ç Á¦ÇÑ
2.3 µµÄ¿ À̹ÌÁö
____2.3.1 µµÄ¿ À̹ÌÁö »ý¼º
____2.3.2 À̹ÌÁö ±¸Á¶ ÀÌÇØ
____2.3.3 À̹ÌÁö ÃßÃâ
____2.3.4 À̹ÌÁö ¹èÆ÷
2.4 Dockerfile
____2.4.1 À̹ÌÁö¸¦ »ý¼ºÇÏ´Â ¹æ¹ý
____2.4.2 Dockerfile ÀÛ¼º
____2.4.3 Dockerfile ºôµå
____2.4.4 ±âŸ Dockerfile ¸í·É¾î
____2.4.5 Dockerfile·Î ºôµåÇÒ ¶§ ÁÖÀÇÇÒ Á¡
2.5 µµÄ¿ µ¥¸ó
____2.5.1 µµÄ¿ÀÇ ±¸Á¶
____2.5.2 µµÄ¿ µ¥¸ó ½ÇÇà
____2.5.3 µµÄ¿ µ¥¸ó ¼³Á¤
____2.5.4 µµÄ¿ µ¥¸ó ¸ð´ÏÅ͸µ
____2.5.5 Remote API ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ µµÄ¿ »ç¿ë
¢Ã 03Àå: µµÄ¿ ½º¿ú
3.1 µµÄ¿ ½º¿úÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
3.2 ½º¿ú Ŭ·¡½Ä°ú µµÄ¿ ½º¿ú ¸ðµå
3.3 ½º¿ú ¸ðµå
____3.3.1 µµÄ¿ ½º¿ú ¸ðµåÀÇ ±¸Á¶
____3.3.2 µµÄ¿ ½º¿ú ¸ðµå Ŭ·¯½ºÅÍ ±¸Ãà
____3.3.3 ½º¿ú ¸ðµå ¼ºñ½º
____3.3.4 µµÄ¿ ½º¿ú ¸ðµå ³ëµå ´Ù·ç±â
¢Ã 04Àå: µµÄ¿ ÄÄÆ÷Áî
4.1 µµÄ¿ ÄÄÆ÷Á »ç¿ëÇÏ´Â ÀÌÀ¯
4.2 µµÄ¿ ÄÄÆ÷Áî ¼³Ä¡
4.3 µµÄ¿ ÄÄÆ÷Áî »ç¿ë
____4.3.1 µµÄ¿ ÄÄÆ÷Áî ±âº» »ç¿ë¹ý
____4.3.2 µµÄ¿ ÄÄÆ÷Áî È°¿ë
4.4 µµÄ¿ ÇнÀÀ» ¸¶Ä¡¸ç: µµÄ¿¿Í ÄÁÅ×ÀÌ³Ê »ýÅ°è
¢Ã 05Àå: Äí¹ö³×Ƽ½º ¼³Ä¡
5.1 Äí¹ö³×Ƽ½º ¼³Ä¡ ȯ°æÀÇ Á¾·ù
5.2 Äí¹ö³×Ƽ½º ¹öÀü ¼±ÅÃ
5.3 °³¹ß ¿ëµµÀÇ Äí¹ö³×Ƽ½º ¼³Ä¡
____5.3.1 Docker for Mac / Windows¿¡¼ Äí¹ö³×Ƽ½º »ç¿ë
____5.3.2 Minikube·Î Äí¹ö³×Ƽ½º ¼³Ä¡
5.4 ¿©·¯ ¼¹ö·Î ±¸¼ºµÈ Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ¼³Ä¡
____5.4.1 kubeadmÀ¸·Î Äí¹ö³×Ƽ½º ¼³Ä¡
____5.4.2 kops·Î AWS¿¡¼ Äí¹ö³×Ƽ½º ¼³Ä¡
____5.4.3 ±¸±Û Ŭ¶ó¿ìµå Ç÷§ÆûÀÇ GKE·Î Äí¹ö³×Ƽ½º »ç¿ëÇϱâ
¢Ã 06Àå: Äí¹ö³×Ƽ½º ½ÃÀÛÇϱâ
6.1 Äí¹ö³×Ƽ½º¸¦ ½ÃÀÛÇϱâ Àü¿¡
6.2 Æ÷µå(Pod) : ÄÁÅ×À̳ʸ¦ ´Ù·ç´Â ±âº» ´ÜÀ§
____6.2.1 Æ÷µå »ç¿ëÇϱâ
____6.2.2 Æ÷µå vs. µµÄ¿ ÄÁÅ×À̳Ê
____6.2.3 ¿ÏÀüÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î¼ÀÇ Æ÷µå
6.3 ·¹Çø®Ä«¼Â(Replica Set) : ÀÏÁ¤ °³¼öÀÇ Æ÷µå¸¦ À¯ÁöÇÏ´Â ÄÁÆ®·Ñ·¯
____6.3.1 ·¹Çø®Ä«¼ÂÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
____6.3.2 ·¹Çø®Ä«¼Â »ç¿ëÇϱâ
____6.3.3 ·¹Çø®Ä«¼ÂÀÇ µ¿ÀÛ ¿ø¸®
____6.3.4 ·¹Çø®ÄÉÀÌ¼Ç ÄÁÆ®·Ñ·¯ vs. ·¹Çø®Ä«¼Â
6.4 µðÇ÷ÎÀ̸ÕÆ®(Deployment) : ·¹Çø®Ä«¼Â, Æ÷µåÀÇ ¹èÆ÷¸¦ °ü¸®
____6.4.1 µðÇ÷ÎÀ̸ÕÆ® »ç¿ëÇϱâ
____6.4.2 µðÇ÷ÎÀ̸ÕÆ®¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
6.5 ¼ºñ½º(Service) : Æ÷µå¸¦ ¿¬°áÇÏ°í ¿ÜºÎ¿¡ ³ëÃâ
____6.5.1 ¼ºñ½º(Service)ÀÇ Á¾·ù
____6.5.2 ClusterIP ŸÀÔÀÇ ¼ºñ½º - Äí¹ö³×Ƽ½º ³»ºÎ¿¡¼¸¸ Æ÷µå¿¡ Á¢±ÙÇϱâ
____6.5.3 NodePort ŸÀÔÀÇ ¼ºñ½º - ¼ºñ½º¸¦ ÀÌ¿ëÇØ Æ÷µå¸¦ ¿ÜºÎ¿¡ ³ëÃâÇϱâ
____6.5.4 Ŭ¶ó¿ìµå Ç÷§ÆûÀÇ ·Îµå ¹ë·±¼¿Í ¿¬µ¿Çϱâ - LoadBalancer ŸÀÔÀÇ ¼ºñ½º
____6.5.5 Æ®·¡ÇÈÀÇ ºÐ¹è¸¦ °áÁ¤ÇÏ´Â ¼ºñ½º ¼Ó¼º - externalTrafficPolicy
____6.5.6 ¿äûÀ» ¿ÜºÎ·Î ¸®´ÙÀÌ·ºÆ®ÇÏ´Â ¼ºñ½º - ExternalName
¢Ã 07Àå: Äí¹ö³×Ƽ½º ¸®¼Ò½ºÀÇ °ü¸®¿Í ¼³Á¤
7.1 ³×ÀÓ½ºÆäÀ̽º(Namespace) : ¸®¼Ò½º¸¦ ³í¸®ÀûÀ¸·Î ±¸ºÐÇÏ´Â À庮
7.2 ÄÁÇDZ׸Ê(Configmap), ½ÃÅ©¸´(Secret) : ¼³Á¤°ªÀ» Æ÷µå¿¡ Àü´Þ
____7.2.1 ÄÁÇDZ׸Ê(Configmap)
____7.2.2 ½ÃÅ©¸´(Secret)
¢Ã 08Àå: Àα׷¹½º(Ingress)
8.1 Àα׷¹½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
8.2 Àα׷¹½ºÀÇ ±¸Á¶
8.3 Àα׷¹½ºÀÇ ¼¼ºÎ ±â´É : annotationÀ» ÀÌ¿ëÇÑ ¼³Á¤
8.4 Nginx Àα׷¹½º ÄÁÆ®·Ñ·¯¿¡ SSL/TLS º¸¾È ¿¬°á Àû¿ë
8.5 ¿©·¯ °³ÀÇ Àα׷¹½º ÄÁÆ®·Ñ·¯ »ç¿ëÇϱâ
¢Ã 09Àå: Æ۽ýºÅÏÆ® º¼·ý(PV)°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓ(PVC)
9.1 ·ÎÄà º¼·ý : hostPath, emptyDir
____9.1.1 ¿öÄ¿ ³ëµåÀÇ ·ÎÄà µð·ºÅ͸®¸¦ º¼·ýÀ¸·Î »ç¿ë : hostPath
____9.1.2 Æ÷µå ³»ÀÇ ÄÁÅ×ÀÌ³Ê °£ Àӽà µ¥ÀÌÅÍ °øÀ¯ : emptyDir
9.2 ³×Æ®¿öÅ© º¼·ý
9.3 PV, PVC¸¦ ÀÌ¿ëÇÑ º¼·ý °ü¸®
____9.3.1 Æ۽ýºÅÏÆ® º¼·ý°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
____9.3.2 Æ۽ýºÅÏÆ® º¼·ý°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓ »ç¿ëÇϱâ
____9.3.3 Æ۽ýºÅÏÆ® º¼·ýÀ» ¼±ÅÃÇϱâ À§ÇÑ Á¶°Ç ¸í½Ã
____9.3.4 Æ۽ýºÅÏÆ® º¼·ýÀÇ ¶óÀÌÇÁ»çÀÌŬ°ú Reclaim Policy
____9.3.5 StorageClass¿Í Dynamic Provisioning
¢Ã 10Àå: º¸¾ÈÀ» À§ÇÑ ÀÎÁõ°ú Àΰ¡ - ServiceAccount¿Í RBAC
10.1 Äí¹ö³×Ƽ½ºÀÇ ±ÇÇÑ ÀÎÁõ °úÁ¤
10.2 ¼ºñ½º ¾îÄ«¿îÆ®¿Í ·Ñ(Role), Ŭ·¯½ºÅÍ ·Ñ(Cluster Role)
10.3 Äí¹ö³×Ƽ½º API ¼¹ö¿¡ Á¢±Ù
____10.3.1 ¼ºñ½º ¾îÄ«¿îÆ®ÀÇ ½ÃÅ©¸´À» ÀÌ¿ëÇØ Äí¹ö³×Ƽ½º API ¼¹ö¿¡ Á¢±Ù
____10.3.2 Ŭ·¯½ºÅÍ ³»ºÎ¿¡¼ kubernetes ¼ºñ½º¸¦ ÅëÇØ API ¼¹ö¿¡ Á¢±Ù
____10.3.3 Äí¹ö³×Ƽ½º SDK¸¦ ÀÌ¿ëÇØ Æ÷µå ³»ºÎ¿¡¼ API ¼¹ö¿¡ Á¢±Ù
10.4 ¼ºñ½º ¾îÄ«¿îÆ®¿¡ À̹ÌÁö ·¹Áö½ºÆ®¸® Á¢±ÙÀ» À§ÇÑ ½ÃÅ©¸´ ¼³Á¤
10.5 kubeconfig ÆÄÀÏ¿¡ ¼ºñ½º ¾îÄ«¿îÆ® ÀÎÁõ Á¤º¸ ¼³Á¤
10.6 À¯Àú(User)¿Í ±×·ì(Group)ÀÇ °³³ä
10.7 x509 ÀÎÁõ¼¸¦ ÀÌ¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
¢Ã 11Àå: ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷¸¦ À§ÇÑ °í±Þ ¼³Á¤
11.1 Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑ
____11.1.1 ÄÁÅ×ÀÌ³Ê¿Í Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑ : Limit
____11.1.2 ÄÁÅ×ÀÌ³Ê¿Í Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑÇϱâ : Request
____11.1.3 CPU ÀÚ¿ø »ç¿ë·®ÀÇ Á¦ÇÑ ¿ø¸®
____11.1.4 QoS Ŭ·¡½º¿Í ¸Þ¸ð¸® ÀÚ¿ø »ç¿ë·® Á¦ÇÑ ¿ø¸®
____11.1.5 ResourceQuota¿Í LimitRanger
____11.1.6 ResourceQuota, LimitRangerÀÇ ¿ø¸® : Admission Controller
11.2 Äí¹ö³×Ƽ½º ½ºÄÉÁÙ¸µ
____11.2.1 Æ÷µå°¡ ½ÇÁ¦·Î ³ëµå¿¡ »ý¼ºµÇ±â±îÁöÀÇ °úÁ¤
____11.2.2 Æ÷µå°¡ »ý¼ºµÉ ³ëµå¸¦ ¼±ÅÃÇÏ´Â ½ºÄÉÁÙ¸µ °úÁ¤
____11.2.3 NodeSelector¿Í Node Affinity, Pod Affinity
____11.2.4 Taints¿Í Tolerations »ç¿ëÇϱâ
____11.2.5 Cordon, Drain ¹× PodDistributionBudget
____11.2.6 Ä¿½ºÅÒ ½ºÄÉÁÙ·¯ ¹× ½ºÄÉÁÙ·¯ È®Àå
11.3 Äí¹ö³×Ƽ½º ¾ÖÇø®ÄÉÀÌ¼Ç »óÅÂ¿Í ¹èÆ÷
____11.3.1 µðÇ÷ÎÀ̸ÕÆ®¸¦ ÅëÇØ ·Ñ¸µ ¾÷µ¥ÀÌÆ®
____11.3.2 Æ÷µåÀÇ »ý¾Ö ÁÖ±â(Lifecycle)
____11.3.3 HPA¸¦ È°¿ëÇÑ ¿ÀÅ佺ÄÉÀϸµ
¢Ã 12Àå: Ä¿½ºÅÒ ¸®¼Ò½º¿Í ÄÁÆ®·Ñ·¯
12.1 Äí¹ö³×Ƽ½º ÄÁÆ®·Ñ·¯ÀÇ °³³ä°ú µ¿ÀÛ ¹æ½Ä
12.2 Ä¿½ºÅÒ ¸®¼Ò½º¿¡ ´ëÇÑ °³³ä
12.3 Ä¿½ºÅÒ ¸®¼Ò½º¸¦ Á¤ÀÇÇϱâ À§ÇÑ CRD(Custom Resource Definition)
12.4 Ä¿½ºÅÒ ¸®¼Ò½º¿Í ÄÁÆ®·Ñ·¯
¢Ã 13Àå: Æ÷µå¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ¿ÀºêÁ§Æ®µé
13.1 Àâ(Jobs)
13.2 µ¥¸ó¼Â(DaemonSets)
13.3 ½ºÅ×ÀÌƮǮ¼Â(StatefulSets)
¢Ã 14Àå: Äí¹ö³×Ƽ½º ¸ð´ÏÅ͸µ
14.1 ¸ð´ÏÅ͸µ ±âº» ±¸Á¶
14.2 ¸ð´ÏÅ͸µ ¸ÞÆ®¸¯ÀÇ ºÐ·ù
14.3 Äí¹ö³×Ƽ½º ¸ð´ÏÅ͸µ ±âÃÊ
____14.3.1 metrics-server
____14.3.2 metrics-server µ¿ÀÛ ¿ø¸®: APIService ¸®¼Ò½º
____14.3.3 kube-state-metrics
____14.3.4 node-exporter
14.4 ÇÁ·Î¸ÞÅ׿콺¸¦ È°¿ëÇÑ ¸ÞÆ®¸¯ ¼öÁý
____14.4.1 ÇÁ·Î¸ÞÅ׿콺 ¼³Ä¡
____14.4.2 ÇÁ·Î¸ÞÅ׿콺·Î ¸ÞÆ®¸¯ ¼öÁýÇϱâ
____14.4.3 ±×¶óÆijª·Î ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ½Ã°¢ÈÇϱâ
¢Ã ºÎ·Ï
ºÎ·ÏA: µµÄ¿ µ¥¸ó ½ÃÀÛ ¿É¼Ç º¯°æÇϱâ
ºÎ·ÏB: ƯÁ¤ ¹öÀüÀÇ µµÄ¿ ¼³Ä¡Çϱâ
ºÎ·ÏC: gcloud ¸í·É¾î ¼³Ä¡Çϱâ
ºÎ·ÏD: AWS CLI ¼³Ä¡Çϱâ
1.1 °¡»ó ¸Ó½Å°ú µµÄ¿ ÄÁÅ×À̳Ê
1.2 µµÄ¿¸¦ ½ÃÀÛÇØ¾ß ÇÏ´Â ÀÌÀ¯
____1.2.1 ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ß°ú ¹èÆ÷°¡ ÆíÇØÁý´Ï´Ù.
____1.2.2 ¿©·¯ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¶¸³¼º°ú È®À强ÀÌ ³ô¾ÆÁý´Ï´Ù.
1.3 µµÄ¿ ¿£Áø ¼³Ä¡
____1.3.1 µµÄ¿ ¿£ÁøÀÇ Á¾·ù ¹× ¹öÀü
____1.3.2 ¸®´ª½º µµÄ¿ ¿£Áø ¼³Ä¡
____1.3.3 À©µµ¿ì, ¸Æ OS¿¡ µµÄ¿ ¼³Ä¡
____1.3.4 Docker Toolbox¿Í Docker for Windows/MacÀÇ Â÷ÀÌÁ¡
____1.3.5 ¸®´ª½º ȯ°æ¿¡ µµÄ¿ ¸¶·ÃÇϱâ
¢Ã 02Àå: µµÄ¿ ¿£Áø
2.1 µµÄ¿ À̹ÌÁö¿Í ÄÁÅ×À̳Ê
____2.1.1 µµÄ¿ À̹ÌÁö
____2.1.2 µµÄ¿ ÄÁÅ×À̳Ê
2.2 µµÄ¿ ÄÁÅ×ÀÌ³Ê ´Ù·ç±â
____2.2.1 ÄÁÅ×ÀÌ³Ê »ý¼º
____2.2.2 ÄÁÅ×ÀÌ³Ê ¸ñ·Ï È®ÀÎ
____2.2.3 ÄÁÅ×ÀÌ³Ê »èÁ¦
____2.2.4 ÄÁÅ×À̳ʸ¦ ¿ÜºÎ¿¡ ³ëÃâ
____2.2.5 ÄÁÅ×ÀÌ³Ê ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà
____2.2.6 µµÄ¿ º¼·ý
____2.2.7 µµÄ¿ ³×Æ®¿öÅ©
____2.2.8 ÄÁÅ×ÀÌ³Ê ·Î±ë
____2.2.9 ÄÁÅ×ÀÌ³Ê ÀÚ¿ø ÇÒ´ç Á¦ÇÑ
2.3 µµÄ¿ À̹ÌÁö
____2.3.1 µµÄ¿ À̹ÌÁö »ý¼º
____2.3.2 À̹ÌÁö ±¸Á¶ ÀÌÇØ
____2.3.3 À̹ÌÁö ÃßÃâ
____2.3.4 À̹ÌÁö ¹èÆ÷
2.4 Dockerfile
____2.4.1 À̹ÌÁö¸¦ »ý¼ºÇÏ´Â ¹æ¹ý
____2.4.2 Dockerfile ÀÛ¼º
____2.4.3 Dockerfile ºôµå
____2.4.4 ±âŸ Dockerfile ¸í·É¾î
____2.4.5 Dockerfile·Î ºôµåÇÒ ¶§ ÁÖÀÇÇÒ Á¡
2.5 µµÄ¿ µ¥¸ó
____2.5.1 µµÄ¿ÀÇ ±¸Á¶
____2.5.2 µµÄ¿ µ¥¸ó ½ÇÇà
____2.5.3 µµÄ¿ µ¥¸ó ¼³Á¤
____2.5.4 µµÄ¿ µ¥¸ó ¸ð´ÏÅ͸µ
____2.5.5 Remote API ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ µµÄ¿ »ç¿ë
¢Ã 03Àå: µµÄ¿ ½º¿ú
3.1 µµÄ¿ ½º¿úÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
3.2 ½º¿ú Ŭ·¡½Ä°ú µµÄ¿ ½º¿ú ¸ðµå
3.3 ½º¿ú ¸ðµå
____3.3.1 µµÄ¿ ½º¿ú ¸ðµåÀÇ ±¸Á¶
____3.3.2 µµÄ¿ ½º¿ú ¸ðµå Ŭ·¯½ºÅÍ ±¸Ãà
____3.3.3 ½º¿ú ¸ðµå ¼ºñ½º
____3.3.4 µµÄ¿ ½º¿ú ¸ðµå ³ëµå ´Ù·ç±â
¢Ã 04Àå: µµÄ¿ ÄÄÆ÷Áî
4.1 µµÄ¿ ÄÄÆ÷Á »ç¿ëÇÏ´Â ÀÌÀ¯
4.2 µµÄ¿ ÄÄÆ÷Áî ¼³Ä¡
4.3 µµÄ¿ ÄÄÆ÷Áî »ç¿ë
____4.3.1 µµÄ¿ ÄÄÆ÷Áî ±âº» »ç¿ë¹ý
____4.3.2 µµÄ¿ ÄÄÆ÷Áî È°¿ë
4.4 µµÄ¿ ÇнÀÀ» ¸¶Ä¡¸ç: µµÄ¿¿Í ÄÁÅ×ÀÌ³Ê »ýÅ°è
¢Ã 05Àå: Äí¹ö³×Ƽ½º ¼³Ä¡
5.1 Äí¹ö³×Ƽ½º ¼³Ä¡ ȯ°æÀÇ Á¾·ù
5.2 Äí¹ö³×Ƽ½º ¹öÀü ¼±ÅÃ
5.3 °³¹ß ¿ëµµÀÇ Äí¹ö³×Ƽ½º ¼³Ä¡
____5.3.1 Docker for Mac / Windows¿¡¼ Äí¹ö³×Ƽ½º »ç¿ë
____5.3.2 Minikube·Î Äí¹ö³×Ƽ½º ¼³Ä¡
5.4 ¿©·¯ ¼¹ö·Î ±¸¼ºµÈ Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ¼³Ä¡
____5.4.1 kubeadmÀ¸·Î Äí¹ö³×Ƽ½º ¼³Ä¡
____5.4.2 kops·Î AWS¿¡¼ Äí¹ö³×Ƽ½º ¼³Ä¡
____5.4.3 ±¸±Û Ŭ¶ó¿ìµå Ç÷§ÆûÀÇ GKE·Î Äí¹ö³×Ƽ½º »ç¿ëÇϱâ
¢Ã 06Àå: Äí¹ö³×Ƽ½º ½ÃÀÛÇϱâ
6.1 Äí¹ö³×Ƽ½º¸¦ ½ÃÀÛÇϱâ Àü¿¡
6.2 Æ÷µå(Pod) : ÄÁÅ×À̳ʸ¦ ´Ù·ç´Â ±âº» ´ÜÀ§
____6.2.1 Æ÷µå »ç¿ëÇϱâ
____6.2.2 Æ÷µå vs. µµÄ¿ ÄÁÅ×À̳Ê
____6.2.3 ¿ÏÀüÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î¼ÀÇ Æ÷µå
6.3 ·¹Çø®Ä«¼Â(Replica Set) : ÀÏÁ¤ °³¼öÀÇ Æ÷µå¸¦ À¯ÁöÇÏ´Â ÄÁÆ®·Ñ·¯
____6.3.1 ·¹Çø®Ä«¼ÂÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
____6.3.2 ·¹Çø®Ä«¼Â »ç¿ëÇϱâ
____6.3.3 ·¹Çø®Ä«¼ÂÀÇ µ¿ÀÛ ¿ø¸®
____6.3.4 ·¹Çø®ÄÉÀÌ¼Ç ÄÁÆ®·Ñ·¯ vs. ·¹Çø®Ä«¼Â
6.4 µðÇ÷ÎÀ̸ÕÆ®(Deployment) : ·¹Çø®Ä«¼Â, Æ÷µåÀÇ ¹èÆ÷¸¦ °ü¸®
____6.4.1 µðÇ÷ÎÀ̸ÕÆ® »ç¿ëÇϱâ
____6.4.2 µðÇ÷ÎÀ̸ÕÆ®¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
6.5 ¼ºñ½º(Service) : Æ÷µå¸¦ ¿¬°áÇÏ°í ¿ÜºÎ¿¡ ³ëÃâ
____6.5.1 ¼ºñ½º(Service)ÀÇ Á¾·ù
____6.5.2 ClusterIP ŸÀÔÀÇ ¼ºñ½º - Äí¹ö³×Ƽ½º ³»ºÎ¿¡¼¸¸ Æ÷µå¿¡ Á¢±ÙÇϱâ
____6.5.3 NodePort ŸÀÔÀÇ ¼ºñ½º - ¼ºñ½º¸¦ ÀÌ¿ëÇØ Æ÷µå¸¦ ¿ÜºÎ¿¡ ³ëÃâÇϱâ
____6.5.4 Ŭ¶ó¿ìµå Ç÷§ÆûÀÇ ·Îµå ¹ë·±¼¿Í ¿¬µ¿Çϱâ - LoadBalancer ŸÀÔÀÇ ¼ºñ½º
____6.5.5 Æ®·¡ÇÈÀÇ ºÐ¹è¸¦ °áÁ¤ÇÏ´Â ¼ºñ½º ¼Ó¼º - externalTrafficPolicy
____6.5.6 ¿äûÀ» ¿ÜºÎ·Î ¸®´ÙÀÌ·ºÆ®ÇÏ´Â ¼ºñ½º - ExternalName
¢Ã 07Àå: Äí¹ö³×Ƽ½º ¸®¼Ò½ºÀÇ °ü¸®¿Í ¼³Á¤
7.1 ³×ÀÓ½ºÆäÀ̽º(Namespace) : ¸®¼Ò½º¸¦ ³í¸®ÀûÀ¸·Î ±¸ºÐÇÏ´Â À庮
7.2 ÄÁÇDZ׸Ê(Configmap), ½ÃÅ©¸´(Secret) : ¼³Á¤°ªÀ» Æ÷µå¿¡ Àü´Þ
____7.2.1 ÄÁÇDZ׸Ê(Configmap)
____7.2.2 ½ÃÅ©¸´(Secret)
¢Ã 08Àå: Àα׷¹½º(Ingress)
8.1 Àα׷¹½º¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
8.2 Àα׷¹½ºÀÇ ±¸Á¶
8.3 Àα׷¹½ºÀÇ ¼¼ºÎ ±â´É : annotationÀ» ÀÌ¿ëÇÑ ¼³Á¤
8.4 Nginx Àα׷¹½º ÄÁÆ®·Ñ·¯¿¡ SSL/TLS º¸¾È ¿¬°á Àû¿ë
8.5 ¿©·¯ °³ÀÇ Àα׷¹½º ÄÁÆ®·Ñ·¯ »ç¿ëÇϱâ
¢Ã 09Àå: Æ۽ýºÅÏÆ® º¼·ý(PV)°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓ(PVC)
9.1 ·ÎÄà º¼·ý : hostPath, emptyDir
____9.1.1 ¿öÄ¿ ³ëµåÀÇ ·ÎÄà µð·ºÅ͸®¸¦ º¼·ýÀ¸·Î »ç¿ë : hostPath
____9.1.2 Æ÷µå ³»ÀÇ ÄÁÅ×ÀÌ³Ê °£ Àӽà µ¥ÀÌÅÍ °øÀ¯ : emptyDir
9.2 ³×Æ®¿öÅ© º¼·ý
9.3 PV, PVC¸¦ ÀÌ¿ëÇÑ º¼·ý °ü¸®
____9.3.1 Æ۽ýºÅÏÆ® º¼·ý°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
____9.3.2 Æ۽ýºÅÏÆ® º¼·ý°ú Æ۽ýºÅÏÆ® º¼·ý Ŭ·¹ÀÓ »ç¿ëÇϱâ
____9.3.3 Æ۽ýºÅÏÆ® º¼·ýÀ» ¼±ÅÃÇϱâ À§ÇÑ Á¶°Ç ¸í½Ã
____9.3.4 Æ۽ýºÅÏÆ® º¼·ýÀÇ ¶óÀÌÇÁ»çÀÌŬ°ú Reclaim Policy
____9.3.5 StorageClass¿Í Dynamic Provisioning
¢Ã 10Àå: º¸¾ÈÀ» À§ÇÑ ÀÎÁõ°ú Àΰ¡ - ServiceAccount¿Í RBAC
10.1 Äí¹ö³×Ƽ½ºÀÇ ±ÇÇÑ ÀÎÁõ °úÁ¤
10.2 ¼ºñ½º ¾îÄ«¿îÆ®¿Í ·Ñ(Role), Ŭ·¯½ºÅÍ ·Ñ(Cluster Role)
10.3 Äí¹ö³×Ƽ½º API ¼¹ö¿¡ Á¢±Ù
____10.3.1 ¼ºñ½º ¾îÄ«¿îÆ®ÀÇ ½ÃÅ©¸´À» ÀÌ¿ëÇØ Äí¹ö³×Ƽ½º API ¼¹ö¿¡ Á¢±Ù
____10.3.2 Ŭ·¯½ºÅÍ ³»ºÎ¿¡¼ kubernetes ¼ºñ½º¸¦ ÅëÇØ API ¼¹ö¿¡ Á¢±Ù
____10.3.3 Äí¹ö³×Ƽ½º SDK¸¦ ÀÌ¿ëÇØ Æ÷µå ³»ºÎ¿¡¼ API ¼¹ö¿¡ Á¢±Ù
10.4 ¼ºñ½º ¾îÄ«¿îÆ®¿¡ À̹ÌÁö ·¹Áö½ºÆ®¸® Á¢±ÙÀ» À§ÇÑ ½ÃÅ©¸´ ¼³Á¤
10.5 kubeconfig ÆÄÀÏ¿¡ ¼ºñ½º ¾îÄ«¿îÆ® ÀÎÁõ Á¤º¸ ¼³Á¤
10.6 À¯Àú(User)¿Í ±×·ì(Group)ÀÇ °³³ä
10.7 x509 ÀÎÁõ¼¸¦ ÀÌ¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
¢Ã 11Àå: ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷¸¦ À§ÇÑ °í±Þ ¼³Á¤
11.1 Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑ
____11.1.1 ÄÁÅ×ÀÌ³Ê¿Í Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑ : Limit
____11.1.2 ÄÁÅ×ÀÌ³Ê¿Í Æ÷µåÀÇ ÀÚ¿ø »ç¿ë·® Á¦ÇÑÇϱâ : Request
____11.1.3 CPU ÀÚ¿ø »ç¿ë·®ÀÇ Á¦ÇÑ ¿ø¸®
____11.1.4 QoS Ŭ·¡½º¿Í ¸Þ¸ð¸® ÀÚ¿ø »ç¿ë·® Á¦ÇÑ ¿ø¸®
____11.1.5 ResourceQuota¿Í LimitRanger
____11.1.6 ResourceQuota, LimitRangerÀÇ ¿ø¸® : Admission Controller
11.2 Äí¹ö³×Ƽ½º ½ºÄÉÁÙ¸µ
____11.2.1 Æ÷µå°¡ ½ÇÁ¦·Î ³ëµå¿¡ »ý¼ºµÇ±â±îÁöÀÇ °úÁ¤
____11.2.2 Æ÷µå°¡ »ý¼ºµÉ ³ëµå¸¦ ¼±ÅÃÇÏ´Â ½ºÄÉÁÙ¸µ °úÁ¤
____11.2.3 NodeSelector¿Í Node Affinity, Pod Affinity
____11.2.4 Taints¿Í Tolerations »ç¿ëÇϱâ
____11.2.5 Cordon, Drain ¹× PodDistributionBudget
____11.2.6 Ä¿½ºÅÒ ½ºÄÉÁÙ·¯ ¹× ½ºÄÉÁÙ·¯ È®Àå
11.3 Äí¹ö³×Ƽ½º ¾ÖÇø®ÄÉÀÌ¼Ç »óÅÂ¿Í ¹èÆ÷
____11.3.1 µðÇ÷ÎÀ̸ÕÆ®¸¦ ÅëÇØ ·Ñ¸µ ¾÷µ¥ÀÌÆ®
____11.3.2 Æ÷µåÀÇ »ý¾Ö ÁÖ±â(Lifecycle)
____11.3.3 HPA¸¦ È°¿ëÇÑ ¿ÀÅ佺ÄÉÀϸµ
¢Ã 12Àå: Ä¿½ºÅÒ ¸®¼Ò½º¿Í ÄÁÆ®·Ñ·¯
12.1 Äí¹ö³×Ƽ½º ÄÁÆ®·Ñ·¯ÀÇ °³³ä°ú µ¿ÀÛ ¹æ½Ä
12.2 Ä¿½ºÅÒ ¸®¼Ò½º¿¡ ´ëÇÑ °³³ä
12.3 Ä¿½ºÅÒ ¸®¼Ò½º¸¦ Á¤ÀÇÇϱâ À§ÇÑ CRD(Custom Resource Definition)
12.4 Ä¿½ºÅÒ ¸®¼Ò½º¿Í ÄÁÆ®·Ñ·¯
¢Ã 13Àå: Æ÷µå¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ¿ÀºêÁ§Æ®µé
13.1 Àâ(Jobs)
13.2 µ¥¸ó¼Â(DaemonSets)
13.3 ½ºÅ×ÀÌƮǮ¼Â(StatefulSets)
¢Ã 14Àå: Äí¹ö³×Ƽ½º ¸ð´ÏÅ͸µ
14.1 ¸ð´ÏÅ͸µ ±âº» ±¸Á¶
14.2 ¸ð´ÏÅ͸µ ¸ÞÆ®¸¯ÀÇ ºÐ·ù
14.3 Äí¹ö³×Ƽ½º ¸ð´ÏÅ͸µ ±âÃÊ
____14.3.1 metrics-server
____14.3.2 metrics-server µ¿ÀÛ ¿ø¸®: APIService ¸®¼Ò½º
____14.3.3 kube-state-metrics
____14.3.4 node-exporter
14.4 ÇÁ·Î¸ÞÅ׿콺¸¦ È°¿ëÇÑ ¸ÞÆ®¸¯ ¼öÁý
____14.4.1 ÇÁ·Î¸ÞÅ׿콺 ¼³Ä¡
____14.4.2 ÇÁ·Î¸ÞÅ׿콺·Î ¸ÞÆ®¸¯ ¼öÁýÇϱâ
____14.4.3 ±×¶óÆijª·Î ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ½Ã°¢ÈÇϱâ
¢Ã ºÎ·Ï
ºÎ·ÏA: µµÄ¿ µ¥¸ó ½ÃÀÛ ¿É¼Ç º¯°æÇϱâ
ºÎ·ÏB: ƯÁ¤ ¹öÀüÀÇ µµÄ¿ ¼³Ä¡Çϱâ
ºÎ·ÏC: gcloud ¸í·É¾î ¼³Ä¡Çϱâ
ºÎ·ÏD: AWS CLI ¼³Ä¡Çϱâ