{"id":6845,"date":"2022-10-28T22:33:19","date_gmt":"2022-10-28T13:33:19","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=6845"},"modified":"2025-08-05T09:52:27","modified_gmt":"2025-08-05T00:52:27","slug":"kubernetes-argocd-%ec%84%a4%ec%b9%98","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=6845","title":{"rendered":"Kubernetes &#8211; ArgoCD \uc124\uce58"},"content":{"rendered":"<h1>Kubernetes &#8211; ArgoCD \uc124\uce58<\/h1>\n<h2>ArgoCD \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\">kubectl create namespace argocd\nkubectl apply -n argocd -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-cd\/stable\/manifests\/install.yaml<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl get svc argocd-server -n argocd<\/code><\/pre>\n<p>\ud0c0\uc785\uc744 NodePort \ub85c \ubcc0\uacbd\ud574\uc900\ub2e4.<\/p>\n<pre><code class=\"language-bash\">kubectl edit svc argocd-server -n argocd\n---------------------------\nspec:\n  clusterIP: 10.107.7.97\n  clusterIPs:\n  - 10.107.7.97\n  internalTrafficPolicy: Cluster\n  ipFamilies:\n  - IPv4\n  ipFamilyPolicy: SingleStack\n  ports:\n  - name: http\n    port: 80\n    nodePort: 30100            # \uc5ec\uae30\n    targetPort: 8080\n - name: https\n   port: 443\n   protocol: TCP\n   targetPort: 8080\n  selector:\n    app.kubernetes.io\/name: argocd-server\n  sessionAffinity: None\n  type: NodePort                # \uc5ec\uae30\n---------------------------<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl get svc argocd-server -n argocd<\/code><\/pre>\n<p><a href=\"https:\/\/\uc6cc\ucee4\ub178\ub4dcIP:30100\/\">https:\/\/\uc6cc\ucee4\ub178\ub4dcIP:30100\/<\/a> \ub85c \uc811\uc18d\ud560 \uc218 \uc788\ub2e4.<br \/>\n(HTTPS \uc811\uc18d\uc774\uace0 \uacbd\uace0\uac00 \ub728\uc9c0\ub9cc \ubb34\uc2dc\ud558\uace0 \uc811\uc18d\ud560 \uc218 \uc788\ub2e4.)<\/p>\n<pre><code class=\"language-bash\">kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=&quot;{.data.password}&quot; | base64 -d; echo<\/code><\/pre>\n<p>admin\/\ube44\ubc00\ubc88\ud638 \ub97c \uc774\uc6a9\ud574 \ub85c\uadf8\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<h2>https \ube44\ud65c\uc131\ud654<\/h2>\n<p>\uc544\ub798 \uba85\ub839\uc73c\ub85c https \uc804\ud658\uc774 \uac15\uc81c\ub418\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-bash\">skyer9@notebook:~\/work\/cert2$ kubectl get svc -n argocd\nNAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE\nargocd-server                             ClusterIP   10.98.113.43     &lt;none&gt;        80\/TCP,443\/TCP               7d22h\n\ncurl http:\/\/10.98.113.43\/\n&lt;a href=&quot;https:\/\/10.98.113.43\/&quot;&gt;Temporary Redirect&lt;\/a&gt;.<\/code><\/pre>\n<p>server.insecure: &quot;true&quot; \uc744 \ucd94\uac00\ud574 \uc900\ub2e4.<\/p>\n<pre><code class=\"language-bash\">kubectl edit cm argocd-cmd-params-cm -n argocd\n\n......\napiVersion: v1\ndata:\n  server.insecure: &quot;true&quot;\n......<\/code><\/pre>\n<p>\uc0dd\uc131\ub418\uc5b4 \uc788\ub294 Pod \ub97c \uc0ad\uc81c\ud55c\ub2e4.<\/p>\n<pre><code class=\"language-bash\">kubectl get pod -n argocd\nkubectl delete pod argocd-server-7b4888c795-qkm4n -n argocd\nkubectl get pod -n argocd<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl get svc -n argocd\ncurl http:\/\/10.98.113.43\/<\/code><\/pre>\n<h2>SSL \uc778\uc99d\uc11c \uc801\uc6a9\ud558\uae30<\/h2>\n<pre><code class=\"language-bash\">kubectl create secret tls argocd-server-tls \\\n  --cert=\/home\/skyer9\/cert\/fullchain.pem \\\n  --key=\/home\/skyer9\/cert\/privkey.pem \\\n  -n argocd<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl patch configmap argocd-cmd-params-cm -n argocd --patch &#039;{&quot;data&quot;:{&quot;server.insecure&quot;:&quot;false&quot;}}&#039;<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl patch deployment argocd-server -n argocd --patch &#039;\n{\n  &quot;spec&quot;: {\n    &quot;template&quot;: {\n      &quot;spec&quot;: {\n        &quot;containers&quot;: [\n          {\n            &quot;name&quot;: &quot;argocd-server&quot;,\n            &quot;volumeMounts&quot;: [\n              {\n                &quot;name&quot;: &quot;tls-cert&quot;,\n                &quot;mountPath&quot;: &quot;\/app\/config\/tls&quot;,\n                &quot;readOnly&quot;: true\n              }\n            ]\n          }\n        ],\n        &quot;volumes&quot;: [\n          {\n            &quot;name&quot;: &quot;tls-cert&quot;,\n            &quot;secret&quot;: {\n              &quot;secretName&quot;: &quot;argocd-server-tls&quot;\n            }\n          }\n        ]\n      }\n    }\n  }\n}&#039;<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl patch svc argocd-server -n argocd --patch &#039;\n{\n  &quot;spec&quot;: {\n    &quot;ports&quot;: [\n      {\n        &quot;name&quot;: &quot;http&quot;,\n        &quot;port&quot;: 80,\n        &quot;nodePort&quot;: 30100,\n        &quot;targetPort&quot;: 8080\n      },\n      {\n        &quot;name&quot;: &quot;https&quot;,\n        &quot;port&quot;: 443,\n        &quot;nodePort&quot;: 30443,\n        &quot;protocol&quot;: &quot;TCP&quot;,\n        &quot;targetPort&quot;: 8080\n      }\n    ]\n  }\n}&#039;<\/code><\/pre>\n<pre><code class=\"language-bash\">kubectl rollout restart deployment argocd-server -n argocd\nkubectl rollout status deployment argocd-server -n argocd<\/code><\/pre>\n<p><a href=\"https:\/\/\uc6cc\ucee4\ub178\ub4dcIP:30443\/\">https:\/\/\uc6cc\ucee4\ub178\ub4dcIP:30443\/<\/a> \ub85c \uc811\uc18d\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>&quot;\uc8fc\uc758 \uc694\ud568&quot; \uc774\ub77c\ub294 \ubb38\uad6c\uac00 \ub0a8\uc544\uc788\uc744 \uc218 \uc788\ub2e4.<br \/>\n\uc774\ub7f4 \ub54c\ub294 \ub2e4\ub978 \ube0c\ub77c\uc6b0\uc800(\uc5e3\uc9c0, \uc0ac\ud30c\ub9ac \ub4f1\ub4f1) \ub97c \uc774\uc6a9\ud574 \uc811\uc18d\ud558\uba74 &quot;\uc8fc\uc758 \uc694\ud568&quot; \ubb38\uad6c\uac00 \ud45c\uc2dc\ub418\uc9c0 \uc54a\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes &#8211; ArgoCD \uc124\uce58 ArgoCD \uc124\uce58 kubectl create namespace argocd kubectl apply -n argocd -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-cd\/stable\/manifests\/install.yaml kubectl get svc argocd-server -n argocd \ud0c0\uc785\uc744 NodePort \ub85c \ubcc0\uacbd\ud574\uc900\ub2e4. kubectl edit svc argocd-server -n argocd &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; spec: clusterIP: 10.107.7.97 clusterIPs: &#8211; 10.107.7.97 internalTrafficPolicy: Cluster ipFamilies: &#8211; IPv4 ipFamilyPolicy: SingleStack ports: &#8211; name: http port: 80 nodePort: 30100 #\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=6845\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-6845","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6845"}],"version-history":[{"count":8,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6845\/revisions"}],"predecessor-version":[{"id":10622,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6845\/revisions\/10622"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}