{"id":3442,"date":"2021-09-22T10:05:29","date_gmt":"2021-09-22T01:05:29","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3442"},"modified":"2021-09-22T15:39:45","modified_gmt":"2021-09-22T06:39:45","slug":"nomad-%ea%b0%80%ec%a7%80%ea%b3%a0-%eb%86%80%ea%b8%b0-%ec%a0%95%eb%a6%ac%eb%b2%84%ec%a0%84","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3442","title":{"rendered":"nomad \uac00\uc9c0\uace0 \ub180\uae30 (\uc815\ub9ac\ubc84\uc804)"},"content":{"rendered":"<h1>nomad \uac00\uc9c0\uace0 \ub180\uae30 (\uc815\ub9ac\ubc84\uc804)<\/h1>\n<h2>nomad cluster \uc124\uce58<\/h2>\n<p><a href=\"https:\/\/github.com\/skyer9\/NomadClusterForDev\">https:\/\/github.com\/skyer9\/NomadClusterForDev<\/a> \ub97c \uc774\uc6a9\ud574 \ud074\ub7ec\uc2a4\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<h2>\uc124\uce58\ud30c\uc77c \ubd84\uc11d<\/h2>\n<ul>\n<li>\n<p>Docker \uc124\uce58<\/p>\n<p>\ucee8\ud14c\uc774\ub108 \uad00\ub9ac\ub97c \uc704\ud55c Docker \ub97c \uc124\uce58\ud569\ub2c8\ub2e4.<br \/>\nnomad-server \uc640 nomad-client \ub97c \ubd84\ub9ac\ud558\uac8c \ub418\uba74,<br \/>\nnomad-client \uc5d0 Docker \ub97c \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>hey \uc124\uce58<\/p>\n<p>\uc2a4\ud2b8\ub798\uc2a4 \ud234\uc778 <code>hey<\/code> \ub97c \uc124\uce58\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>Nomad \/ Consul \uc124\uce58<\/p>\n<p>Consul \ub294 Cluster \uc758 DNS \uc5ed\ud560\uc744 \ud558\ub294 \ud234\uc785\ub2c8\ub2e4.<br \/>\nJob \uc774 \uc0dd\uc131\ub418\uba74, nomad-client \uc758 \ub79c\ub364 \uc544\uc774\ud53c+\ub79c\ub364 \ud3ec\ud2b8\uc5d0 \ub4f1\ub85d\ub418\ub294\ub370,<br \/>\n\uc11c\ube44\uc2a4\uba85\uc73c\ub85c Consul \uc5d0 \ucffc\ub9ac\ud558\uba74 Consul \uc774 \uc11c\ube44\uc2a4\uac00 \uc704\uce58\ud55c,<br \/>\n\uc544\uc774\ud53c\uc640 \ud3ec\ud2b8\ub97c \uc804\uc1a1\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<p>Nomad \ub294 \ucee8\ud14c\uc774\ub108\ub97c \uad00\ub9ac\ud558\ub294 \ud234\uc785\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>Docker Volume \uc0dd\uc131<\/p>\n<p>Nomad \uc2e4\ud589\uc2dc Docker Volume \ub3c4 \uc0dd\uc131\ud574 \uc90d\ub2c8\ub2e4.<br \/>\n\uc8fc\uc758\ud560 \uac83\uc740 \ub514\ub809\ud1a0\ub9ac\uc640 \uad8c\ud55c\uc744 \uc9c1\uc811 \uc124\uc815\ud574 \uc8fc\uc5b4\uc57c \ud569\ub2c8\ub2e4.<br \/>\n(nomad \uac00 \uc0dd\uc131\ud574 \uc8fc\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4)<\/p>\n<\/li>\n<li>\n<p>\uc11c\ube44\uc2a4 \ub4f1\ub85d<\/p>\n<\/li>\n<\/ul>\n<h2>Consul server Web-UI<\/h2>\n<p><code>http:\/\/&lt;\uc11c\ubc84 \uc544\uc774\ud53c&gt;:8500\/<\/code> \uc5d0 \uc811\uc18d\ud558\uba74,<br \/>\nConsul \uc11c\ubc84\uc758 UI \ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Services \ud0ed\uc5d0\uc11c \ub4f1\ub85d\ub41c \uc11c\ube44\uc2a4\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/09\/2021-09-22-01.png\" alt=\"\" \/><\/p>\n<p>Nodes \ud0ed\uc5d0\uc11c \ubaa8\ub4e0 \ub178\ub4dc\uc758 Health \uc0c1\ud0dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/09\/2021-09-22-02.png\" alt=\"\" \/><\/p>\n<h2>Nomad server Web-UI<\/h2>\n<p><code>http:\/\/&lt;\uc11c\ubc84 \uc544\uc774\ud53c&gt;:4646\/<\/code> \uc5d0 \uc811\uc18d\ud558\uba74,<br \/>\nNomad \uc11c\ubc84\uc758 UI \ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/09\/2021-09-22-03.png\" alt=\"\" \/><\/p>\n<p>\uc2e4\ud589\uc911\uc778 Job \ubaa9\ub85d\uacfc \uc0c1\ud0dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\uace0,<br \/>\n\ud074\ub7ec\uc2a4\ud130 \ub178\ub4dc\ub4e4\uc758 \uc0c1\ud0dc\ub3c4 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub610 \uc2e0\uaddc Job \uc744 \ub4f1\ub85d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/09\/2021-09-22-04.png\" alt=\"\" \/><\/p>\n<p>\uc2e4\ud589\uc911\uc778 Job \uc758 \uc0c1\uc138\uc815\ubcf4\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Job \uc744 \uc815\uc9c0\uc2dc\ud0ac \uc218\ub3c4 \uc788\uace0,<br \/>\nJob \ucee8\ud14c\uc774\ub108\uc5d0 \uc811\uc18d\ud574\uc11c \uba85\ub839\uc744 exec \uc2dc\ud0ac \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>Job \uc0dd\uc131<\/h2>\n<p><a href=\"https:\/\/github.com\/skyer9\/TerraformOnAws\/tree\/main\/run_jobs\">https:\/\/github.com\/skyer9\/TerraformOnAws\/tree\/main\/run_jobs<\/a> \uc5d0 \uc788\ub294 Job \uc744 \uc2e4\ud589\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\n<p><code>haproxy.nomad<\/code> \uc0dd\uc131<\/p>\n<p>Nomad \ub294 \ub79c\ub364 \ub178\ub4dc\uc5d0 \ub79c\ub364 \ud3ec\ud2b8\ub85c Job \uc744 \ud560\ub2f9(alloc) \ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-configuration\">backend jenkins_ui_back\n balance roundrobin\n server-template jenkins_ui 5 _jenkins._tcp.service.consul resolvers consul resolve-opts allow-dup-ip resolve-prefer ipv4 check\n\nresolvers consul\n nameserver consul 127.0.0.1:8600\n accepted_payload_size 8192\n hold valid 5s<\/code><\/pre>\n<p>haproxy \ub294 reverse proxy \ub85c,<br \/>\n<code>_&lt;\uc11c\ube44\uc2a4\uba85&gt;._tcp.service.consul<\/code> \uc758 \ud615\uc2dd\uc73c\ub85c,<br \/>\nconsul \uc11c\ubc84\uc5d0 \uc2e4\uc81c \ud560\ub2f9\ub41c \uc544\uc774\ud53c\uc640 \ud3ec\ud2b8\ub97c \ubc18\ud658\ubc1b\uc544 \uc5f0\uacb0\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p><code>jenkins.nomad<\/code> \uc0dd\uc131<\/p>\n<p><code>http:\/\/&lt;\uc11c\ubc84 \uc544\uc774\ud53c&gt;:8000\/<\/code> \uc5d0 \uc811\uc18d\ud558\uba74,<br \/>\njenkins \uc11c\ubc84\uc758 UI \ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ul>\n<h2>consul\/nomad \ub294 dockerize \ud574\uc57c\ud558\ub098 \ub9d0\uc544\uc57c \ud558\ub098<\/h2>\n<p>\uac04\ub2e8\ud788, <code>consul\/nomad<\/code> \ub294 dockerize \uc548\ud558\ub294\uac8c \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub798\uc57c, \uac01 service \uc5d0\uc11c \ub178\ub4dc\uc5d0 \uc124\uce58\ub41c consul\/nomad \uc811\uadfc\uc774 \uc6a9\uc774\ud574 \uc9d1\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>nomad \uac00\uc9c0\uace0 \ub180\uae30 (\uc815\ub9ac\ubc84\uc804) nomad cluster \uc124\uce58 https:\/\/github.com\/skyer9\/NomadClusterForDev \ub97c \uc774\uc6a9\ud574 \ud074\ub7ec\uc2a4\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc124\uce58\ud30c\uc77c \ubd84\uc11d Docker \uc124\uce58 \ucee8\ud14c\uc774\ub108 \uad00\ub9ac\ub97c \uc704\ud55c Docker \ub97c \uc124\uce58\ud569\ub2c8\ub2e4. nomad-server \uc640 nomad-client \ub97c \ubd84\ub9ac\ud558\uac8c \ub418\uba74, nomad-client \uc5d0 Docker \ub97c \uc124\uce58\ud569\ub2c8\ub2e4. hey \uc124\uce58 \uc2a4\ud2b8\ub798\uc2a4 \ud234\uc778 hey \ub97c \uc124\uce58\ud574 \uc90d\ub2c8\ub2e4. Nomad \/ Consul \uc124\uce58 Consul \ub294 Cluster \uc758 DNS \uc5ed\ud560\uc744 \ud558\ub294 \ud234\uc785\ub2c8\ub2e4. Job \uc774\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3442\">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":[31],"tags":[],"class_list":["post-3442","post","type-post","status-publish","format-standard","hentry","category-nomad"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3442","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=3442"}],"version-history":[{"count":6,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3442\/revisions"}],"predecessor-version":[{"id":3459,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3442\/revisions\/3459"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}