{"id":5235,"date":"2018-06-05T04:50:16","date_gmt":"2018-06-05T11:50:16","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5235"},"modified":"2023-06-13T02:19:55","modified_gmt":"2023-06-13T09:19:55","slug":"elastic-microservices-with-kubernetes-and-spring-boot","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/elastic-microservices-with-kubernetes-and-spring-boot\/","title":{"rendered":"Kubernetes, Spring Boot\ub85c Elastic \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\ucd95\ud558\uae30"},"content":{"rendered":"<p>\ucd5c\uadfc\uc758 Kubernetes\uc640 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub3c4\ucee4\ud654 \uc5ec\ubd80\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ub17c\uc758\uc640\ub294 \ubcc4\uac1c\ub85c, \uc624\ub298\uc740 \ud655\uc7a5\uc131\uacfc \ud0c4\ub825\uc131\uc774 \uc544\ud0a4\ud14d\ucc98\uc5d0\uc11c \ud070 \uc694\uad6c \uc0ac\ud56d\uc77c \ub54c \uc774 \ub450 \uac00\uc9c0\uac00 \uc65c \uc88b\uc740 \uc194\ub8e8\uc158\uc774 \ub420 \uc218 \uc788\ub294\uc9c0 \ubcf4\uc5ec\ub4dc\ub9ac\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n<p>\ube44\uacb0\uc740 \uac04\ub2e8\ud569\ub2c8\ub2e4: <span style=\"font-weight: 400\">\ucfe0\ubc84\ub124\ud2f0\uc2a4\ub97c \uc0ac\uc6a9\ud55c \uc2a4\ud504\ub9c1 \ubd80\ud305 <\/span>NoSQL\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ubaa8\ub450 \ubc30\ud3ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3>\uc65c NoSQL\uacfc \uc2a4\ud504\ub9c1 \ub370\uc774\ud130\uc778\uac00?<\/h3>\n<p>\ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uba74 \uc804\uccb4 \uad6c\uc870\uac00 \ub2e8\uc77c \ubb38\uc11c\uc5d0 \uc800\uc7a5\ub418\ubbc0\ub85c \ubd88\ud544\uc694\ud55c \uc870\uc778\uc744 \ub9ce\uc774 \ud53c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ub370\uc774\ud130\uac00 \uc99d\uac00\ud568\uc5d0 \ub530\ub77c \uc790\uc5f0\uc2a4\ub7fd\uac8c \uad00\uacc4\ud615 \ubaa8\ub378\ubcf4\ub2e4 \ub354 \ube60\ub978 \uc131\ub2a5\uc744 \ubc1c\ud718\ud569\ub2c8\ub2e4.<\/p>\n<p>JVM \uc5b8\uc5b4 \uc911 \ud558\ub098\ub97c \uc0ac\uc6a9 \uc911\uc774\ub77c\uba74 Spring Data\uc640 Spring Boot\uac00 \uaf64 \uc775\uc219\ud560 \uac83\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc0ac\uc804 \uc9c0\uc2dd\uc774 \uc5c6\uc5b4\ub3c4 NoSQL\uc744 \ube60\ub974\uac8c \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3>\uc65c \ucfe0\ubc84\ub124\ud2f0\uc2a4\uc778\uac00?<\/h3>\n<p>\ucfe0\ubc84\ub124\ud2f0\uc2a4(K8s)\ub97c \uc0ac\uc6a9\ud558\uba74 \ud074\ub77c\uc6b0\ub4dc\uc5d0 \uad6c\uc560\ubc1b\uc9c0 \uc54a\ub294 \ud658\uacbd\uc5d0\uc11c \uc0c1\ud0dc \uc800\uc7a5 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ud655\uc7a5 \ubc0f \ucd95\uc18c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd5c\uadfc \uba87 \uac00\uc9c0 \ubc84\uc804\uc5d0\uc11c\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \uac19\uc740 \uc0c1\ud0dc \uc800\uc7a5 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\ub3c4 \ucd94\uac00\ub418\uc5c8\ub294\ub370, \uc774\uac83\uc774 \ubc14\ub85c \uc694\uc998 K8\uc774 \ud654\uc81c\uac00 \ub418\uace0 \uc788\ub294 (\ub9ce\uc740) \uc774\uc720 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc5d0\uc11c \ubcf4\uc5ec\ub4dc\ub838\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/databases-on-kubernetes\/\">\uc774\uc804 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c<\/a> K8\uc5d0 Couchbase\ub97c \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\uacfc \uc27d\uac8c \ud655\uc7a5 \ubc0f \ucd95\uc18c\ud558\uc5ec \"\ud0c4\ub825\uc801\uc73c\ub85c\" \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \uc544\uc9c1 \uc77d\uc5b4\ubcf4\uc9c0 \uc54a\uc73c\uc168\ub2e4\uba74 \uc5ec\uae30\uc11c \uc124\uba85\ud560 \ub0b4\uc6a9 \uc911 \uc911\uc694\ud55c \ubd80\ubd84\uc774\ubbc0\ub85c \uba87 \ubd84\ub9cc \ub354 \uc2dc\uac04\uc744 \ub0b4\uc5b4 \ub3d9\uc601\uc0c1 \ub300\ubcf8\uc744 \uc0b4\ud3b4\ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2>\uc0ac\uc6a9\uc790 \ud504\ub85c\ud544 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30<\/h2>\n<p>\ub300\ubd80\ubd84\uc758 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc0ac\uc6a9\uc790(\ubc0f \ubaa8\ub4e0 \uad00\ub828 \uc5d4\ud2f0\ud2f0)\ub294 \uac00\uc7a5 \uc790\uc8fc \uc561\uc138\uc2a4\ud558\ub294 \ub370\uc774\ud130\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \ub370\uc774\ud130\uac00 \uc99d\uac00\ud568\uc5d0 \ub530\ub77c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uac00\uc7a5 \uba3c\uc800 \uc77c\uc885\uc758 \ucd5c\uc801\ud654\ub97c \uac70\uccd0\uc57c \ud558\ub294 \ubd80\ubd84 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n<p>\uce90\uc2dc \ub808\uc774\uc5b4\ub97c \ucd94\uac00\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uba3c\uc800 \uc0dd\uac01\ud560 \uc218 \uc788\ub294 \ucd5c\uc801\ud654 \uc720\ud615\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc544\uc9c1 '\ucd5c\uc885 \ud574\uacb0\ucc45'\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uac00 \uc218\ucc9c \uba85\uc5d0 \ub2ec\ud558\uac70\ub098 \uc0ac\uc6a9\uc790 \uad00\ub828 \uc5d4\ud2f0\ud2f0\ub3c4 \uba54\ubaa8\ub9ac\uc5d0 \uc800\uc7a5\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc0c1\ud669\uc774 \uc870\uae08 \ub354 \ubcf5\uc7a1\ud574\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc29\ub300\ud55c \uc591\uc758 \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uc744 \uad00\ub9ac\ud558\ub294 \uac83\uc740 \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc801\ud569\ud55c \uac83\uc73c\ub85c \uc798 \uc54c\ub824\uc838 \uc788\uc2b5\ub2c8\ub2e4. \ubb38\uc11c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 <a href=\"https:\/\/www.youtube.com\/watch?v=B3IGuOzuL3I\">\ud3ec\ucf13\ubaac \uace0 \uc0ac\uc6a9 \uc0ac\ub840<\/a>\ub97c \uc608\ub85c \ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud655\uc7a5\uc131\uacfc \ud0c4\ub825\uc131\uc774 \ub6f0\uc5b4\ub09c \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544 \uc11c\ube44\uc2a4\ub97c \uad6c\ucd95\ud558\ub294 \uac83\uc740 \ud655\uc7a5\uc131\uc774 \ub6f0\uc5b4\ub09c \ub9c8\uc774\ud06c\ub85c \uc11c\ube44\uc2a4\ub97c \uc124\uacc4\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc904 \uc218 \uc788\ub294 \ucda9\ubd84\ud55c \uacfc\uc81c\uc778 \uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<h4>\ud544\uc694\ud55c \uac83<\/h4>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/downloads\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/a><\/li>\n<li>JDK \ubc0f \ub86c\ubcf5\uc6a9 \ud50c\ub7ec\uadf8\uc778 <a href=\"https:\/\/projectlombok.org\/setup\/eclipse\">\uc774\ud074\ub9bd\uc2a4<\/a> \ub610\ub294 <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/6317-lombok-plugin\">\uc778\ud154\ub9ac\uc804\ud2b8<\/a><\/li>\n<li>\u00a0Maven<\/li>\n<li>\uad6c\ubc84\ub124\ud2f0\uc2a4 \ud074\ub7ec\uc2a4\ud130 - AWS\uc758 3\uac1c \ub178\ub4dc\uc5d0\uc11c \uc774 \uc608\uc81c\ub97c \uc2e4\ud589\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4(\ubbf8\ub2c8\ud050\ube0c\ub294 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4). \uc124\uc815 \ubc29\ubc95\uc744 \ubaa8\ub974\ub294 \uacbd\uc6b0 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/www.youtube.com\/watch?v=bzBtR0N0QBI\">\ube44\ub514\uc624<\/a>.<\/li>\n<\/ul>\n<h2><strong>\ucf54\ub4dc<\/strong><\/h2>\n<p>\uc5ec\uae30\uc5d0\uc11c \uc804\uccb4 \ud504\ub85c\uc81d\ud2b8\ub97c \ubcf5\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">https:\/\/github.com\/couchbaselabs\/kubernetes-starter-kit<\/pre>\n<p>&nbsp;<\/p>\n<p>\uc0ac\uc6a9\uc790\ub77c\ub294 \uae30\ubcf8 \uc5d4\ud2f0\ud2f0\ub97c \ub9cc\ub4dc\ub294 \uac83\ubd80\ud130 \uc2dc\uc791\ud558\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:java decode:true\">@Document\r\n@Data\r\n@AllArgsConstructor\r\n@NoArgsConstructor\r\n@EqualsAndHashCode\r\npublic class User extends BasicEntity {\r\n\r\n    @NotNull\r\n    @Id\r\n    private String id;\r\n\r\n    @NotNull\r\n    @Field\r\n    private String name;\r\n\r\n    @Field\r\n    private Address address;\r\n\r\n    @Field\r\n    private List&lt;Preference&gt; preferences = new ArrayList&lt;&gt;();\r\n\r\n    @Field\r\n    private List&lt;String&gt; securityRoles = new ArrayList&lt;&gt;();\r\n\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\uc774 \uc5d4\ud2f0\ud2f0\uc5d0\ub294 \ub450 \uac00\uc9c0 \uc911\uc694\ud55c \uc18d\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li><strong>\ubcf4\uc548 \uc5ed\ud560:<\/strong> \uc0ac\uc6a9\uc790\uac00 \uc2dc\uc2a4\ud15c \ub0b4\uc5d0\uc11c \uc218\ud589\ud560 \uc218 \uc788\ub294 \ubaa8\ub4e0 \uc5ed\ud560.<\/li>\n<li><strong>\ud658\uacbd\uc124\uc815:<\/strong> \uc5b8\uc5b4, \uc54c\ub9bc, \ud1b5\ud654 \ub4f1 \uc0ac\uc6a9\uc790\uac00 \uac00\uc9c8 \uc218 \uc788\ub294 \ubaa8\ub4e0 \uac00\ub2a5\ud55c \uae30\ubcf8 \uc124\uc815\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774\uc81c \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\ub97c \uc870\uae08 \uc0ac\uc6a9\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Spring \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \uc5ec\uae30\uc5d0\uc11c \uac70\uc758 \ubaa8\ub4e0 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">@N1qlPrimaryIndexed\r\n@ViewIndexed(designDoc = \"user\")\r\npublic interface UserRepository extends CouchbasePagingAndSortingRepository&lt;User, String&gt; {\r\n    List&lt;User&gt; findByName(String name);\r\n}<\/pre>\n<h6>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc640 Spring \ub370\uc774\ud130\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uace0 \uc2f6\uc73c\uc2dc\ub2e4\uba74,<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-spring-boot-spring-data\/\"> \uc774 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \ud655\uc778\ud558\uc138\uc694.<\/a>.<\/h6>\n<p>\ub2e4\ub978 \ub450 \uac00\uc9c0 \ubc29\ubc95\ub3c4 \uad6c\ud604\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">@Query(\"#{#n1ql.selectEntity} where #{#n1ql.filter} and ANY preference IN \" +\r\n            \" preferences SATISFIES preference.name = $1 END\")\r\nList&lt;User&gt; findUsersByPreferenceName(String name);\r\n\r\n@Query(\"#{#n1ql.selectEntity} where #{#n1ql.filter} and meta().id = $1 and ARRAY_CONTAINS(securityRoles, $2)\")\r\nUser hasRole(String userId, String role);<\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li><strong>hasRole:<\/strong> \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc9c0\uc815\ub41c \uc5ed\ud560\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:<\/li>\n<li><strong>findUsersByPreferenceName:<\/strong> \uc774\ub984 \uadf8\ub300\ub85c \ud2b9\uc815 \ud658\uacbd\uc124\uc815\uc774 \ud3ec\ud568\ub41c \ubaa8\ub4e0 \uc0ac\uc6a9\uc790\ub97c \ucc3e\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc704 \ucf54\ub4dc\uc5d0\uc11c\ub294 \uc77c\ubc18 JQL\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\ubcf4\ub2e4 \ucffc\ub9ac\uac00 \ud6e8\uc52c \uac04\ub2e8\ud558\uae30 \ub54c\ubb38\uc5d0 N1QL \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\uc74c\uc744 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub610\ud55c \ubaa8\ub4e0 \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud558\uc5ec \ubaa8\ub4e0 \uac83\uc774 \uc81c\ub300\ub85c \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5236\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-1024x312.png\" alt=\"\" width=\"693\" height=\"211\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-1024x312.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-300x91.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-768x234.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-1536x468.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM-1320x402.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-11.10.30-AM.png 1876w\" sizes=\"auto, (max-width: 693px) 100vw, 693px\" \/><\/p>\n<p>\ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 \uc62c\ubc14\ub978 \uc790\uaca9 \uc99d\uba85\uc73c\ub85c application.properties\ub97c \ubcc0\uacbd\ud558\ub294 \uac83\uc744 \uc78a\uc9c0 \ub9c8\uc138\uc694:<\/p>\n<pre class=\"lang:default decode:true\">spring.couchbase.bootstrap-hosts=localhost\r\nspring.couchbase.bucket.name=test\r\nspring.couchbase.bucket.password=couchbase\r\nspring.data.couchbase.auto-index=true<\/pre>\n<p>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \ud14c\uc2a4\ud2b8\ud558\uae30 \uc704\ud574 \uba87 \uac00\uc9c0 Restful \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">@RestController\r\n@RequestMapping(\"\/api\/user\")\r\npublic class UserServiceController {\r\n\r\n    @Autowired\r\n    private UserService userService;\r\n    \r\n    @RequestMapping(value = \"\/{id}\", method = GET, produces = APPLICATION_JSON_VALUE)\r\n    public User findById(@PathParam(\"id\") String id) {\r\n        return userService.findById(id);\r\n    }\r\n\r\n    @RequestMapping(value = \"\/preference\", method = GET, produces = APPLICATION_JSON_VALUE)\r\n    public List&lt;User&gt; findPreference(@RequestParam(\"name\") String name) {\r\n        return userService.findUsersByPreferenceName(name);\r\n    }\r\n\r\n    @RequestMapping(value = \"\/find\", method = GET, produces = APPLICATION_JSON_VALUE)\r\n    public List&lt;User&gt; findUserByName(@RequestParam(\"name\") String name) {\r\n        return userService.findByName(name);\r\n    }\r\n\r\n    @RequestMapping(value = \"\/save\", method = POST, produces = APPLICATION_JSON_VALUE)\r\n    public User findUserByName(@RequestBody User user) {\r\n        return userService.save(user);\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<h3>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ub3c4\ucee4\ud654<\/h3>\n<p>\uba3c\uc800 <strong>application.properties<\/strong> \ub97c \uc0ac\uc6a9\ud558\uc5ec \ud658\uacbd \ubcc0\uc218\uc5d0\uc11c \uc5f0\uacb0 \uc790\uaca9 \uc99d\uba85\uc744 \uac00\uc838\uc635\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">spring.couchbase.bootstrap-hosts=${COUCHBASE_HOST}\r\nspring.couchbase.bucket.name=${COUCHBASE_BUCKET}\r\nspring.couchbase.bucket.password=${COUCHBASE_PASSWORD}\r\nspring.data.couchbase.auto-index=true<\/pre>\n<p>\uc774\uc81c Docker\ud30c\uc77c\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">FROM openjdk:8-jdk-alpine\r\nVOLUME \/tmp\r\nMAINTAINER Denis Rosa &lt;denis.rosa@couchbase.com&gt;\r\nARG JAR_FILE\r\nADD ${JAR_FILE} app.jar\r\nENTRYPOINT [\"java\",\"-Djava.security.egd=file:\/dev\/.\/urandom\",\"-jar\",\"\/app.jar\"]<\/pre>\n<p>\uadf8\ub7f0 \ub2e4\uc74c Docker Hub\uc5d0 \uc774\ubbf8\uc9c0\ub97c \ube4c\ub4dc\ud558\uace0 \uac8c\uc2dc\ud569\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4ed\ub2c8\ub2e4:<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">.\/mvnw install dockerfile:build -DskipTests<\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li>\uba85\ub839\uc904\uc5d0\uc11c Docker Hub\uc5d0 \ub85c\uadf8\uc778\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">docker login<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5237\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-1024x103.png\" alt=\"\" width=\"900\" height=\"91\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-1024x103.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-300x30.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-768x77.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-1536x155.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM-1320x133.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.06.07-PM.png 1788w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<ul>\n<li>\u00a0\ucd5c\uadfc\uc5d0 \uc0dd\uc131\ud55c \uc774\ubbf8\uc9c0\uc758 \uc774\ubbf8\uc9c0\uc544\uc774\ub514\ub97c \uac00\uc838\uc635\ub2c8\ub2e4:\n<pre class=\"lang:default decode:true\">\ub3c4\ucee4 \uc774\ubbf8\uc9c0<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5238\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-1024x119.png\" alt=\"\" width=\"900\" height=\"105\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-1024x119.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-300x35.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-768x89.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM-1320x153.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.03.00-PM.png 1376w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/li>\n<li>\uc774\ubbf8\uc9c0\uc544\uc774\ub514\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0c8 \ud0dc\uadf8\ub97c \ub9cc\ub4ed\ub2c8\ub2e4:<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">\/\/docker tag YOUR_IMAGE_ID YOUR_USER\/REPO_NAME\r\ndocker tag 3f9db98544bd deniswsrosa\/kubernetes-starter-kit<\/pre>\n<p>&nbsp;<\/p>\n<ul>\n<li>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc774\ubbf8\uc9c0\ub97c \ud478\uc2dc\ud569\ub2c8\ub2e4:\n<pre class=\"lang:default decode:true\">docker push deniswsrosa\/kubernetes-starter-kit<\/pre>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5239\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-1024x176.png\" alt=\"\" width=\"900\" height=\"155\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-1024x176.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-300x52.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-768x132.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM-1320x227.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.32.32-PM.png 1350w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/>\uc774\uc81c Docker Hub\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5240\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-1024x131.png\" alt=\"\" width=\"610\" height=\"78\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-1024x131.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-300x38.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-768x98.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-1536x196.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM-1320x169.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-1.34.30-PM.png 1596w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>\ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad6c\uc131<\/h3>\n<p>\uc774\uc5d0 \ub300\ud55c \uc804\uccb4 \uae30\uc0ac\ub97c \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/databases-on-kubernetes\/\">\uc5ec\uae30<\/a>\ub97c \uc0ac\uc6a9\ud558\ub418 \uc9e7\uac8c \uc720\uc9c0\ud558\uc138\uc694. \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uba74 \ub429\ub2c8\ub2e4. <strong>\ucfe0\ubc84\ub124\ud2f0\uc2a4 \ub514\ub809\ud130\ub9ac \ub0b4\ubd80<\/strong>.<\/p>\n<pre class=\"lang:default decode:true\">.\/rbac\/cluster_role.sh\r\nkubectl create -f secret.yaml\r\nkubectl create -f operator.yaml\r\nkubectl create -f couchbase-cluster.yaml<\/pre>\n<p>\uc7a0\uc2dc \ud6c4 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc758 3\uac1c \uc778\uc2a4\ud134\uc2a4\uac00 \ubaa8\ub450 \uc2e4\ud589\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5242\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM-1024x152.png\" alt=\"\" width=\"900\" height=\"134\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM-1024x152.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM-300x45.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM-768x114.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.30.34-PM.png 1250w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>\uc6f9 \ucf58\uc194\uc758 \ud3ec\ud2b8\ub97c \ub85c\uceec \uba38\uc2e0\uc73c\ub85c \uc804\ub2ec\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl port-forward cb-example-0000 8091:8091<\/pre>\n<p>\uc774\uc81c https:\/\/localhost:8091 \uc5d0\uc11c \uc6f9 \ucf58\uc194\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c \uc0ac\uc6a9\uc790 \uc544\uc774\ub514\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub85c\uadf8\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>\uad00\ub9ac\uc790<\/strong>\u00a0\ubc0f \ube44\ubc00\ubc88\ud638 <strong>\ube44\ubc00\ubc88\ud638<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5241\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-1024x390.png\" alt=\"\" width=\"729\" height=\"278\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-1024x390.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-300x114.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-768x292.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-1536x585.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-2048x780.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-3.36.36-PM-1320x503.png 1320w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/p>\n<p>\ub2e4\uc74c\uc73c\ub85c \uc774\ub3d9 <strong>\ubcf4\uc548 -&gt; \uc0ac\uc6a9\uc790 \ucd94\uac00<\/strong> \ub97c \ub2e4\uc74c\uacfc \uac19\uc740 \uc18d\uc131\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4:<\/p>\n<ul>\n<li><strong>\uc0ac\uc6a9\uc790 \uc774\ub984:<\/strong> \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc0d8\ud50c<\/li>\n<li><strong>\uc804\uccb4 \uc774\ub984:<\/strong> \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc0d8\ud50c<\/li>\n<li><strong>\ube44\ubc00\ubc88\ud638:<\/strong> \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc0d8\ud50c<\/li>\n<li><strong>\ube44\ubc00\ubc88\ud638\ub97c \uc778\uc99d\ud569\ub2c8\ub2e4:<\/strong> \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc0d8\ud50c<\/li>\n<li><strong>\uc5ed\ud560:<\/strong> \uc544\ub798 \uc774\ubbf8\uc9c0\ub97c \ucc38\uc870\ud558\uc138\uc694:<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5250\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM-1024x880.png\" alt=\"\" width=\"511\" height=\"439\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM-1024x880.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM-300x258.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM-768x660.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM-20x17.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-05-at-12.25.32-PM.png 1282w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/p>\n<h6 style=\"text-align: center\"><strong>OBS<\/strong>: \ud504\ub85c\ub355\uc158 \ud658\uacbd\uc5d0\uc11c\ub294 \uc571\uc744 \uad00\ub9ac\uc790\ub85c \ucd94\uac00\ud558\uc9c0 \ub9c8\uc138\uc694.<\/h6>\n<p>&nbsp;<\/p>\n<h3>\ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc30\ud3ec<\/h3>\n<p>\uba3c\uc800 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \ube44\ubc00\ubc88\ud638\ub97c \uc800\uc7a5\ud560 Kubernetes \uc2dc\ud06c\ub9bf\uc744 \ub9cc\ub4e4\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"\">apiVersion: v1\r\nkind: Secret\r\nmetadata:\r\n  name: spring-boot-app-secret\r\ntype: Opaque\r\ndata:\r\n  bucket_password: Y291Y2hiYXNlLXNhbXBsZQ== #couchbase-sample in base64<\/pre>\n<p>\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \ube44\ubc00\ubc88\ud638\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl create -f spring-boot-app-secret.yaml<\/pre>\n<p>\ud30c\uc77c <strong>spring-boot-app.yaml<\/strong> \uc571 \ubc30\ud3ec\ub97c \ub2f4\ub2f9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: apps\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n  name: spring-boot-deployment\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: spring-boot-app\r\n  replicas: 2 # tells deployment to run 2 pods matching the template\r\n  template: # create pods using pod definition in this template\r\n    metadata:\r\n      labels:\r\n        app: spring-boot-app\r\n    spec:\r\n      containers:\r\n      - name: spring-boot-app\r\n        image: deniswsrosa\/kubernetes-starter-kit\r\n        imagePullPolicy: Always\r\n        ports:\r\n        - containerPort: 8080\r\n          name: server\r\n        - containerPort: 8081\r\n          name: management\r\n        env:\r\n        - name: COUCHBASE_PASSWORD\r\n          valueFrom:\r\n            secretKeyRef:\r\n              name: spring-boot-app-secret\r\n              key: bucket_password\r\n        - name: COUCHBASE_BUCKET\r\n          value: couchbase-sample\r\n        - name: COUCHBASE_HOST\r\n          value: cb-example<\/pre>\n<p>\uc774 \ud30c\uc77c\uc5d0\uc11c \uba87 \uac00\uc9c0 \uc911\uc694\ud55c \ubd80\ubd84\uc744 \uac15\uc870\ud558\uace0 \uc2f6\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li><strong>\ubcf5\uc81c\ubcf8: 2 -&gt;<\/strong> \ucfe0\ubc84\ub124\ud2f0\uc2a4\ub294 \uc571\uc758 \uc778\uc2a4\ud134\uc2a4 2\uac1c\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n<li>\u00a0<strong>\uc774\ubbf8\uc9c0: \ub370\ub2c8\uc2a4\uc6cc\uc2a4\ub85c\uc0ac\/\ucfe0\ubc84\ub124\ud2f0\uc2a4 \uc2a4\ud0c0\ud130 \ud0a4\ud2b8 -&gt;<\/strong> \uc774\uc804\uc5d0 \ub9cc\ub4e0 \ub3c4\ucee4 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>\ucee8\ud14c\uc774\ub108: \uc774\ub984: -&gt;<\/strong> \uc5ec\uae30\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud558\ub294 \ucee8\ud14c\uc774\ub108\uc758 \uc774\ub984\uc744 \uc815\uc758\ud569\ub2c8\ub2e4. \uc2e4\ud589\ud574\uc57c \ud558\ub294 \uc778\uc2a4\ud134\uc2a4 \uc218, \uc790\ub3d9 \ud655\uc7a5 \uc804\ub7b5, \ub85c\ub4dc \ubc38\ub7f0\uc2f1 \ub4f1\uc744 \uc815\uc758\ud560 \ub54c\ub9c8\ub2e4 Kubernetes\uc5d0\uc11c \uc774 \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uac8c \ub429\ub2c8\ub2e4.<\/li>\n<li><strong>\ud658\uacbd: -&gt;<\/strong>\u00a0\uc5ec\uae30\uc5d0\uc11c \uc571\uc758 \ud658\uacbd \ubcc0\uc218\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \uc55e\uc11c \ub9cc\ub4e0 \uc2dc\ud06c\ub9bf\uc744 \ucc38\uc870\ud558\uace0 \uc788\ub2e4\ub294 \uc810\uc5d0 \uc720\uc758\ud558\uc138\uc694.<\/li>\n<\/ul>\n<p>\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc571\uc744 \ubc30\ud3ec\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl create -f spring-boot-app.yaml<\/pre>\n<p>\uba87 \ucd08 \ud6c4\uc5d0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub450 \uc778\uc2a4\ud134\uc2a4\uac00 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5243\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-1024x217.png\" alt=\"\" width=\"900\" height=\"191\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-1024x217.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-300x63.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-768x162.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM.png 1106w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub97c \uc678\ubd80\uc5d0 \ub178\ucd9c\ud574 \ubd05\uc2dc\ub2e4. \uc774\ub97c \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc218\uc2ed \uac00\uc9c0\uc758 \ub2e4\uc591\ud55c \uac00\ub2a5\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 \uac04\ub2e8\ud788 \ub85c\ub4dc \ubc38\ub7f0\uc11c\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: spring-boot-load-balancer\r\nspec:\r\n  ports:\r\n  - port: 8080\r\n    targetPort: 8080\r\n    name: http\r\n  - port: 8081\r\n    targetPort: 8081\r\n    name: management\r\n  selector:\r\n    app: spring-boot-app\r\n  type: LoadBalancer<\/pre>\n<p>\uc120\ud0dd\uae30\ub294 \uc704 \ud30c\uc77c\uc5d0\uc11c \uac00\uc7a5 \uc911\uc694\ud55c \ubd80\ubd84 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \ud2b8\ub798\ud53d\uc774 \ub9ac\ub514\ub809\uc158\ub420 \ucee8\ud14c\uc774\ub108\ub97c \uc815\uc758\ud558\ub294 \uacf3\uc785\ub2c8\ub2e4. \uc774 \uacbd\uc6b0\uc5d0\ub294 \uc774\uc804\uc5d0 \ubc30\ud3ec\ud55c \uc571\uc744 \uac00\ub9ac\ud0a4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \ub85c\ub4dc \ubc38\ub7f0\uc11c\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl create -f spring-boot-load-balancer.yaml<\/pre>\n<p>\ub85c\ub4dc \ubc38\ub7f0\uc11c\uac00 \uac00\ub3d9\ub418\uc5b4 \ud2b8\ub798\ud53d\uc744 \ud30c\ub4dc\ub85c \ub9ac\ub514\ub809\uc158\ud558\ub294 \ub370 \uba87 \ubd84 \uc815\ub3c4 \uac78\ub9bd\ub2c8\ub2e4. \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc0c1\ud0dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl describe service spring-boot-load-balancer<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5244\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-1024x543.png\" alt=\"\" width=\"900\" height=\"477\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-1024x543.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-300x159.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-768x407.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-818x434.png 818w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.44.05-PM.png 1286w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>\uc704 \uc774\ubbf8\uc9c0\uc5d0\uc11c \ubcfc \uc218 \uc788\ub4ef\uc774 \ub85c\ub4dc \ubc38\ub7f0\uc11c\ub294 ad84a916d65ad11e884a20266aaa53c9-1223617270.us-west-2.elb.amazonaws.com\uc5d0\uc11c \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc73c\uba70, \ub300\uc0c1 \ud3ec\ud2b8 8080\uc740 \ud2b8\ub798\ud53d\uc744 \ub450 \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub85c \ub9ac\ub514\ub809\uc158\ud569\ub2c8\ub2e4: 10.2.1.6:8080 \ubc0f 10.2.2.7:8080<\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc561\uc138\uc2a4\ud558\uc5ec \uc694\uccad\uc744 \ubcf4\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\uc0c8 \uc0ac\uc6a9\uc790 \uc0bd\uc785\ud558\uae30:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5245\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-1024x760.png\" alt=\"\" width=\"649\" height=\"482\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-1024x760.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-300x223.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-768x570.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-1536x1140.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-20x15.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM-1320x980.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.32.45-PM.png 1956w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/li>\n<li>\uc0ac\uc6a9\uc790 \uac80\uc0c9\ud558\uae30:<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5246\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-1024x727.png\" alt=\"\" width=\"647\" height=\"459\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-1024x727.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-300x213.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-768x546.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-1536x1091.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM-1320x938.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-6.34.21-PM.png 1940w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Elastic\uc740 \uc5b4\ub5a8\uae4c\uc694?<\/h3>\n<p>\uc5ec\uae30\uc11c \uc815\ub9d0 \ud765\ubbf8\ub85c\uc6b4 \uc77c\uc774 \ubc8c\uc5b4\uc9d1\ub2c8\ub2e4. \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc804\uccb4\ub97c \ud655\uc7a5\ud574\uc57c \ud55c\ub2e4\uba74 \uc5b4\ub5bb\uac8c \ud574\uc57c \ud560\uae4c\uc694? \ube14\ub799 \ud504\ub77c\uc774\ub370\uc774\uac00 \ub2e4\uac00\uc624\ub294\ub370 \uc6f9\uc0ac\uc774\ud2b8\ub97c \ubc29\ubb38\ud558\ub294 \uc218\ub9ce\uc740 \uc0ac\uc6a9\uc790\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \uc778\ud504\ub77c\ub97c \uc900\ube44\ud574\uc57c \ud55c\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\uc2dc\ub2e4. \uc774\ub294 \uc27d\uac8c \ud574\uacb0\ud560 \uc218 \uc788\ub294 \ubb38\uc81c\uc785\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\u00a0\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ud655\uc7a5\ud558\ub824\uba74 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubcf5\uc81c\ubcf8 \uc218\ub97c \ubcc0\uacbd\ud558\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4. <strong>spring-boot-app.yaml<\/strong> \ud30c\uc77c\uc744 \ub9cc\ub4ed\ub2c8\ub2e4.\n<pre class=\"lang:yaml decode:true\">...\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: spring-boot-app\r\n  replicas: 6 # tells deployment to run 6 pods matching the template\r\n  template: # create pods using pod definition in this template\r\n    metadata:\r\n      labels:\r\n...<\/pre>\n<p>\uadf8\ub7f0 \ub2e4\uc74c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">kubectl replace -f spring-boot-app.yaml<\/pre>\n<p>\ube60\uc9c4 \uac83\uc774 \uc788\ub098\uc694? \ub124. \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uc5b4\ub5bb\uac8c \ub418\ub098\uc694? \uadf8\uac83\ub3c4 \ud655\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ud06c\uae30 \uc18d\uc131\uc744 \ubcc0\uacbd\ud569\ub2c8\ub2e4. <strong>couchbase-cluster.yaml<\/strong> file:<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">...      \r\n     enableIndexReplica: false\r\n  servers:\r\n    - size: 6\r\n      name: all_services\r\n      services:\r\n        - data\r\n        - index\r\n...<\/pre>\n<p>&nbsp;<\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl replace -f couchbase-cluster.yaml<\/pre>\n<p>&nbsp;<\/p>\n<h3>\uc5b4\ub5bb\uac8c \ucd95\uc18c\ud560 \uc218 \uc788\ub098\uc694?<\/h3>\n<p>\uc2a4\ucf00\uc77c\ub9c1 \ub2e4\uc6b4\uc740 \uc2a4\ucf00\uc77c\uc5c5\ub9cc\ud07c\uc774\ub098 \uac04\ub2e8\ud558\uba70, \ub458 \ub2e4 \ubcc0\uacbd\ud558\uae30\ub9cc \ud558\uba74 \ub429\ub2c8\ub2e4. <strong>couchbase-cluster.yaml<\/strong> \uadf8\ub9ac\uace0 <strong>spring-boot-app.yaml<\/strong>:<\/p>\n<ul>\n<li><strong>couchbase-cluster.yaml<\/strong><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">...\r\n      enableIndexReplica: false\r\n  servers:\r\n    - size: 1\r\n      name: all_services\r\n      services:\r\n        - data\r\n        - index\r\n...<\/pre>\n<ul>\n<li><strong>spring-boot-app.yaml<\/strong>:<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">...\r\nspec:\r\n  selector:\r\n    matchLabels:\r\n      app: spring-boot-app\r\n  replicas: 1 \r\n  template:\r\n    metadata:\r\n      labels:\r\n...<\/pre>\n<p>&nbsp;<\/p>\n<p>\uadf8\ub9ac\uace0 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl replace -f couchbase-cluster.yaml\r\nkubectl replace -f spring-boot-app.yaml<\/pre>\n<p>&nbsp;<\/p>\n<h3>\ucfe0\ubc84\ub124\ud2f0\uc2a4\uc5d0\uc11c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uc790\ub3d9 \ud655\uc7a5\ud558\uae30<\/h3>\n<p>\uc774 \uae00\uc758 2\ubd80\uc5d0\uc11c\ub294 \uc774 \uc8fc\uc81c\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uadf8 \ub3d9\uc548 \uc774 \ub3d9\uc601\uc0c1\uc5d0\uc11c \ud3ec\ub4dc \uc790\ub3d9 \ud655\uc7a5\uc5d0 \ub300\ud574 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>\ucfe0\ubc84\ub124\ud2f0\uc2a4 \ubc30\ud3ec \ubb38\uc81c \ud574\uacb0\ud558\uae30<\/h3>\n<p>\ud30c\ub4dc\uac00 \uc2dc\uc791\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \uc5ec\ub7ec \uac00\uc9c0 \ubc29\ubc95\uc73c\ub85c \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \uc218 \uc788\ub2e4. \uc544\ub798 \uc0ac\ub840\uc5d0\uc11c\ub294 \ub450 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubaa8\ub450 \uc2dc\uc791\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5247\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM-1024x266.png\" alt=\"\" width=\"900\" height=\"234\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM-1024x266.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM-300x78.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM-768x199.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.28.43-PM.png 1172w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>\ubc30\ud3ec\uc758 \uc77c\ubd80\uc774\ubbc0\ub85c \ubc30\ud3ec\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uc5ec \ubb34\uc2a8 \uc77c\uc774 \uc77c\uc5b4\ub098\uace0 \uc788\ub294\uc9c0 \uc774\ud574\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl describe deployment spring-boot-deployment<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5248\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-1024x639.png\" alt=\"\" width=\"706\" height=\"441\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-1024x639.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-300x187.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-768x479.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM-1320x824.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.31.14-PM.png 1400w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/p>\n<p>\uae00\uc384\uc694, \uc774 \uacbd\uc6b0\uc5d0\ub294 \uc2e4\uc81c\ub85c \uad00\ub828\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uadf8\ub807\ub2e4\uba74 \ud30c\ub4dc\uc758 \ub85c\uadf8 \uc911 \ud558\ub098\ub97c \uc0b4\ud3b4\ubd05\uc2dc\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl log spring-boot-deployment-74649f869d-74sq8<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5249\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-1024x375.png\" alt=\"\" width=\"753\" height=\"276\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-1024x375.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-300x110.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-768x281.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-1536x562.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-2048x750.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-5.33.50-PM-1320x483.png 1320w\" sizes=\"auto, (max-width: 753px) 100vw, 753px\" \/><\/p>\n<p>\uc7a1\uc558\uc2b5\ub2c8\ub2e4! Couchbase\uc5d0\uc11c \uc0ac\uc6a9\uc790\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uc744 \uc78a\uc5b4\ubc84\ub824\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc2dc\uc791\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub97c \uc0dd\uc131\ud558\uae30\ub9cc \ud558\uba74 \uba87 \ucd08 \uc548\uc5d0 \ud30c\ub4dc\uac00 \uc2dc\uc791\ub429\ub2c8\ub2e4:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5243\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-1024x217.png\" alt=\"\" width=\"740\" height=\"157\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-1024x217.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-300x63.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-768x162.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-01-at-4.14.19-PM.png 1106w\" sizes=\"auto, (max-width: 740px) 100vw, 740px\" \/><\/p>\n<h2>\uacb0\ub860<\/h2>\n<p>\ub370\uc774\ud130\ubca0\uc774\uc2a4\ub294 \uc0c1\ud0dc \uc800\uc7a5 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774\uba70, \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ud655\uc7a5\ud558\ub294 \uac83\uc740 \uc0c1\ud0dc \uc800\uc7a5 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ud655\uc7a5\ud558\ub294 \uac83\ub9cc\ud07c \ube60\ub974\uc9c0\ub294 \uc54a\uc9c0\ub9cc(\uadf8\ub9ac\uace0 \uc55e\uc73c\ub85c\ub3c4 \uadf8\ub7f4 \uc77c\uc740 \uc5c6\uc744 \uac83\uc785\ub2c8\ub2e4), \uc9c4\uc815\uc73c\ub85c \ud0c4\ub825\uc801\uc778 \uc544\ud0a4\ud14d\ucc98\ub97c \ub9cc\ub4e4\uc5b4\uc57c \ud55c\ub2e4\uba74 \uc778\ud504\ub77c\uc758 \ubaa8\ub4e0 \uad6c\uc131 \uc694\uc18c\ub97c \ud655\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \uacc4\ud68d\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \ub2e4\ub978 \uacf3\uc5d0 \ubcd1\ubaa9 \ud604\uc0c1\uc744 \ub9cc\ub4e4 \ubfd0\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 Kubernetes\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \ubaa8\ub450 \ud0c4\ub825\uc801\uc73c\ub85c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uac04\ub7b5\ud558\uac8c \uc18c\uac1c\ud558\ub824\uace0 \ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc544\uc9c1 \ud504\ub85c\ub355\uc158\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc544\ud0a4\ud14d\ucc98\ub294 \uc544\ub2d9\ub2c8\ub2e4. \uc544\uc9c1 \uace0\ub824\ud574\uc57c \ud560 \ub2e4\ub978 \ub9ce\uc740 \uac83\ub4e4\uc774 \uc788\uc73c\uba70, \ub2e4\uc74c \uae00\uc5d0\uc11c \uadf8 \uc911 \uc77c\ubd80\ub97c \ub2e4\ub8e8\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub3d9\uc548 \uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uc2dc\uba74 \ub2e4\uc74c \uc8fc\uc18c\ub85c \ud2b8\uc717\ud574 \uc8fc\uc138\uc694. <a href=\"https:\/\/twitter.com\/deniswsrosa\">@deniswsrosa<\/a> \ub97c \ud074\ub9ad\ud558\uac70\ub098 \uc544\ub798\uc5d0 \ub313\uae00\uc744 \ub0a8\uaca8 \uc8fc\uc138\uc694.<\/p>\n<p>&nbsp;<\/p>\n<h3>\ud568\uaed8 \uc77d\uc5b4\ubcf4\uc138\uc694:<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/fuzzy-matching\/\">\ud37c\uc9c0 \ub9e4\uce6d<\/a><\/li>\n<li>\n<p class=\"entry-title\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-on-openshift-in-action\/\">\uc2e4\uc81c OpenShift<\/a><\/p>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Apart from all the recent discussions about Kubernetes and whether you should Dockerize your database or not, today I would like to show you why those two things might be good solutions when scalability and elasticity is a big requirement [&hellip;]<\/p>","protected":false},"author":8754,"featured_media":10786,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814],"tags":[],"ppma_author":[9059],"class_list":["post-5235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Building Elastic Microservices With Kubernetes and Spring Boot<\/title>\n<meta name=\"description\" content=\"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/elastic-microservices-with-kubernetes-and-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building Elastic Microservices With Kubernetes, Spring Boot\" \/>\n<meta property=\"og:description\" content=\"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/elastic-microservices-with-kubernetes-and-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-05T11:50:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-13T09:19:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/cover-kube_RESIZED.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1700\" \/>\n\t<meta property=\"og:image:height\" content=\"638\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@deniswsrosa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/\"},\"author\":{\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\"},\"headline\":\"Building Elastic Microservices With Kubernetes, Spring Boot\",\"datePublished\":\"2018-06-05T11:50:16+00:00\",\"dateModified\":\"2023-06-13T09:19:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/\"},\"wordCount\":1572,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png\",\"articleSection\":[\"Application Design\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/\",\"name\":\"Building Elastic Microservices With Kubernetes and Spring Boot\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png\",\"datePublished\":\"2018-06-05T11:50:16+00:00\",\"dateModified\":\"2023-06-13T09:19:55+00:00\",\"description\":\"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png\",\"width\":1700,\"height\":638,\"caption\":\"The Kubernetes logo with a plus sign followed by the Spring Boot logo with another plus sign and then the Couchbase logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building Elastic Microservices With Kubernetes, Spring Boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\",\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"caption\":\"Denis Rosa, Developer Advocate, Couchbase\"},\"description\":\"Denis Rosa is a Developer Advocate for Couchbase and lives in Munich - Germany. He has a solid experience as a software engineer and speaks fluently Java, Python, Scala and Javascript. Denis likes to write about search, Big Data, AI, Microservices and everything else that would help developers to make a beautiful, faster, stable and scalable app.\",\"sameAs\":[\"https:\/\/x.com\/deniswsrosa\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/denis-rosa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kubernetes\uc640 Spring Boot\ub85c Elastic \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\ucd95\ud558\uae30","description":"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/elastic-microservices-with-kubernetes-and-spring-boot\/","og_locale":"ko_KR","og_type":"article","og_title":"Building Elastic Microservices With Kubernetes, Spring Boot","og_description":"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/elastic-microservices-with-kubernetes-and-spring-boot\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-06-05T11:50:16+00:00","article_modified_time":"2023-06-13T09:19:55+00:00","og_image":[{"width":1700,"height":638,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/cover-kube_RESIZED.png","type":"image\/png"}],"author":"Denis Rosa, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@deniswsrosa","twitter_misc":{"Written by":"Denis Rosa, Developer Advocate, Couchbase","Est. reading time":"12\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/"},"author":{"name":"Denis Rosa, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257"},"headline":"Building Elastic Microservices With Kubernetes, Spring Boot","datePublished":"2018-06-05T11:50:16+00:00","dateModified":"2023-06-13T09:19:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/"},"wordCount":1572,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png","articleSection":["Application Design"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/","url":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/","name":"Kubernetes\uc640 Spring Boot\ub85c Elastic \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \uad6c\ucd95\ud558\uae30","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png","datePublished":"2018-06-05T11:50:16+00:00","dateModified":"2023-06-13T09:19:55+00:00","description":"In this article, the author explains how to make both your application and database on Kubernetes elastic using microservices and Spring Boot.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/cover-kube_RESIZED.png","width":1700,"height":638,"caption":"The Kubernetes logo with a plus sign followed by the Spring Boot logo with another plus sign and then the Couchbase logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/elastic-microservices-with-kubernetes-and-spring-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Building Elastic Microservices With Kubernetes, Spring Boot"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257","name":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac, \uac1c\ubc1c\uc790 \uc639\ud638\uc790, \uce74\uc6b0\uce58\ubca0\uc774\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6","url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","caption":"Denis Rosa, Developer Advocate, Couchbase"},"description":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac\ub294 \ub3c5\uc77c \ubb8c\ud5e8\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c\uc11c \ud0c4\ud0c4\ud55c \uacbd\ub825\uc744 \uc313\uc558\uc73c\uba70 Java, Python, Scala, Javascript\ub97c \uc720\ucc3d\ud558\uac8c \uad6c\uc0ac\ud569\ub2c8\ub2e4. Denis\ub294 \uac80\uc0c9, \ube45 \ub370\uc774\ud130, AI, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f \uac1c\ubc1c\uc790\uac00 \uc544\ub984\ub2f5\uace0 \ube60\ub974\uace0 \uc548\uc815\uc801\uc774\uba70 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc571\uc744 \ub9cc\ub4dc\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubaa8\ub4e0 \uac83\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\ub294 \uac83\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.","sameAs":["https:\/\/x.com\/deniswsrosa"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/denis-rosa\/"}]}},"authors":[{"term_id":9059,"user_id":8754,"is_guest":0,"slug":"denis-rosa","display_name":"Denis Rosa, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","author_category":"","last_name":"Rosa, Developer Advocate, Couchbase","first_name":"Denis","job_title":"","user_url":"","description":"\ub370\ub2c8\uc2a4 \ub85c\uc0ac\ub294 \ub3c5\uc77c \ubb8c\ud5e8\uc5d0 \uac70\uc8fc\ud558\uace0 \uc788\ub294 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\uc785\ub2c8\ub2e4. \uadf8\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\ub85c\uc11c \ud0c4\ud0c4\ud55c \uacbd\ub825\uc744 \uc313\uc558\uc73c\uba70 Java, Python, Scala, Javascript\ub97c \uc720\ucc3d\ud558\uac8c \uad6c\uc0ac\ud569\ub2c8\ub2e4. Denis\ub294 \uac80\uc0c9, \ube45 \ub370\uc774\ud130, AI, \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4 \ubc0f \uac1c\ubc1c\uc790\uac00 \uc544\ub984\ub2f5\uace0 \ube60\ub974\uace0 \uc548\uc815\uc801\uc774\uba70 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc571\uc744 \ub9cc\ub4dc\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubaa8\ub4e0 \uac83\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\ub294 \uac83\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/8754"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=5235"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/5235\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/10786"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=5235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=5235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=5235"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=5235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}