{"id":1416,"date":"2020-08-24T18:21:18","date_gmt":"2020-08-24T09:21:18","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1416"},"modified":"2020-08-24T18:21:18","modified_gmt":"2020-08-24T09:21:18","slug":"create-docker-swarm-cluster-for-production","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1416","title":{"rendered":"Create Docker swarm cluster (for production)"},"content":{"rendered":"<h1>Create Docker swarm cluster (for production)<\/h1>\n<h2>\uac1c\uc694<\/h2>\n<h3>first manager node<\/h3>\n<ul>\n<li>\n<p>\uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc\ub294 <strong>\uace0\uc815\uc544\uc774\ud53c<\/strong>\ub97c \uac00\uc838\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub9cc\uc57d auto scaling \uc744 \uace0\ub824\ud558\uace0 \uc788\ub2e4\uba74 <code>\uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc<\/code> \ub294 auto scaling group \uacfc \ub3c5\ub9bd\uc801\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<li>\n<p>\uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc\ub294 \ubaa8\ub4e0 \ub178\ub4dc\uc5d0\uc11c \uc811\uc18d \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ul>\n<h3>manager\/worker node<\/h3>\n<p>manager node \ub294 worker node \ub85c\ub3c4 \uc791\ub3d9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc18c\uaddc\ubaa8\uc758 \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\uc131\ud55c\ub2e4\uba74, \ud074\ub7ec\uc2a4\ud130\uc758 \ub2e8\uc21c\uc131\uc744 \uac00\uc9c0\uae30 \uc704\ud574 \ubaa8\ub4e0 \ub178\ub4dc\ub97c <code>manager node<\/code> \ub85c \uad6c\uc131\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ubcf4\uc548 \uadf8\ub8f9 \uc0dd\uc131<\/h2>\n<p>allow-swarm \uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uaddc\uce59\uc740 \uc0dd\uc131\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-02.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-02.png\" alt=\"\" \/><\/a><\/p>\n<p>protect-swarm \uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc778\ubc14\uc6b4\ub4dc \uaddc\uce59\uc5d0 allow-swarm \ub85c \ubd80\ud130\uc758 \ubaa8\ub4e0 \ud2b8\ub798\ud53d\uc744 \ud5c8\uc6a9\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-03.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-03.png\" alt=\"\" \/><\/a><\/p>\n<h2>Create First Manager Node<\/h2>\n<h3>EC2 instance \uc0dd\uc131<\/h3>\n<p>\ubcf4\uc548\uadf8\ub8f9\uc5d0 \uc704 allow-swarm, protect-swarm \ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1263\">\ub3c4\ucee4<\/a> \ub97c \uc124\uce58\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<h3>first cluster manager \ub85c \uc9c0\uc815<\/h3>\n<pre><code class=\"language-bash\"># init cluster and get command for worker node\ndocker swarm init --advertise-addr &lt;manager private IP&gt;\n\n# get command for manager node\ndocker swarm join-token manager<\/code><\/pre>\n<p>\uc704 \uba85\ub839\uc73c\ub85c \uc0dd\uc131\ub41c Manager(Worker) Node \ucd94\uac00 \uba85\ub839\uc744 \ubcf5\uc0ac\ud574 \ub193\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>Create Manager Node<\/h2>\n<p>\uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131\uc2dc <code>\uc778\uc2a4\ud134\uc2a4 \uc138\ubd80 \uc815\ubcf4 \uad6c\uc131<\/code> \uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-04.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-04.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc778\uc2a4\ud134\uc2a4 \uac2f\uc218\uc5d0 2 \ub97c \uc785\ub825\ud558\uace0, Auto scaling Group \uc744 \uc124\uc815\ud55c \ud6c4, \uc544\ub798\ub85c \uc2a4\ud06c\ub864 \ud569\ub2c8\ub2e4.<\/p>\n<p>Auto scaling Group \uc0dd\uc131\uc2dc, \ub85c\ub4dc \ubc38\ub7f0\uc2f1 \ud65c\uc131\ud654\ub97c \ud574\uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-24-01.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-24-01.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc544\ub798\uc640 \uac19\uc774 \ub3c4\ucee4\uc0dd\uc131 \uc2a4\ud06c\ub9bd\ud2b8\uc640 manager \uc811\uc18d \uba85\ub839\uc744 \ucd94\uac00\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-06.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-06.png\" alt=\"\" \/><\/a><\/p>\n<p>\ubcf4\uc548\uadf8\ub8f9\uc5d0 \uc704 allow-swarm, protect-swarm \ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<p>Worker Node \uc0dd\uc131 \ud6c4 Master Node \uc5d0 \uc811\uc18d\ub41c \uac83\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. \ub300\ub7b5 5-10\ubd84 \uc815\ub3c4 \uac78\ub9bd\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">docker node ls<\/code><\/pre>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-07.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-07.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc704\uc5d0\uc11c <code>\uc778\uc2a4\ud134\uc2a4 \uc138\ubd80 \uc815\ubcf4 \uad6c\uc131<\/code> \uc124\uc815\uc2dc Auto scaling Group \uc744 \uc0dd\uc131\ud588\ub2e4\uba74 \uc778\uc2a4\ud134\uc2a4\ub97c \uc885\ub8cc\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, Auto scaling Group \uba54\ub274\uc5d0\uc11c \uc0ad\uc81c\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>Create Worker Node(Optional)<\/h2>\n<p>\uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131\uc2dc <code>\uc778\uc2a4\ud134\uc2a4 \uc138\ubd80 \uc815\ubcf4 \uad6c\uc131<\/code> \uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-04.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-04.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc778\uc2a4\ud134\uc2a4 \uac2f\uc218\uc5d0 2 \ub97c \uc785\ub825\ud558\uace0, Auto scaling Group \uc744 \uc124\uc815\ud55c \ud6c4, \uc544\ub798\ub85c \uc2a4\ud06c\ub864 \ud569\ub2c8\ub2e4.<\/p>\n<p>Auto scaling Group \uc0dd\uc131\uc2dc, \ub85c\ub4dc \ubc38\ub7f0\uc2f1 \ud65c\uc131\ud654\ub97c \ud574\uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-24-01.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-24-01.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc544\ub798\uc640 \uac19\uc774 \ub3c4\ucee4\uc0dd\uc131 \uc2a4\ud06c\ub9bd\ud2b8\uc640 manager \uc811\uc18d \uba85\ub839\uc744 \ucd94\uac00\ud574 \uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-06.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-06.png\" alt=\"\" \/><\/a><\/p>\n<p>\ubcf4\uc548\uadf8\ub8f9\uc5d0 \uc704 allow-swarm, protect-swarm \ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<p>Worker Node \uc0dd\uc131 \ud6c4 Master Node \uc5d0 \uc811\uc18d\ub41c \uac83\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. \ub300\ub7b5 5-10\ubd84 \uc815\ub3c4 \uac78\ub9bd\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">docker node ls<\/code><\/pre>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-07.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-23-07.png\" alt=\"\" \/><\/a><\/p>\n<p>\uc704\uc5d0\uc11c <code>\uc778\uc2a4\ud134\uc2a4 \uc138\ubd80 \uc815\ubcf4 \uad6c\uc131<\/code> \uc124\uc815\uc2dc Auto scaling Group \uc744 \uc0dd\uc131\ud588\ub2e4\uba74 \uc778\uc2a4\ud134\uc2a4\ub97c \uc885\ub8cc\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, Auto scaling Group \uba54\ub274\uc5d0\uc11c \uc0ad\uc81c\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Create Docker swarm cluster (for production) \uac1c\uc694 first manager node \uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc\ub294 \uace0\uc815\uc544\uc774\ud53c\ub97c \uac00\uc838\uc57c \ud569\ub2c8\ub2e4. \ub9cc\uc57d auto scaling \uc744 \uace0\ub824\ud558\uace0 \uc788\ub2e4\uba74 \uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc \ub294 auto scaling group \uacfc \ub3c5\ub9bd\uc801\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uccab\ubc88\uc9f8 \ub9e4\ub2c8\uc800 \ub178\ub4dc\ub294 \ubaa8\ub4e0 \ub178\ub4dc\uc5d0\uc11c \uc811\uc18d \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4. manager\/worker node manager node \ub294 worker node \ub85c\ub3c4 \uc791\ub3d9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc18c\uaddc\ubaa8\uc758 \ud074\ub7ec\uc2a4\ud130\ub97c \uad6c\uc131\ud55c\ub2e4\uba74, \ud074\ub7ec\uc2a4\ud130\uc758 \ub2e8\uc21c\uc131\uc744\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1416\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1416","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1416","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=1416"}],"version-history":[{"count":5,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1416\/revisions"}],"predecessor-version":[{"id":1422,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1416\/revisions\/1422"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}