{"id":1468,"date":"2024-04-21T08:33:49","date_gmt":"2024-04-20T23:33:49","guid":{"rendered":"https:\/\/www.gyuroot.com\/wordpress\/?p=1468"},"modified":"2024-04-21T18:31:28","modified_gmt":"2024-04-21T09:31:28","slug":"07-aews-ci-cd","status":"publish","type":"post","link":"https:\/\/www.gyuroot.com\/wordpress\/?p=1468","title":{"rendered":"07-[AEWS]-CI\/CD"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\ubaa9\ucc28<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Jenkins_with_Kubernetes\" title=\"Jenkins with Kubernetes\">Jenkins with Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Argo\" title=\"Argo\">Argo<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Argo_CD_Install\" title=\"Argo CD Install\">Argo CD Install<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Argo_CD_CLI\" title=\"Argo CD CLI\">Argo CD CLI<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Argo_Rollouts\" title=\"Argo Rollouts\">Argo Rollouts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Argo_rollouts_cli\" title=\"Argo rollouts cli\">Argo rollouts cli<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Updating_a_Rollout\" title=\"Updating a Rollout\">Updating a Rollout<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\/#Aborting_a_Rollout\" title=\"Aborting a Rollout\">Aborting a Rollout<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>CI\/CD\ub294 Continuous Integration (CI) \ubc0f Continuous Deployment (CD)\uc758 \uc57d\uc5b4\uc785\ub2c8\ub2e4. \uc774\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \ubc0f \ubc30\ud3ec \ud504\ub85c\uc138\uc2a4\ub97c \uc790\ub3d9\ud654\ud558\uace0 \uac1c\uc120\ud558\uae30 \uc704\ud55c \uc811\uadfc \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<ol>\n<li><strong>Continuous Integration (CI)<\/strong>:\n<ul>\n<li>CI\ub294 \uc18c\uc2a4 \ucf54\ub4dc\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \ud1b5\ud569\ud558\uc5ec \ud488\uc9c8\uc744 \uc720\uc9c0\ud558\ub294 \ud504\ub85c\uc138\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc5ec\ub7ec \uba85\uc758 \uac1c\ubc1c\uc790\uac00 \ub3d9\uc2dc\uc5d0 \uc791\uc5c5\ud560 \ub54c \ucf54\ub4dc\uc758 \ucda9\ub3cc\uc774\ub098 \ubb38\uc81c\ub97c \ubbf8\ub9ac \ubc1c\uacac\ud560 \uc218 \uc788\uac8c \ub3c4\uc640\uc90d\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uac1c\ubc1c\uc790\ub294 \ucf54\ub4dc\ub97c \ubc84\uc804 \uad00\ub9ac \uc2dc\uc2a4\ud15c(\uc608: Git)\uc5d0 \ucee4\ubc0b\ud558\uba74, CI \uc11c\ubc84\uac00 \uc790\ub3d9\uc73c\ub85c \ud574\ub2f9 \ucf54\ub4dc\ub97c \uac00\uc838\uc640 \ube4c\ub4dc\ud558\uace0 \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub97c \ud1b5\ud574 \ucf54\ub4dc \ubcc0\uacbd\uc774 \uc8fc\uae30\uc801\uc73c\ub85c \uac80\uc99d\ub418\uace0, \ud1b5\ud569 \ubb38\uc81c\ub97c \ucd5c\uc18c\ud654\ud558\uc5ec \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud488\uc9c8\uc744 \ud5a5\uc0c1\uc2dc\ud0b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Continuous Deployment (CD)<\/strong>:\n<ul>\n<li>CD\ub294 \ubcc0\uacbd \uc0ac\ud56d\uc774 \ud1b5\ud569\ub418\uace0 \uac80\uc99d\ub41c \ud6c4 \uc790\ub3d9\uc73c\ub85c \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0 \ubc30\ud3ec\ub418\ub3c4\ub85d \ud558\ub294 \ud504\ub85c\uc138\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub97c \ud1b5\ud574 \uac1c\ubc1c\ub41c \uae30\ub2a5\uc774 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ube60\ub974\uac8c \uc81c\uacf5\ub418\uba70, \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ubc30\ud3ec\uc758 \uc624\ub958 \uac00\ub2a5\uc131\uc744 \uc904\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>CD \ud30c\uc774\ud504\ub77c\uc778\uc740 CI\uc640 \uc5f0\uacc4\ub418\uc5b4 \uc788\uc5b4, CI\uc5d0\uc11c \uac80\uc99d\ub41c \ucf54\ub4dc\uac00 \uc790\ub3d9\uc73c\ub85c \ubc30\ud3ec\ub418\ub3c4\ub85d \uad6c\uc131\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ubc30\ud3ec \ub2e8\uacc4\uc5d0\uc11c\ub294 \uc5ec\ub7ec \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc73c\uba70, \uc608\ub97c \ub4e4\uc5b4 \ucee8\ud14c\uc774\ub108\ud654, \uc11c\ubc84 \uad6c\uc131 \ubcc0\uacbd, \uc790\ub3d9\ud654\ub41c \ud14c\uc2a4\ud2b8, \ubc30\ud3ec \ud658\uacbd\uc758 \uc5c5\ub370\uc774\ud2b8 \ub4f1\uc774 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><br>Jenkins\ub294 \uc790\ub3d9\ud654\ub41c \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \uc790\ub3d9\ud654 \ub3c4\uad6c\uc785\ub2c8\ub2e4. \uc8fc\ub85c CI\/CD \ud30c\uc774\ud504\ub77c\uc778\uc744 \uad6c\ucd95\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ub2e4\uc74c\uc740 Jenkins\uc758 \uc8fc\uc694 \ud2b9\uc9d5\uacfc \uae30\ub2a5\uc785\ub2c8\ub2e4:<\/p>\n\n\n\n<ol>\n<li><strong>CI\/CD \ud30c\uc774\ud504\ub77c\uc778 \uad6c\ucd95<\/strong>: Jenkins\ub97c \uc0ac\uc6a9\ud558\uba74 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc758 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \ud1b5\ud569\ud558\uace0 \ud14c\uc2a4\ud2b8\ud558\uc5ec \uc790\ub3d9\uc73c\ub85c \ubc30\ud3ec\ud560 \uc218 \uc788\ub294 CI\/CD \ud30c\uc774\ud504\ub77c\uc778\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc790\ub3d9\ud654\ub41c \ube4c\ub4dc \ubc0f \ud14c\uc2a4\ud2b8<\/strong>: Jenkins\ub294 \ucf54\ub4dc \ubcc0\uacbd\uc774 \ubc1c\uc0dd\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc18c\uc2a4 \ucf54\ub4dc\ub97c \uac00\uc838\uc640\uc11c \ube4c\ub4dc\ud558\uace0 \ud14c\uc2a4\ud2b8\ud558\ub294 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc758 \ud488\uc9c8\uc744 \uc720\uc9c0\ud558\uace0 \uac1c\ubc1c\uc790\ub4e4\uc774 \ube60\ub974\uac8c \ud53c\ub4dc\ubc31\uc744 \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\ub2e4\uc591\ud55c \ud50c\ub7ec\uadf8\uc778 \uc9c0\uc6d0<\/strong>: Jenkins\ub294 \ub2e4\uc591\ud55c \ud50c\ub7ec\uadf8\uc778\uc744 \uc9c0\uc6d0\ud558\uc5ec \uc0ac\uc6a9\uc790\uc758 \uc694\uad6c\uc5d0 \ub9de\uac8c \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud50c\ub7ec\uadf8\uc778\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ube4c\ub4dc, \ud14c\uc2a4\ud2b8, \ubc30\ud3ec \ubc0f \ubaa8\ub2c8\ud130\ub9c1 \ub4f1\uc758 \uc791\uc5c5\uc744 \uc790\ub3d9\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\ubd84\uc0b0 \ube4c\ub4dc<\/strong>: Jenkins\ub294 \uc5ec\ub7ec \ub300\uc758 \uc5d0\uc774\uc804\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc791\uc5c5\uc744 \ubcd1\ub82c\ub85c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ub300\uaddc\ubaa8 \ud504\ub85c\uc81d\ud2b8\uc758 \ube4c\ub4dc \uc2dc\uac04\uc744 \ub2e8\ucd95\ud558\uace0 \uc131\ub2a5\uc744 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\ud3b8\ub9ac\ud55c \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4<\/strong>: Jenkins\ub294 \uc9c1\uad00\uc801\uc774\uace0 \uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 \uc6f9 \uae30\ubc18 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc81c\uacf5\ud558\uc5ec \uc0ac\uc6a9\uc790\uac00 \uc791\uc5c5\uc744 \uad00\ub9ac\ud558\uace0 \ubaa8\ub2c8\ud130\ub9c1\ud560 \uc218 \uc788\ub3c4\ub85d \ub3c4\uc640\uc90d\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uac15\ub825\ud55c \ucee4\ubba4\ub2c8\ud2f0 \ubc0f \uc9c0\uc6d0<\/strong>: Jenkins\ub294 \ub110\ub9ac \uc0ac\uc6a9\ub418\uace0 \ud65c\ubc1c\ud55c \ucee4\ubba4\ub2c8\ud2f0\ub97c \uac00\uc9c0\uace0 \uc788\uc73c\uba70, \ub2e4\uc591\ud55c \ubb38\uc81c\uc5d0 \ub300\ud55c \uc9c0\uc6d0 \ubc0f \uc790\ub8cc\uac00 \ud48d\ubd80\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"387\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465-1024x387.png\" alt=\"\" class=\"wp-image-1472\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465-1024x387.png 1024w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465-300x113.png 300w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465-768x290.png 768w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465-1536x580.png 1536w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-465.png 2000w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Jenkins_with_Kubernetes\"><\/span>Jenkins with Kubernetes<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c \uc544\ub798 \uc791\uc5c5 \uc9c4\ud589\nwhoami\nmkdir ~\/.kube\n\n# root \uacc4\uc815\uc5d0\uc11c \uc544\ub798 \ubcf5\uc0ac \uc2e4\ud589\ncp ~\/.kube\/config \/var\/lib\/jenkins\/.kube\/config\nchown jenkins:jenkins \/var\/lib\/jenkins\/.kube\/config\n\n# jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c aws eks \uc0ac\uc6a9(sts \ud638\ucd9c \ub4f1)\uc744 \uc704\ud55c \uc790\uaca9\uc99d\uba85 \uc124\uc815\naws configure\nAWS Access Key ID [None]: AKIA5ILF2###\nAWS Secret Access Key [None]: ###\nDefault region name [None]: ap-northeast-2\n\n# jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c kubectl \uba85\ub839\uc5b4 \uc0ac\uc6a9 \ud655\uc778\nkubectl get pods -A\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c \uc544\ub798 \uc791\uc5c5 \uc9c4\ud589<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">whoami<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">mkdir<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">~\/.kube<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># root \uacc4\uc815\uc5d0\uc11c \uc544\ub798 \ubcf5\uc0ac \uc2e4\ud589<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">cp<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">~\/.kube\/config<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/var\/lib\/jenkins\/.kube\/config<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">chown<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">jenkins:jenkins<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/var\/lib\/jenkins\/.kube\/config<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c aws eks \uc0ac\uc6a9(sts \ud638\ucd9c \ub4f1)\uc744 \uc704\ud55c \uc790\uaca9\uc99d\uba85 \uc124\uc815<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">configure<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">AWS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Key<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ID<\/span><span style=\"color: #D8DEE9FF\"> [None]: AKIA5ILF2###<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">AWS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Secret<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Key<\/span><span style=\"color: #D8DEE9FF\"> [None]: <\/span><span style=\"color: #616E88\">###<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Default<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">region<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">name<\/span><span style=\"color: #D8DEE9FF\"> [None]: ap-northeast-2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># jenkins \uc0ac\uc6a9\uc790\uc5d0\uc11c kubectl \uba85\ub839\uc5b4 \uc0ac\uc6a9 \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">pods<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-A<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul>\n<li>Github repo\uc5d0 yaml \ucd94\uac00<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"apiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: myweb\nspec:\n  replicas: 2\n  selector:\n    matchLabels:\n      app: mywebs\n  template:\n    metadata:\n      name: myweb\n      labels:\n        app: mywebs\n    spec:\n      containers:\n      - name: myweb\n        image: gasida\/myweb:v1.0.0\n      terminationGracePeriodSeconds: 0\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: myweb\nspec:\n  ports:\n    - name: webport\n      port: 8080\n      targetPort: 80\n  selector:\n    app: mywebs\n  type: ClusterIP\n---\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #8FBCBB\">apiVersion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">apps\/v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">kind<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Deployment<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">metadata<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">myweb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">spec<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">replicas<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">selector<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">matchLabels<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">app<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mywebs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">template<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">metadata<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">myweb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">labels<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">app<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mywebs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">spec<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">containers<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">myweb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">image<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">gasida\/myweb:v1.0.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">terminationGracePeriodSeconds<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">---<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">apiVersion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">kind<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Service<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">metadata<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">myweb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">spec<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">ports<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">webport<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">port<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">8080<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">targetPort<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">80<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">selector<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">app<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mywebs<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ClusterIP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">---<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul>\n<li>jenkins\uc5d0 pipeline \ucd94\uac00<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"pipeline {\n    agent any\n\n    tools {\n        jdk 'jdk-17'\n    }\n\n    environment {\n        DOCKERHUB_USERNAME = 'gasida'\n        GITHUB_<span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span> = 'https:\/\/github.com\/gasida\/aews-cicd.git'\n        \/\/ deployment-svc.yaml -&gt; image: gasida\/myweb:v1.0.0        \n        DIR_NUM = '3'\n    }\n\n    stages {\n        stage('Container Build') {\n            steps {\t\n                \/\/ \ub9b4\ub9ac\uc988\ud30c\uc77c \uccb4\ud06c\uc544\uc6c3\n                checkout scmGit(branches: [[name: '*\/main']], \n                    extensions: [[$class: 'SparseCheckoutPaths', \n                    sparseCheckoutPaths: [[path: &quot;\/${DIR_NUM}&quot;]]]], \n                    userRemoteConfigs: [[url: &quot;${GITHUB_URL}&quot;]])\n\n                \/\/ \ucee8\ud14c\uc774\ub108 \ube4c\ub4dc \ubc0f \uc5c5\ub85c\ub4dc\n                sh &quot;docker build -t ${DOCKERHUB_USERNAME}\/myweb:v1.0.0 .\/${DIR_NUM}&quot;\n                sh &quot;docker push ${DOCKERHUB_USERNAME}\/myweb:v1.0.0&quot;\n            }\n        }\n\n        stage('K8S Deploy') {\n            steps {\n                sh &quot;kubectl apply -f .\/${DIR_NUM}\/deploy\/deployment-svc.yaml&quot;\n            }\n        }\n    }\n}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">pipeline <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    agent <\/span><span style=\"color: #88C0D0\">any<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    tools <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        jdk <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">jdk-17<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    environment <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        DOCKERHUB_USERNAME = <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">gasida<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        GITHUB_<span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span> = <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">https:\/\/github.com\/gasida\/aews-cicd.git<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">\/\/<\/span><span style=\"color: #D8DEE9FF\"> deployment<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\">svc<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">yaml <\/span><span style=\"color: #D8DEE9\">-&gt;<\/span><span style=\"color: #D8DEE9FF\"> image<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> gasida<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9FF\">myweb<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">v1<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">0        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        DIR_NUM = <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">3<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    stages <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">stage<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Container Build<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            steps <\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\">\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #81A1C1\">\/\/<\/span><span style=\"color: #D8DEE9FF\"> \ub9b4\ub9ac\uc988\ud30c\uc77c \uccb4\ud06c\uc544\uc6c3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                checkout <\/span><span style=\"color: #88C0D0\">scmGit<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">branches<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[[<\/span><span style=\"color: #D8DEE9FF\">name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">*\/main<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">]],<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                    extensions<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[[<\/span><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">SparseCheckoutPaths<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                    sparseCheckoutPaths<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[[<\/span><span style=\"color: #D8DEE9FF\">path<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\/$<\/span><span style=\"color: #EBCB8B\">{DIR_NUM}<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">]]]],<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                    userRemoteConfigs<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[[<\/span><span style=\"color: #D8DEE9FF\"><span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span><\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">$<\/span><span style=\"color: #EBCB8B\">{GITHUB_<span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span>}<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">]])<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #81A1C1\">\/\/<\/span><span style=\"color: #D8DEE9FF\"> \ucee8\ud14c\uc774\ub108 \ube4c\ub4dc \ubc0f \uc5c5\ub85c\ub4dc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                sh <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">docker build -t $<\/span><span style=\"color: #EBCB8B\">{DOCKERHUB_USERNAME}<\/span><span style=\"color: #A3BE8C\">\/myweb:v1.0.0 .\/$<\/span><span style=\"color: #EBCB8B\">{DIR_NUM}<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                sh <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">docker push $<\/span><span style=\"color: #EBCB8B\">{DOCKERHUB_USERNAME}<\/span><span style=\"color: #A3BE8C\">\/myweb:v1.0.0<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">stage<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">K8S Deploy<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            steps <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">                sh <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">kubectl apply -f .\/$<\/span><span style=\"color: #EBCB8B\">{DIR_NUM}<\/span><span style=\"color: #A3BE8C\">\/deploy\/deployment-svc.yaml<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1804\" height=\"937\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2.png\" alt=\"\" class=\"wp-image-1483\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2.png 1804w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2-300x156.png 300w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2-1024x532.png 1024w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2-768x399.png 768w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/\uc81c\ubaa9-\uc5c6\uc74c-2-1536x798.png 1536w\" sizes=\"(max-width: 1804px) 100vw, 1804px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Argo\"><\/span>Argo<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p><br>Argo\ub294 Kubernetes\ub97c \uae30\ubc18\uc73c\ub85c \ud558\ub294 \uc624\ud508 \uc18c\uc2a4 \uc790\ub3d9\ud654 \ub3c4\uad6c\ub85c, \ub300\uaddc\ubaa8 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f \ubcf5\uc7a1\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud574 \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. Argo\ub294 \ud06c\uac8c \uc138 \uac00\uc9c0 \ud558\uc704 \ud504\ub85c\uc81d\ud2b8\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n\n\n\n<ol>\n<li><strong>Argo Workflows<\/strong>:\n<ul>\n<li>Argo Workflows\ub294 Kubernetes\uc5d0\uc11c \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \uc2e4\ud589\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc0ac\uc6a9\uc790\ub294 YAML\ub85c \uc815\uc758\ub41c \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \uc791\uc131\ud558\uace0 Argo\uc5d0\uac8c \uc81c\ucd9c\ud558\uc5ec \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294 \uc5ec\ub7ec \ub2e8\uacc4\ub85c \uad6c\uc131\ub418\uba70, \uac01 \ub2e8\uacc4\ub294 \ucee8\ud14c\uc774\ub108, \ud30c\ub77c\ubbf8\ud130, \uc885\uc18d\uc131 \ub4f1\uc744 \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ubcd1\ub82c \ucc98\ub9ac, \uc870\uac74\ubd80 \uc2e4\ud589, \ub8e8\ud504 \ub4f1\uacfc \uac19\uc740 \ub2e4\uc591\ud55c \uc81c\uc5b4 \ud750\ub984 \ud328\ud134\uc744 \uc9c0\uc6d0\ud558\uc5ec \uc720\uc5f0\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Argo CD<\/strong>:\n<ul>\n<li>Argo CD\ub294 Kubernetes \ud074\ub7ec\uc2a4\ud130\uc5d0 \ub300\ud55c \uc9c0\uc18d\uc801\uc778 \ubc30\ud3ec (Continuous Deployment)\ub97c \uad00\ub9ac\ud558\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>GitOps \uc6d0\uce59\uc744 \ub530\ub77c \uc791\ub3d9\ud558\uc5ec Git \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0 \uc815\uc758\ub41c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc0c1\ud0dc\uc640 \uc2e4\uc81c \ud074\ub7ec\uc2a4\ud130\uc758 \uc0c1\ud0dc\ub97c \ub3d9\uae30\ud654\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ubcc0\uacbd \uc0ac\ud56d\uc774 Git \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0 \ud478\uc2dc\ub418\uba74 Argo CD\uac00 \uc790\ub3d9\uc73c\ub85c \ud574\ub2f9 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uac10\uc9c0\ud558\uace0 \ubc30\ud3ec\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Argo Events<\/strong>:\n<ul>\n<li>Argo Events\ub294 \uc774\ubca4\ud2b8 \uae30\ubc18 \uc544\ud0a4\ud14d\ucc98 (Event-Driven Architecture)\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub2e4\uc591\ud55c \uc774\ubca4\ud2b8 \uc18c\uc2a4\uc5d0\uc11c \uc774\ubca4\ud2b8\ub97c \uc218\uc9d1\ud558\uace0 \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \ud2b8\ub9ac\uac70\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Kubernetes \uc774\ubca4\ud2b8, \uba54\uc2dc\uc9c0 \ube0c\ub85c\ucee4, \uc6f9\ud6c5 \ub4f1 \ub2e4\uc591\ud55c \uc774\ubca4\ud2b8 \uc18c\uc2a4\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Argo_CD_Install\"><\/span>Argo CD Install<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# helm \uc124\uce58\ncat &lt;&lt;EOT &gt; argocd-values.yaml\nglobal:\n  domain: argocd.$MyDomain\n\nconfigs:\n  params:\n    server.insecure: true\n\ncontroller:\n  metrics:\n    enabled: true\n    serviceMonitor:\n      enabled: true\n\nserver:\n  ingress:\n    enabled: true\n    controller: aws\n    ingressClassName: alb\n    hostname: &quot;argocd.$MyDomain&quot;\n    annotations:\n      alb.ingress.kubernetes.io\/scheme: internet-facing\n      alb.ingress.kubernetes.io\/target-type: ip\n      alb.ingress.kubernetes.io\/backend-protocol: HTTP\n      alb.ingress.kubernetes.io\/listen-ports: '[{&quot;HTTPS&quot;:80}, {&quot;HTTPS&quot;:443}]'\n      alb.ingress.kubernetes.io\/certificate-arn: $CERT_ARN\n      alb.ingress.kubernetes.io\/ssl-redirect: '443'\n    aws:\n      serviceType: ClusterIP\n      backendProtocolVersion: GRPC\n  metrics:\n    enabled: true\n    serviceMonitor:\n      enabled: true\n\nrepoServer:\n  metrics:\n    enabled: true\n    serviceMonitor:\n      enabled: true\n\napplicationSet:\n  metrics:\n    enabled: true\n    serviceMonitor:\n      enabled: true\n\nnotifications:\n  metrics:\n    enabled: true\n    serviceMonitor:\n      enabled: true\nEOT\n\nkubectl create ns argocd\nhelm repo add argo https:\/\/argoproj.github.io\/argo-helm\nhelm install argocd argo\/argo-cd --version 6.7.11 -f argocd-values.yaml --namespace argocd\n\n# \ud655\uc778\nkubectl get ingress,pod,svc -n argocd\nkubectl get crd | grep argo\n\n# \ucd5c\ucd08 \uc811\uc18d \uc554\ud638 \ud655\uc778\nkubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=&quot;{.data.password}&quot; | base64 -d ;echo\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># helm \uc124\uce58<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">cat<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;&lt;<\/span><span style=\"color: #ECEFF4\">EOT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> argocd-values.yaml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">global:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  domain: argocd.<\/span><span style=\"color: #D8DEE9\">$MyDomain<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">configs:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  params:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    server.insecure: true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">controller:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  metrics:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    serviceMonitor:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      enabled: true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">server:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  ingress:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    controller: aws<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    ingressClassName: alb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    hostname: &quot;argocd.<\/span><span style=\"color: #D8DEE9\">$MyDomain<\/span><span style=\"color: #A3BE8C\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    annotations:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/scheme: internet-facing<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/target-type: ip<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/backend-protocol: HTTP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/listen-ports: &#39;[{&quot;HTTPS&quot;:80}, {&quot;HTTPS&quot;:443}]&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/certificate-arn: <\/span><span style=\"color: #D8DEE9\">$CERT_ARN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      alb.ingress.kubernetes.io\/ssl-redirect: &#39;443&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    aws:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      serviceType: ClusterIP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      backendProtocolVersion: GRPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  metrics:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    serviceMonitor:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      enabled: true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">repoServer:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  metrics:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    serviceMonitor:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      enabled: true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">applicationSet:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  metrics:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    serviceMonitor:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      enabled: true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">notifications:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">  metrics:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">    serviceMonitor:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">      enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">EOT<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">create<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ns<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">helm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">repo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">add<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/argoproj.github.io\/argo-helm<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">helm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo\/argo-cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--version<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">6.7<\/span><span style=\"color: #A3BE8C\">.11<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-f<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd-values.yaml<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--namespace<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ingress,pod,svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">crd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">grep<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ucd5c\ucd08 \uc811\uc18d \uc554\ud638 \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">secret<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd-initial-admin-secret<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-o<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">jsonpath=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">{.data.password}<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">base64<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-d<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #88C0D0\">echo<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1011\" height=\"734\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-469.png\" alt=\"\" class=\"wp-image-1476\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-469.png 1011w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-469-300x218.png 300w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-469-768x558.png 768w\" sizes=\"(max-width: 1011px) 100vw, 1011px\" \/><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"674\" height=\"1024\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470-674x1024.png\" alt=\"\" class=\"wp-image-1477\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470-674x1024.png 674w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470-197x300.png 197w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470-768x1167.png 768w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470-1011x1536.png 1011w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-470.png 1035w\" sizes=\"(max-width: 674px) 100vw, 674px\" \/><\/figure><\/div>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-3\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"404\" height=\"449\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-475.png\" alt=\"\" class=\"wp-image-1485\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-475.png 404w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-475-270x300.png 270w\" sizes=\"(max-width: 404px) 100vw, 404px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\" style=\"flex-basis:66.66%\">\n<ul>\n<li>SYNCHRONIZE \uc635\uc158\n<ul>\n<li>PRUNE\n<ul>\n<li>GIt\uc5d0\uc11c \uc790\uc6d0 \uc0ad\uc81c \ud6c4 \ubc30\ud3ec\uc2dc K8S\uc5d0\uc11c\ub294 \uc0ad\uc81c\ub418\uc9c0 \uc54a\uc73c\ub098, \ud574\ub2f9 \uc635\uc158\uc744 \uc120\ud0dd\ud558\uba74 \uc0ad\uc81c\uc2dc\ud0b4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>DRY RUN\n<ul>\n<li>\ud14c\uc2a4\ud2b8 \ubc30\ud3ec (\ubc30\ud3ec\uc5d0 \uc5d0\ub7ec\uac00 \uc788\ub294\uc9c0 \ud55c\ubc88 \ud655\uc778\ud574 \ubcfc\ub54c \uc0ac\uc6a9)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>APPLY ONLY\n<ul>\n<li>ArgoCD\uc758 Pre\/Post Hook\uc740 \uc0ac\uc6a9 \uc548\ud568 (\ub9ac\uc18c\uc2a4\ub9cc \ubc30\ud3ec)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>FORCE\n<ul>\n<li>&#8211;force \uc635\uc158\uc73c\ub85c \ub9ac\uc18c\uc2a4 \uc0ad\uc81c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>SKIP SCHEMA VALIDATION (\uc2a4\ud0a4\ub9c8 \uc720\ud6a8\uc131 \uac80\uc0ac \uc0dd\ub7b5):\n<ul>\n<li>\uc774 \uc635\uc158\uc740 Argo CD\uac00 Kubernetes \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c OpenAPI \uc2a4\ud0a4\ub9c8\uc5d0 \ub300\ud55c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc0dd\ub7b5\ud558\ub3c4\ub85d \uc9c0\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Kubernetes \uc2a4\ud0a4\ub9c8\uc5d0 \uc900\ud558\uc9c0 \uc54a\uc9c0\ub9cc \uc5ec\uc804\ud788 \uc720\ud6a8\ud558\uace0 \uae30\ub2a5\uc801\uc778 \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c \ubc30\ud3ec\ud558\ub294 \uacbd\uc6b0 \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>AUTO-CREATE NAMESPACE (\uc790\ub3d9 \ub124\uc784\uc2a4\ud398\uc774\uc2a4 \uc0dd\uc131):\n<ul>\n<li>\ud65c\uc131\ud654\ub41c \uacbd\uc6b0, \uc774 \uc635\uc158\uc740 Argo CD\uac00 \ub9e4\ub2c8\ud398\uc2a4\ud2b8\uc5d0\uc11c \uc9c0\uc815\ub41c \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc218\ub3d9\uc73c\ub85c \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc804\uc5d0 \ub9cc\ub4e4 \ud544\uc694 \uc5c6\uc774 \ubc30\ud3ec \ud504\ub85c\uc138\uc2a4\ub97c \uac04\uc18c\ud654\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>PRUNE LAST (\ucd5c\uc2e0 Prune):\n<ul>\n<li>\uc774 \uc635\uc158\uc744 \ud65c\uc131\ud654\ud558\uba74 Argo CD\uac00 \ucd5c\uc2e0 \ub3d9\uae30\ud654 \ubc84\uc804\uc5d0 \uc874\uc7ac\ud588\uc9c0\ub9cc \ud604\uc7ac \ubc84\uc804\uc5d0\uc11c \ub204\ub77d\ub41c \ub9ac\uc18c\uc2a4\ub97c \uc81c\uac70\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub354 \uc774\uc0c1 \ud544\uc694\ud558\uc9c0 \uc54a\uc740 \ub9ac\uc18c\uc2a4\uac00 \ub3d9\uae30\ud654 \uc911\uc5d0 \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c \uc81c\uac70\ub418\ub3c4\ub85d \ubcf4\uc7a5\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>APPLY OUT OF SYNC ONLY (\ub3d9\uae30\ud654 \uc0c1\ud0dc\uac00 \uc544\ub2cc \uacbd\uc6b0\uc5d0\ub9cc \uc801\uc6a9):\n<ul>\n<li>\uc774 \uc635\uc158\uc774 \uc120\ud0dd\ub418\uba74 Argo CD\uac00 \uc6d0\ud558\ub294 \uc0c1\ud0dc\uc640 \ub3d9\uae30\ud654\ub418\uc9c0 \uc54a\uc740 \ub9ac\uc18c\uc2a4\uc5d0\ub9cc \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ubbf8 \uc6d0\ud558\ub294 \uc0c1\ud0dc\uc5d0 \uc788\ub294 \ub9ac\uc18c\uc2a4\uc5d0 \ubd88\ud544\uc694\ud55c \uc5c5\ub370\uc774\ud2b8\ub97c \ud53c\ud558\uace0 \ubc30\ud3ec \ud504\ub85c\uc138\uc2a4\ub97c \ucd5c\uc801\ud654\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>RESPECT IGNORE DIFFERENCES (\ucc28\uc774\uc810 \ubb34\uc2dc \uc874\uc911):\n<ul>\n<li>\ud65c\uc131\ud654\ub41c \uacbd\uc6b0, Argo CD\ub294 Application \ub9ac\uc18c\uc2a4\uc758 spec\uc5d0 \uc9c0\uc815\ub41c <code>ignoreDifferences<\/code> \ud544\ub4dc\ub97c \uc874\uc911\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774 \ud544\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc6d0\ud558\ub294 \uc0c1\ud0dc\uc640 \ub77c\uc774\ube0c \uc0c1\ud0dc \uac04\uc5d0 \ubb34\uc2dc\ud574\uc57c \ud560 \ud2b9\uc815 \ucc28\uc774\uc810\uc744 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>SERVER-SIDE APPLY (\uc11c\ubc84 \uce21 \uc801\uc6a9):\n<ul>\n<li>\uc774 \uc635\uc158\uc774 \ud65c\uc131\ud654\ub418\uba74 Argo CD\uac00 \ub9ac\uc18c\uc2a4 \uc870\uc815\uc744 \uc704\ud574 \uc11c\ubc84 \uce21 \uc801\uc6a9 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ub300\uaddc\ubaa8 \ubc30\ud3ec\uc5d0 \ud2b9\ud788 \uc720\uc6a9\ud55c \uc131\ub2a5\uc744 \uc81c\uacf5\ud558\uba70 \ud074\ub77c\uc774\uc5b8\ud2b8 \uce21 \uc801\uc6a9\ubcf4\ub2e4 \ud6a8\uc728\uc801\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Argo_CD_CLI\"><\/span>Argo CD CLI<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">FATA[0000] Failed to establish connection to argocd.gyuroot.com:443: dial tcp: lookup argocd.gyuroot.com on 192.168.0.2:53: no such host\n\uc704\uc758 \uc5d0\ub7ec\uc778 \uacbd\uc6b0 \/etc\/resolv.conf \uc5d0 dns\uc8fc\uc18c\ub97c \uc218\uc815\ud574\uc57c\ud568<\/pre>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"curl -sSL -o argocd-linux-amd64 https:\/\/github.com\/argoproj\/argo-cd\/releases\/latest\/download\/argocd-linux-amd64\nsudo install -m 555 argocd-linux-amd64 \/usr\/local\/bin\/argocd\nrm -f argocd-linux-amd64\nargocd version\nargocd: v2.10.7+b060053\n  BuildDate: 2024-04-15T09:05:25Z\n  GitCommit: b060053b099b4c81c1e635839a309c9c8c1863e9\n  GitTreeState: clean\n  GoVersion: go1.21.9\n  Compiler: gc\n  Platform: linux\/amd64\nargocd login argocd.$MyDomain\nkubectl config get-contexts -o name\nadmin@myeks.ap-northeast-2.eksctl.io\nargocd cluster add admin@myeks.ap-northeast-2.eksctl.io\n#INFO[0002] ServiceAccount &quot;argocd-manager&quot; already exists in namespace &quot;kube-system&quot; \n#INFO[0002] ClusterRole &quot;argocd-manager-role&quot; updated    \n#INFO[0002] ClusterRoleBinding &quot;argocd-manager-role-binding&quot; updated \n#Cluster 'https:\/\/DE434AE57592207B6B594662FD5DC486.sk1.ap-northeast-2.eks.amazonaws.com' added\nargocd app list\n#NAME  CLUSTER  NAMESPACE  PROJECT  STATUS  HEALTH  SYNCPOLICY  CONDITIONS  REPO  PATH  TARGET\n\n#Application \uc0dd\uc131\nkubectl config set-context --current --namespace=argocd\n#Context &quot;pak8266@myeks.ap-northeast-2.eksctl.io&quot; modified.\nargocd app create guestbook --repo https:\/\/github.com\/argoproj\/argocd-example-apps.git --path guestbook --dest-server https:\/\/kubernetes.default.svc --dest-namespace default\n#application 'guestbook' created\nargocd app list\n#NAME              CLUSTER                         NAMESPACE  PROJECT  STATUS     HEALTH   SYNCPOLICY  CONDITIONS  REPO                                                 PATH       TARGET\n#argocd\/guestbook  https:\/\/kubernetes.default.svc  default    default  OutOfSync  Missing  &lt;none&gt;      &lt;none&gt;      https:\/\/github.com\/argoproj\/argocd-example-apps.git  guestbook\n\n#Sync (Deploy) The Application\nargocd app get guestbook\n#Name:               argocd\/guestbook\n#Project:            default\n#Server:             https:\/\/kubernetes.default.svc\n#Namespace:          default\n#URL:                https:\/\/argocd.gyuroot.com\/applications\/guestbook\n#Repo:               https:\/\/github.com\/argoproj\/argocd-example-apps.git\n#Target:             \n#Path:               guestbook\n#SyncWindow:         Sync Allowed\n#Sync Policy:        &lt;none&gt;\n#Sync Status:        OutOfSync from  (d7927a2)\n#Health Status:      Missing\n#\n#GROUP  KIND        NAMESPACE  NAME          STATUS     HEALTH   HOOK  MESSAGE\n#       Service     default    guestbook-ui  OutOfSync  Missing        \n#apps   Deployment  default    guestbook-ui  OutOfSync  Missing\n\nargocd app sync guestbook\n#TIMESTAMP                  GROUP        KIND   NAMESPACE                  NAME    STATUS    HEALTH        HOOK  MESSAGE\n#2024-04-20T16:07:41+09:00   apps  Deployment     default          guestbook-ui  OutOfSync  Missing              \n#2024-04-20T16:07:41+09:00            Service     default          guestbook-ui  OutOfSync  Missing              \n#2024-04-20T16:07:42+09:00            Service     default          guestbook-ui    Synced  Healthy              \n#2024-04-20T16:07:42+09:00            Service     default          guestbook-ui    Synced   Healthy              service\/guestbook-ui created\n#2024-04-20T16:07:42+09:00   apps  Deployment     default          guestbook-ui  OutOfSync  Missing              deployment.apps\/guestbook-ui created\n#2024-04-20T16:07:42+09:00   apps  Deployment     default          guestbook-ui    Synced  Progressing              deployment.apps\/guestbook-ui created\n\n#Name:               argocd\/guestbook\n#Project:            default\n#Server:             https:\/\/kubernetes.default.svc\n#Namespace:          default\n#URL:                https:\/\/argocd.gyuroot.com\/applications\/guestbook\n#Repo:               https:\/\/github.com\/argoproj\/argocd-example-apps.git\n#Target:             \n#Path:               guestbook\n#SyncWindow:         Sync Allowed\n#Sync Policy:        &lt;none&gt;\n#Sync Status:        Synced to  (d7927a2)\n#Health Status:      Progressing\n\n#Operation:          Sync\n#Sync Revision:      d7927a27b4533926b7d86b5f249cd9ebe7625e90\n#Phase:              Succeeded\n#Start:              2024-04-20 16:07:41 +0900 KST\n#Finished:           2024-04-20 16:07:42 +0900 KST\n#Duration:           1s\n#Message:            successfully synced (all tasks run)\n\n#GROUP  KIND        NAMESPACE  NAME          STATUS  HEALTH       HOOK  MESSAGE\n#       Service     default    guestbook-ui  Synced  Healthy            service\/guestbook-ui created\n#apps   Deployment  default    guestbook-ui  Synced  Progressing        deployment.apps\/guestbook-ui created\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">curl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-sSL<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-o<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd-linux-amd64<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/github.com\/argoproj\/argo-cd\/releases\/latest\/download\/argocd-linux-amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-m<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">555<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd-linux-amd64<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/usr\/local\/bin\/argocd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">rm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-f<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd-linux-amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">version<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">v2.10.7+b060053<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">BuildDate:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-15T09:05:25Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GitCommit:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">b060053b099b4c81c1e635839a309c9c8c1863e9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GitTreeState:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">clean<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GoVersion:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">go1.21.9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">Compiler:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">gc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">Platform:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">linux\/amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">login<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argocd.<\/span><span style=\"color: #D8DEE9\">$MyDomain<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">config<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get-contexts<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-o<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">admin@myeks.ap-northeast-2.eksctl.io<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">cluster<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">add<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">admin@myeks.ap-northeast-2.eksctl.io<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#INFO[0002] ServiceAccount &quot;argocd-manager&quot; already exists in namespace &quot;kube-system&quot; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#INFO[0002] ClusterRole &quot;argocd-manager-role&quot; updated    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#INFO[0002] ClusterRoleBinding &quot;argocd-manager-role-binding&quot; updated <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Cluster &#39;https:\/\/DE434AE57592207B6B594662FD5DC486.sk1.ap-northeast-2.eks.amazonaws.com&#39; added<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">list<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#NAME  CLUSTER  NAMESPACE  PROJECT  STATUS  HEALTH  SYNCPOLICY  CONDITIONS  REPO  PATH  TARGET<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Application \uc0dd\uc131<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">config<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">set-context<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--current<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--namespace=argocd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Context &quot;pak8266@myeks.ap-northeast-2.eksctl.io&quot; modified.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">create<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">guestbook<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--repo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/github.com\/argoproj\/argocd-example-apps.git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--path<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">guestbook<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--dest-server<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/kubernetes.default.svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--dest-namespace<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#application &#39;guestbook&#39; created<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">list<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#NAME              CLUSTER                         NAMESPACE  PROJECT  STATUS     HEALTH   SYNCPOLICY  CONDITIONS  REPO                                                 PATH       TARGET<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#argocd\/guestbook  https:\/\/kubernetes.default.svc  default    default  OutOfSync  Missing  &lt;none&gt;      &lt;none&gt;      https:\/\/github.com\/argoproj\/argocd-example-apps.git  guestbook<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync (Deploy) The Application<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">get<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Name:               argocd\/guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Project:            default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Server:             https:\/\/kubernetes.default.svc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Namespace:          default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#<span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span>:                https:\/\/argocd.gyuroot.com\/applications\/guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Repo:               https:\/\/github.com\/argoproj\/argocd-example-apps.git<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Target:             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Path:               guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#SyncWindow:         Sync Allowed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync Policy:        &lt;none&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync Status:        OutOfSync from  (d7927a2)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Health Status:      Missing<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#GROUP  KIND        NAMESPACE  NAME          STATUS     HEALTH   HOOK  MESSAGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#       Service     default    guestbook-ui  OutOfSync  Missing        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#apps   Deployment  default    guestbook-ui  OutOfSync  Missing<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">argocd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">sync<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#TIMESTAMP                  GROUP        KIND   NAMESPACE                  NAME    STATUS    HEALTH        HOOK  MESSAGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:41+09:00   apps  Deployment     default          guestbook-ui  OutOfSync  Missing              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:41+09:00            Service     default          guestbook-ui  OutOfSync  Missing              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:42+09:00            Service     default          guestbook-ui    Synced  Healthy              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:42+09:00            Service     default          guestbook-ui    Synced   Healthy              service\/guestbook-ui created<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:42+09:00   apps  Deployment     default          guestbook-ui  OutOfSync  Missing              deployment.apps\/guestbook-ui created<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#2024-04-20T16:07:42+09:00   apps  Deployment     default          guestbook-ui    Synced  Progressing              deployment.apps\/guestbook-ui created<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Name:               argocd\/guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Project:            default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Server:             https:\/\/kubernetes.default.svc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Namespace:          default<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#<span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span>:                https:\/\/argocd.gyuroot.com\/applications\/guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Repo:               https:\/\/github.com\/argoproj\/argocd-example-apps.git<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Target:             <\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Path:               guestbook<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#SyncWindow:         Sync Allowed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync Policy:        &lt;none&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync Status:        Synced to  (d7927a2)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Health Status:      Progressing<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Operation:          Sync<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Sync Revision:      d7927a27b4533926b7d86b5f249cd9ebe7625e90<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Phase:              Succeeded<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Start:              2024-04-20 16:07:41 +0900 KST<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Finished:           2024-04-20 16:07:42 +0900 KST<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Duration:           1s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#Message:            successfully synced (all tasks run)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#GROUP  KIND        NAMESPACE  NAME          STATUS  HEALTH       HOOK  MESSAGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#       Service     default    guestbook-ui  Synced  Healthy            service\/guestbook-ui created<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">#apps   Deployment  default    guestbook-ui  Synced  Progressing        deployment.apps\/guestbook-ui created<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Argo_Rollouts\"><\/span>Argo Rollouts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>Argo <strong>Rollouts<\/strong> : Argo Rollouts\ub294 <strong>\ube14\ub8e8-\uadf8\ub9b0<\/strong>, <strong>\uce74\ub098\ub9ac<\/strong>, \uce74\ub098\ub9ac \ubd84\uc11d, \uc2e4\ud5d8 \ubc0f \ud504\ub85c\uadf8\ub808\uc2dc\ube0c \ubc30\ud3ec \uae30\ub2a5\uacfc \uac19\uc740 <strong>\uace0\uae09 \ubc30\ud3ec<\/strong> \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 <strong>Kubernetes \ucee8\ud2b8\ub864\ub7ec<\/strong> \ubc0f <strong>CRD<\/strong> \uc138\ud2b8\uc785\ub2c8\ub2e4.\n<ul>\n<li>Argo Rollouts\ub294 \uc120\ud0dd\uc801\uc73c\ub85c <strong>\uc778\uadf8\ub808\uc2a4 \ucee8\ud2b8\ub864\ub7ec<\/strong>\uc640 <strong>\uc11c\ube44\uc2a4 \uba54\uc2dc<\/strong>\uc640 \ud1b5\ud569\ub418\uba70, \uc5c5\ub370\uc774\ud2b8 \uc911\uc5d0 \uc0c8 \ubc84\uc804\uc73c\ub85c \ud2b8\ub798\ud53d\uc744 \uc810\uc9c4\uc801\uc73c\ub85c \uc774\ub3d9\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ud2b8\ub798\ud53d \ud615\uc131 \ub2a5\ub825\uc744 \ud65c\uc6a9\ud569\ub2c8\ub2e4. \ub610\ud55c, Rollouts\ub294 \ub2e4\uc591\ud55c \uacf5\uae09 \uc5c5\uccb4\uc5d0\uc11c \uba54\ud2b8\ub9ad\uc744 \ucffc\ub9ac\ud558\uace0 \ud574\uc11d\ud558\uc5ec \uc8fc\uc694 KPI\ub97c \ud655\uc778\ud558\uace0 \uc5c5\ub370\uc774\ud2b8 \uc911\uc5d0 \uc790\ub3d9 \ud504\ub85c\ubaa8\uc158 \ub610\ub294 \ub864\ubc31\uc744 \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Argo Rollouts\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uc774\uc720<\/strong>:\n<ul>\n<li>\uae30\ubcf8 Kubernetes \ubc30\ud3ec \uac1c\uccb4\ub294 \uc5c5\ub370\uc774\ud2b8 \uc911\uc5d0 \uae30\ubcf8\uc801\uc778 \uc548\uc804 \ubcf4\uc99d(\uc900\ube44 <span class='tooltipsall tooltipsincontent classtoolTips8'>\ud504\ub85c\ube0c<\/span>)\uc744 \uc81c\uacf5\ud558\ub294 <strong>\ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8<\/strong> \uc804\ub7b5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \ub864\ub9c1 \uc5c5\ub370\uc774\ud2b8 \uc804\ub7b5\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ub9ce\uc740 \uc81c\ud55c \uc0ac\ud56d\uc744 \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4:<\/li>\n\n\n\n<li>\ub864\uc544\uc6c3 \uc18d\ub3c4\uc5d0 \ub300\ud55c \uc81c\uc5b4 \ubd80\uc871<\/li>\n\n\n\n<li>\uc0c8 \ubc84\uc804\uc73c\ub85c\uc758 \ud2b8\ub798\ud53d \ud750\ub984\uc744 \uc81c\uc5b4\ud560 \uc218 \uc5c6\uc74c<\/li>\n\n\n\n<li>\uc900\ube44 <span class='tooltipsall tooltipsincontent classtoolTips8'>\ud504\ub85c\ube0c<\/span>\ub294 \uae4a\uc740, \uc2a4\ud2b8\ub808\uc2a4, \ub610\ub294 \uc77c\ud68c\uc131 \uccb4\ud06c\uc5d0 \uc801\ud569\ud558\uc9c0 \uc54a\uc74c<\/li>\n\n\n\n<li>\uc5c5\ub370\uc774\ud2b8\ub97c \ud655\uc778\ud558\uae30 \uc704\ud574 \uc678\ubd80 \uba54\ud2b8\ub9ad\uc744 \ucffc\ub9ac\ud560 \uc218 \uc5c6\uc74c<\/li>\n\n\n\n<li>\uc9c4\ud589\uc744 \uc911\ub2e8\ud560 \uc218 \uc788\uc9c0\ub9cc \uc5c5\ub370\uc774\ud2b8\ub97c \uc790\ub3d9\uc73c\ub85c \uc911\ub2e8\ud558\uace0 \ub864\ubc31\ud560 \uc218 \uc5c6\uc74c<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ucee8\ud2b8\ub864\ub7ec <strong>\uae30\ub2a5<\/strong>:\n<ul>\n<li><strong>\ube14\ub8e8-\uadf8\ub9b0<\/strong> \uc5c5\ub370\uc774\ud2b8 \uc804\ub7b5<\/li>\n\n\n\n<li>\uce74\ub098\ub9ac \uc5c5\ub370\uc774\ud2b8 \uc804\ub7b5<\/li>\n\n\n\n<li>\uc138\ubc00\ud558\uac8c \uc870\uc815\ub41c \uac00\uc911\uce58 \ud2b8\ub798\ud53d \uc774\ub3d9<\/li>\n\n\n\n<li>\uc790\ub3d9 \ub864\ubc31 \ubc0f \ud504\ub85c\ubaa8\uc158<\/li>\n\n\n\n<li>\uc218\ub3d9 \ud310\ub2e8<\/li>\n\n\n\n<li>\ube44\uc988\ub2c8\uc2a4 KPI\uc758 \uba54\ud2b8\ub9ad \ucffc\ub9ac \ubc0f \ubd84\uc11d\uc744 \uc0ac\uc6a9\uc790 \uc815\uc758<\/li>\n\n\n\n<li>\uc778\uadf8\ub808\uc2a4 \ucee8\ud2b8\ub864\ub7ec \ud1b5\ud569: NGINX, ALB, Apache APISIX<\/li>\n\n\n\n<li>\uc11c\ube44\uc2a4 \uba54\uc2dc \ud1b5\ud569: Istio, Linkerd, SMI<\/li>\n\n\n\n<li>\uc5ec\ub7ec \uacf5\uae09 \uc5c5\uccb4\uc758 \ub3d9\uc2dc \uc0ac\uc6a9: SMI + NGINX, Istio + ALB \ub4f1<\/li>\n\n\n\n<li>\uba54\ud2b8\ub9ad \uacf5\uae09 \uc5c5\uccb4 \ud1b5\ud569: Prometheus, Wavefront, Kayenta, Web, Kubernetes Jobs, Datadog, New Relic, Graphite, InfluxDB<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"(pak8266@myeks:argocd) [root@myeks-bastion ~]# cat &lt;&lt;EOT &gt; argorollouts-values.yaml\n&gt; dashboard:\n&gt;   enabled: true\n&gt;   ingress:\n&gt;     enabled: true\n&gt;     ingressClassName: alb\n&gt;     hosts:\n&gt;       - argorollouts.$MyDomain\n&gt;     annotations:\n&gt;       alb.ingress.kubernetes.io\/scheme: internet-facing\n&gt;       alb.ingress.kubernetes.io\/target-type: ip\n&gt;       alb.ingress.kubernetes.io\/backend-protocol: HTTP\n&gt;       alb.ingress.kubernetes.io\/listen-ports: '[{&quot;HTTPS&quot;:80}, {&quot;HTTPS&quot;:443}]'\n&gt;       alb.ingress.kubernetes.io\/certificate-arn: $CERT_ARN\n&gt;       alb.ingress.kubernetes.io\/ssl-redirect: '443'\n&gt;\nEOT\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# kubectl create ns argo-rollouts\nnamespace\/argo-rollouts created\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# helm install argo-rollouts argo\/argo-rollouts --version 2.35.1 -f argorollouts-values.yaml --namespace argo-rollouts\nNAME: argo-rollouts\nLAST DEPLOYED: Sun Apr 20 16:11:47 2024\nNAMESPACE: argo-rollouts\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# kubectl get all -n argo-rollouts\n\nNAME                                           READY   STATUS    RESTARTS   AGE\npod\/argo-rollouts-7647d689d6-hrcsm             1\/1     Running   0          56s\npod\/argo-rollouts-7647d689d6-s4lqj             1\/1     Running   0          56s\npod\/argo-rollouts-dashboard-79d489cfc7-4h8h2   1\/1     Running   0          56s\n\nNAME                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE\nservice\/argo-rollouts-dashboard   ClusterIP   10.100.117.204   &lt;none&gt;        3100\/TCP   56s\n\nNAME                                      READY   UP-TO-DATE   AVAILABLE   AGE\ndeployment.apps\/argo-rollouts             2\/2     2            2           56s\ndeployment.apps\/argo-rollouts-dashboard   1\/1     1            1           56s\n\nNAME                                                 DESIRED   CURRENT   READY   AGE\nreplicaset.apps\/argo-rollouts-7647d689d6             2         2         2       56s\nreplicaset.apps\/argo-rollouts-dashboard-79d489cfc7   1         1         1       56s\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# kubectl get crd | grep argo\nanalysisruns.argoproj.io                     2024-04-20T07:11:49Z\nanalysistemplates.argoproj.io                2024-04-20T07:11:49Z\napplications.argoproj.io                     2024-04-20T05:51:46Z\napplicationsets.argoproj.io                  2024-04-20T05:51:46Z\nappprojects.argoproj.io                      2024-04-20T05:51:46Z\nclusteranalysistemplates.argoproj.io         2024-04-20T07:11:49Z\nexperiments.argoproj.io                      2024-04-20T07:11:49Z\nrollouts.argoproj.io                         2024-04-20T07:11:49Z\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># cat <\/span><span style=\"color: #81A1C1\">&lt;&lt;<\/span><span style=\"color: #ECEFF4\">EOT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> argorollouts-values.yaml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt; dashboard:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;   enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;   ingress:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;     enabled: true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;     ingressClassName: alb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;     hosts:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       - argorollouts.<\/span><span style=\"color: #D8DEE9\">$MyDomain<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;     annotations:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/scheme: internet-facing<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/target-type: ip<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/backend-protocol: HTTP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/listen-ports: &#39;[{&quot;HTTPS&quot;:80}, {&quot;HTTPS&quot;:443}]&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/certificate-arn: <\/span><span style=\"color: #D8DEE9\">$CERT_ARN<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;       alb.ingress.kubernetes.io\/ssl-redirect: &#39;443&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">EOT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># kubectl create ns argo-rollouts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">namespace\/argo-rollouts<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">created<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># helm install argo-rollouts argo\/argo-rollouts --version 2.35.1 -f argorollouts-values.yaml --namespace argo-rollouts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo-rollouts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">LAST<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">DEPLOYED:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Sun<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Apr<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">16<\/span><span style=\"color: #A3BE8C\">:11:47<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2024<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAMESPACE:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo-rollouts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">STATUS:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">deployed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">REVISION:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">TEST<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">SUITE:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">None<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># kubectl get all -n argo-rollouts<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">                                           <\/span><span style=\"color: #A3BE8C\">READY<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">STATUS<\/span><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #A3BE8C\">RESTARTS<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">pod\/argo-rollouts-7647d689d6-hrcsm<\/span><span style=\"color: #D8DEE9FF\">             <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #A3BE8C\">\/1<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #A3BE8C\">Running<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">pod\/argo-rollouts-7647d689d6-s4lqj<\/span><span style=\"color: #D8DEE9FF\">             <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #A3BE8C\">\/1<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #A3BE8C\">Running<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">pod\/argo-rollouts-dashboard-79d489cfc7-4h8h2<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #A3BE8C\">\/1<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #A3BE8C\">Running<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">                              <\/span><span style=\"color: #A3BE8C\">TYPE<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #A3BE8C\">CLUSTER-IP<\/span><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #A3BE8C\">EXTERNAL-IP<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">PORT<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">S<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">service\/argo-rollouts-dashboard<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">ClusterIP<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">10.100<\/span><span style=\"color: #A3BE8C\">.117.204<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #A3BE8C\">non<\/span><span style=\"color: #D8DEE9FF\">e<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #B48EAD\">3100<\/span><span style=\"color: #A3BE8C\">\/TCP<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">                                      <\/span><span style=\"color: #A3BE8C\">READY<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">UP-TO-DATE<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AVAILABLE<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">deployment.apps\/argo-rollouts<\/span><span style=\"color: #D8DEE9FF\">             <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #A3BE8C\">\/2<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">           <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">deployment.apps\/argo-rollouts-dashboard<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #A3BE8C\">\/1<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">           <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">                                                 <\/span><span style=\"color: #A3BE8C\">DESIRED<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">CURRENT<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">READY<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">replicaset.apps\/argo-rollouts-7647d689d6<\/span><span style=\"color: #D8DEE9FF\">             <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">replicaset.apps\/argo-rollouts-dashboard-79d489cfc7<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">       <\/span><span style=\"color: #B48EAD\">56<\/span><span style=\"color: #A3BE8C\">s<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># kubectl get crd <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">grep<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">argo<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">analysisruns.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                     <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T07:11:49Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">analysistemplates.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T07:11:49Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">applications.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                     <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T05:51:46Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">applicationsets.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                  <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T05:51:46Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">appprojects.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                      <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T05:51:46Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">clusteranalysistemplates.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T07:11:49Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">experiments.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                      <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T07:11:49Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">rollouts.argoproj.io<\/span><span style=\"color: #D8DEE9FF\">                         <\/span><span style=\"color: #B48EAD\">2024<\/span><span style=\"color: #A3BE8C\">-04-20T07:11:49Z<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Argo_rollouts_cli\"><\/span>Argo rollouts cli<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"(pak8266@myeks:argocd) [root@myeks-bastion ~]# curl -LO https:\/\/github.com\/argoproj\/argo-rollouts\/releases\/download\/v1.6.4\/kubectl-argo-rollouts-linux-amd64\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# chmod +x .\/kubectl-argo-rollouts-linux-amd64\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# mv .\/kubectl-argo-rollouts-linux-amd64 \/usr\/local\/bin\/kubectl-argo-rollouts\n(pak8266@myeks:argocd) [root@myeks-bastion ~]# kubectl argo rollouts version\nkubectl-argo-rollouts: v1.6.4+a312af9\n  BuildDate: 2023-12-11T18:31:15Z\n  GitCommit: a312af9f632b985ec13f64918b918c5dcd02a15e\n  GitTreeState: clean\n  GoVersion: go1.20.12\n  Compiler: gc\n  Platform: linux\/amd64\nkubectl apply -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-rollouts\/master\/docs\/getting-started\/basic\/rollout.yaml\nkubectl apply -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-rollouts\/master\/docs\/getting-started\/basic\/service.yaml\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># curl -LO https:\/\/github.com\/argoproj\/argo-rollouts\/releases\/download\/v1.6.4\/kubectl-argo-rollouts-linux-amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># chmod +x .\/kubectl-argo-rollouts-linux-amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># mv .\/kubectl-argo-rollouts-linux-amd64 \/usr\/local\/bin\/kubectl-argo-rollouts<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">pak8266@myeks:argocd<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-bastion <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># kubectl argo rollouts version<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl-argo-rollouts:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">v1.6.4+a312af9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">BuildDate:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2023<\/span><span style=\"color: #A3BE8C\">-12-11T18:31:15Z<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GitCommit:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">a312af9f632b985ec13f64918b918c5dcd02a15e<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GitTreeState:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">clean<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">GoVersion:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">go1.20.12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">Compiler:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">gc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">Platform:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">linux\/amd64<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">apply<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-f<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/raw.githubusercontent.com\/argoproj\/argo-rollouts\/master\/docs\/getting-started\/basic\/rollout.yaml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">apply<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">-f<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/raw.githubusercontent.com\/argoproj\/argo-rollouts\/master\/docs\/getting-started\/basic\/service.yaml<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-477-1024x626.png\" alt=\"\" class=\"wp-image-1487\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-477-1024x626.png 1024w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-477-300x183.png 300w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-477-768x469.png 768w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-477.png 1150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Updating_a_Rollout\"><\/span>Updating a Rollout<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1610\" height=\"975\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/EKS_argo_rollout_update-2.gif\" alt=\"\" class=\"wp-image-1490\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Aborting_a_Rollout\"><\/span>Aborting a Rollout<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1610\" height=\"975\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/EKS_argo_rollout_aborting_arollout-1.gif\" alt=\"\" class=\"wp-image-1492\"\/><\/figure>\n<script type=\"text\/javascript\"> toolTips('.classtoolTips8','<span class=\"word_class \">(\ub3d9\uc0ac)<\/span>\u00a0\uce90\ubb3b\ub2e4, \uce90\ub2e4, \uc870\uc0ac\ud558\ub2e4 (=<span class=\"related_word\" lang=\"en\"><span class=\"u_word_dic u_green_dot_active\" data-hook=\"tip\" data-type=\"arken\" data-lang=\"en\">investigate<\/span><\/span>)'); <\/script><script type=\"text\/javascript\"> toolTips('.classtoolTips11','<span class=\"notion-enable-hover\" data-token-index=\"0\">Uniform Resource Locator<br\/><\/span><br\/><br\/><a href=\"\/wordpress\/?p=65\">Detail<\/a>'); <\/script>","protected":false},"excerpt":{"rendered":"<p>CI\/CD\ub294 Continuous Integration (CI) \ubc0f Continuous Deployment (CD)\uc758 \uc57d\uc5b4\uc785\ub2c8\ub2e4. \uc774\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \ubc0f \ubc30\ud3ec \ud504\ub85c\uc138\uc2a4\ub97c \uc790\ub3d9\ud654\ud558\uace0 \uac1c\uc120\ud558\uae30 \uc704\ud55c \uc811\uadfc \ubc29\ubc95\uc785\ub2c8\ub2e4. Jenkins\ub294 \uc790\ub3d9\ud654\ub41c \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \uc790\ub3d9\ud654 \ub3c4\uad6c\uc785\ub2c8\ub2e4. \uc8fc\ub85c CI\/CD \ud30c\uc774\ud504\ub77c\uc778\uc744 \uad6c\ucd95\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ub2e4\uc74c\uc740 Jenkins\uc758 \uc8fc\uc694 \ud2b9\uc9d5\uacfc \uae30\ub2a5\uc785\ub2c8\ub2e4: Jenkins with Kubernetes Argo Argo\ub294 Kubernetes\ub97c \uae30\ubc18\uc73c\ub85c \ud558\ub294 \uc624\ud508 \uc18c\uc2a4 \uc790\ub3d9\ud654 \ub3c4\uad6c\ub85c, &#8230; <a title=\"07-[AEWS]-CI\/CD\" class=\"read-more\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1468\" aria-label=\"More on 07-[AEWS]-CI\/CD\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":""},"categories":[46],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1468"}],"collection":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1468"}],"version-history":[{"count":3,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1468\/revisions"}],"predecessor-version":[{"id":1494,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1468\/revisions\/1494"}],"wp:attachment":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}