Upgrade to Pro — share decks privately, control downloads, hide ads and more …

카카오 서비스들은 어떻게 CI/CD 를 하는가?

kakao
November 01, 2024

카카오 서비스들은 어떻게 CI/CD 를 하는가?

#cloud #CI/CD

이 세션을 통해 수 천개의 쿠버네티스 멀티 클러스터 위에서 동작하는 카카오의 서비스들이 어떻게 CI/CD를 하는 지를 설명하고,
GitOps, MSA 등의 개발 철학을 지키면서 클라우드 전환 이후 생긴 문제들을 해결하기 위한 CI/CD Pipeline 플랫폼 설계에 필요했던 고민을 공유하려 합니다.
또한 외부 솔루션 사용에 대한 고민, 자체 서비스 구축을 통한 비용 절감에, 두 번의 리팩토링을 통해 얻은 교훈들 그리고 시간을 돌려 다시 만든다면 어떤 부분을 다르게 할 것인지에 대한 생각도 함께 전합니다.
비슷한 문제로 고민하는 클라우드 엔지니어 및 CI/CD 도입의 베스트 프랙티스가 궁금한 서비스 개발자들에게 저희의 실 서비스 경험으로 현실적인 도움을 드릴 수 있기를 바랍니다.

발표자 : peny.official
카카오 클라우드 컴퓨팅에서 CI/CD 플랫폼을 개발 운영하고 있는 페니입니다.

kakao

November 01, 2024
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% ݣ౭ ௿۞झఠ

    ജ҃ীࢲ ׮নೠ ஠஠য়੄ ࢲ࠺झо п੗੄ ௿۞झఠী ࢲ п੗੄ $*$%ੋ೐ۄܳ ҳ୷ೞח ࢚ട
  2. Ҋ޹ೠ੿ػ ҙܻ ੋਗ (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$

    4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF%
  3. ࠶ ܖ Ӓ ܽ ஠ ա ܻ ࢲ࠺झ ݫए (16

    ޛ ܻ ࢲ ߡ . . . . . . о࢚ ࢲߡ ֎౟ਕ௼ ੿଼ Ҋ޹׮নೠ ,Tജ҃ (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF%
  4. (0$% +FOLJOT "SHP$% +FOLJOT 4FSWJDF" 4FSWJDF# 4FSWJDF$ 4FSWJDF% ઺ঔച To

    access a cluster, you need to know the location of the cluster and have credentials to access it. Typically, this is automatically set-up when you work through a Getting started guide, or someone else set up the cluster and provided you with credentials and a location. 5PBDDFTTBDMVTUFS ZPV OFFEUPLOPXUIFMPDBUJPO PGUIFDMVTUFSBOEIBWF DSFEFOUJBMT UPBDDFTTJU BQJ7FSTJPOW DMVTUFST  DMVTUFS JOTFDVSFTLJQUMTWFSJGZUSVF TFSWFSIUUQTBBBBCCCDPN OBNFQBOHZPFBU DPOUFYUT  DPOUFYU DMVTUFSQBOHZPFBU OBNFTQBDFEFGBVMU VTFSQFOZPGGJDJBM OBNFQBOHZPFBU DVSSFOUDPOUFYUQBOHZPFBU LJOE$POGJH QSFGFSFODFT\^ VTFST  OBNFQFOZPGGJDJBM VTFS UPLFOFZ+IC(DJ0J+46[*/J*T*NUQ;$**J+FZ LVCFDPOGJH
  5. .4" 1JQFMJOF FEHFT< \ EFTJSFE4UBUVT4VDDFFEFE GSPNUBTL TUBUVT UPUBTL ^ >

    UBTLT< \ tOBNFutUBTLu TQFDYYYu EFTDSJQUJPOBOBMZTJT UBTL5ZQF"OBMZTJT ^ > 5BTL 5BTL 5BTL 5BTL 5BTL ,T ,T+PC .BOBHFS
  6. (JU0QT BQJ7FSTJPOBQQTW LJOE%FQMPZNFOU NFUBEBUB OBNFOHJOYEFQMPZNFOU MBCFMT BQQOHJOY TQFD SFQMJDBT TFMFDUPS

    NBUDI-BCFMT BQQOHJOY UFNQMBUF NFUBEBUB MBCFMT BQQOHJOY TQFD DPOUBJOFST  OBNFOHJOY JNBHFOHJOY QPSUT  DPOUBJOFS1PSU
  7. Ҋәߓನ੹ۚ࠶ܖӒܽ " W 4FSWJDF MBCFM" " W 4FSWJDF MBCFM" "@

    W " W 4FSWJDF MBCFM"@ "@ W " W 4FSWJDF MBCFM" " W 4FSWJDF MBCFM" ੉޷૑ সؘ੉౟
  8. Ҋәߓನ੹ۚ஠աܻ " W 4 4FSWJDF MBCFM" *OHSFTT TFSWJDF /BNFM T

    "@ W 4@ 4FSWJDF MBCFM"@ " W 4 4FSWJDF MBCFM" *OHSFTT TFSWJDF /BNFM T "@ W 4@ 4FSWJDF MBCFM"@ " W 4 4FSWJDF MBCFM" *OHSFTT TFSWJDF /BNFM T "@ W 4@ 4FSWJDF MBCFM"@ *OHSFTT TFSWJDF /BNF T@ *OHSFTT TFSWJDF /BNF T@ *OHSFTT TFSWJDF /BNF T@ " W 4 4FSWJDF MBCFM" *OHSFTT TFSWJDF /BNF T " W 4 4FSWJDF MBCFM" *OHSFTT TFSWJDF /BNF T ੉޷૑ সؘ੉౟
  9. Ҋәߓನ੹ۚ஠աܻ ࠙ࢳ %FQMPZ NFOUT ஠աܻ ࠙ࢳ ࠙ࢳ بҳ QSPNFUIFVT ࠙ࢳ

    بҳ QSPNFUIFVT ࠙ࢳ بҳ QSPNFUIFVT ࠙ࢳ بҳ QSPNFUIFVT ࠙ࢳ بҳ QSPNFUIFVT ࠙ࢳ بҳ IUUQ QSPN2- SFTQPOTF IUUQSFRVFTU SFTQPOTF MPPQ MPPQ ࠙ࢳ بҳ ࢚క ഛੋ റ ஠աܻ ౟ې೗ ૐо PSਬ૑     ࢿҕ पಁ
  10. ੄੄ ਘ ੌ ӝળ • ࢎਊ ઑ૒ ѐ ੉࢚ •

    ೐۽ં౟ ࣻ  ѐ ੉࢚ • "QQ ѐ ੉࢚ • 1JQFMJOFѐ ੉࢚ • ਘ ߓನ പࣻ ݅ഥ ੉࢚ • ౵੉೐ۄੋ ҳز പࣻ ݅ഥ ੉࢚
  11. ੄੄ • ৻ࠗ ࣛܖ࣌ 1VCMJD$MPVE"ࢎ ؀࠺ ࠺ਊ ੺х ◦ ইदই

    కಣন ࢲ਎ ܻ੹ ӝળ ◦ "ࢎ 4BB4$*$%࠺Ү ӝળ ◦ ֙ ਘ ӝળ ◦ ୭؀ೠ ࠁࣻ੸ਵ۽ ૘҅೧ࢲj ࠺ਊ ੺х ӏݽח 
  12. ੄੄ • ࢎਊ੗ ਃҳࢎ೦ ౵ঈ ◦ ف ߣ੄ ௾ ܻಂష݂

    ◦ ࢸޙઑࢎ ◦ ౵੉೐ۄੋ ѐߊ ୊਺ ࢸ҅৬ח ݆੉ ׳ۄ઎૑݅ ੜޅػ Ѫ਷ ইפ׮
  13. 2"