{"id":2398,"date":"2017-01-06T07:51:53","date_gmt":"2017-01-06T07:51:53","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2398"},"modified":"2025-10-09T07:19:12","modified_gmt":"2025-10-09T14:19:12","slug":"kubernetes-1-4-spring-boot-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/kubernetes-1-4-spring-boot-couchbase\/","title":{"rendered":"\uc2a4\ud504\ub9c1 \ubd80\ud2b8\uc640 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec Kubernetes 1.4 \uc2dc\uc791\ud558\uae30"},"content":{"rendered":"<p>\ucfe0\ubc84\ub124\ud2f0\uc2a4 1.4\ub294 \uc774\ubc88 \uc8fc \ucd08\uc5d0 \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/blog.kubernetes.io\/2016\/09\/kubernetes-1.4-making-it-easy-to-run-on-kuberentes-anywhere.html\">\ube14\ub85c\uadf8 \uacf5\uc9c0\uc0ac\ud56d<\/a> \uadf8\ub9ac\uace0\u00a0<a href=\"https:\/\/github.com\/kubernetes\/kubernetes\/blob\/master\/CHANGELOG.md\/#v140\">\ubcc0\uacbd \ub85c\uadf8<\/a>.<br \/>\n\uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0\ub294 \uba87 \uac00\uc9c0 \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5c8\uc9c0\ub9cc \uc81c\uac00 \uae30\ub300\ud558\ub294 \uc8fc\uc694 \uae30\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ucfe0\ubc84\ub124\ud2f0\uc2a4\ub97c \uc124\uce58\ud569\ub2c8\ub2e4. <code><a href=\"https:\/\/kubernetes.io\/docs\/getting-started-guides\/kubeadm\/\">kubeadm<\/a><\/code> \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774\uac83\uc740 https:\/\/github.com\/kubernetes\/kubernetes\/releases \uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud558\ub294 \uc77c\ubc18\uc801\uc778 \uba54\ucee4\ub2c8\uc998\uc5d0 \ucd94\uac00\ub429\ub2c8\ub2e4. \uadf8\ub9ac\uace0<br \/>\n<code>kubeadm \ucd08\uae30\ud654<\/code> \uadf8\ub9ac\uace0 <code>kubeadm join<\/code> \uba85\ub839\uc740 \ub2e4\uc74c\uacfc \ub9e4\uc6b0 \uc720\uc0ac\ud558\uac8c \ubcf4\uc785\ub2c8\ub2e4.\u00a0<code>\ub3c4\ucee4 \uc2a4\uc6dc \ucd08\uae30\ud654<\/code> \uadf8\ub9ac\uace0 <code>\ub3c4\ucee4 \uc2a4\uc6dc \uc870\uc778<\/code>\u00a0\uc5d0 \ub300\ud55c <a href=\"https:\/\/docs.docker.com\/engine\/swarm\/\">\ub3c4\ucee4 \uc2a4\uc6dc \ubaa8\ub4dc<\/a>.<\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/user-guide\/federation\/replicasets\/\">\ud398\ub354\ub808\uc774\uc158 \ubcf5\uc81c\ubcf8 \uc138\ud2b8<\/a><\/li>\n<li>ScheduledJob\uc744 \uc0ac\uc6a9\ud558\uba74 \uc77c\uc815\ud55c \uac04\uaca9\uc73c\ub85c \ubc30\uce58 \uc791\uc5c5\uc744 \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/user-guide\/node-selection\/\">\ud30c\ub4dc\ub97c \ub178\ub4dc\ub85c \uc81c\ud55c\ud558\uae30<\/a>\u00a0\ud3ec\ub4dc\uc758 \uce5c\ud654\uc131 \ubc0f \ubc18\uce5c\ud654\uc131<\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/admin\/rescheduler\/#guaranteed-scheduling-of-critical-add-on-pods\">\uc6b0\uc120\uc21c\uc704 \uc608\uc57d<\/a> \ud3ec\ub4dc \uc218<\/li>\n<li>\uba4b\uc9c4 \ubaa8\uc2b5 <a href=\"https:\/\/github.com\/kubernetes\/dashboard#kubernetes-dashboard\">Kubernetes \ub300\uc2dc\ubcf4\ub4dc<\/a> (\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub098\uc911\uc5d0 \uc124\uba85\ud569\ub2c8\ub2e4)<\/li>\n<\/ul>\n<p>\uc774 \ube14\ub85c\uadf8\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<ul>\n<li>Amazon Web Services\ub97c \uc0ac\uc6a9\ud558\uc5ec Kubernetes \ud074\ub7ec\uc2a4\ud130 \ub9cc\ub4e4\uae30<\/li>\n<li>Couchbase \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30<\/li>\n<li>Couchbase\uc5d0 JSON \ubb38\uc11c\ub97c \uc800\uc7a5\ud558\ub294 Spring Boot \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774 \ube14\ub85c\uadf8\uc758 \ubaa8\ub4e0 \ub9ac\uc18c\uc2a4 \uc124\uba85 \ud30c\uc77c\uc740 \ub2e4\uc74c \ub9c1\ud06c\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/arun-gupta\/kubernetes-java-sample\/tree\/master\/maven\">github.com\/arun-gupta\/kubernetes-java-sample\/tree\/master\/maven<\/a>.<\/p>\n<h2>\ucfe0\ubc84\ub124\ud2f0\uc2a4 \ud074\ub7ec\uc2a4\ud130 \uc2dc\uc791<\/h2>\n<p>\ubc14\uc774\ub108\ub9ac \ub2e4\uc6b4\ub85c\ub4dc <a href=\"https:\/\/github.com\/kubernetes\/kubernetes\/releases\/download\/v1.4.0\/kubernetes.tar.gz\">github.com\/kubernetes\/kubernetes\/releases\/download\/v1.4.0\/kubernetes.tar.gz<\/a> \ub97c \ucd94\ucd9c\ud558\uace0 <code>\ucfe0\ubc84\ub124\ud2f0\uc2a4\/\ud074\ub7ec\uc2a4\ud130<\/code> \uc5d0\uc11c \uacbd\ub85c \uc2dc\uc791<br \/>\n2\ub178\ub4dc Kubernetes \ud074\ub7ec\uc2a4\ud130:<\/p>\n<pre class=\"lang:default decode:true\">NUM_NODES=2 NODE_SIZE=m3.medium KUBERNETES_PROVIDER=aws kube-up.sh<\/pre>\n<p>\ub85c\uadf8\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">... Starting cluster in us-west-2a using provider aws\r\n... calling verify-prereqs\r\n... calling kube-up\r\nStarting cluster using os distro: jessie\r\nUploading to Amazon S3\r\n+++ Staging server tars to S3 Storage: kubernetes-staging-0eaf81fbc51209dd47c13b6d8b424149\/devel\r\nupload: ..\/..\/..\/..\/..\/var\/folders\/81\/ttv4n16x7p390cttrm_675y00000gn\/T\/kubernetes.XXXXXX.bCmvLbtK\/s3\/bootstrap-script to s3:\/\/kubernetes-staging-0eaf81fbc51209dd47c13b6d8b424149\/devel\/bootstrap-script\r\nUploaded server tars:\r\n  SERVER_BINARY_TAR_URL: https:\/\/s3.amazonaws.com\/kubernetes-staging-0eaf81fbc51209dd47c13b6d8b424149\/devel\/kubernetes-server-linux-amd64.tar.gz\r\n  SALT_TAR_URL: https:\/\/s3.amazonaws.com\/kubernetes-staging-0eaf81fbc51209dd47c13b6d8b424149\/devel\/kubernetes-salt.tar.gz\r\n  BOOTSTRAP_SCRIPT_URL: https:\/\/s3.amazonaws.com\/kubernetes-staging-0eaf81fbc51209dd47c13b6d8b424149\/devel\/bootstrap-script\r\nINSTANCEPROFILE arn:aws:iam::598307997273:instance-profile\/kubernetes-master 2016-07-29T15:13:35Z AIPAJF3XKLNKOXOTQOCT4 kubernetes-master \/\r\nROLES arn:aws:iam::598307997273:role\/kubernetes-master 2016-07-29T15:13:33Z \/ AROAI3Q2KFBD5PCKRXCRM kubernetes-master\r\nASSUMEROLEPOLICYDOCUMENT 2012-10-17\r\nSTATEMENT sts:AssumeRole Allow\r\nPRINCIPAL ec2.amazonaws.com\r\nINSTANCEPROFILE arn:aws:iam::598307997273:instance-profile\/kubernetes-minion 2016-07-29T15:13:39Z AIPAIYSH5DJA4UPQIP4BE kubernetes-minion \/\r\nROLES arn:aws:iam::598307997273:role\/kubernetes-minion 2016-07-29T15:13:37Z \/ AROAIQ57MPQYSHRPQCT2Q kubernetes-minion\r\nASSUMEROLEPOLICYDOCUMENT 2012-10-17\r\nSTATEMENT sts:AssumeRole Allow\r\nPRINCIPAL ec2.amazonaws.com\r\nUsing SSH key with (AWS) fingerprint: SHA256:dX\/5wpWuUxYar2NFuGwiZuRiydiZCyx4DGoZ5\/jL\/j8\r\nCreating vpc.\r\nAdding tag to vpc-6b5b4b0f: Name=kubernetes-vpc\r\nAdding tag to vpc-6b5b4b0f: KubernetesCluster=kubernetes\r\nUsing VPC vpc-6b5b4b0f\r\nAdding tag to dopt-8fe770eb: Name=kubernetes-dhcp-option-set\r\nAdding tag to dopt-8fe770eb: KubernetesCluster=kubernetes\r\nUsing DHCP option set dopt-8fe770eb\r\nCreating subnet.\r\nAdding tag to subnet-623a0206: KubernetesCluster=kubernetes\r\nUsing subnet subnet-623a0206\r\nCreating Internet Gateway.\r\nUsing Internet Gateway igw-251eab41\r\nAssociating route table.\r\nCreating route table\r\nAdding tag to rtb-d43cedb3: KubernetesCluster=kubernetes\r\nAssociating route table rtb-d43cedb3 to subnet subnet-623a0206\r\nAdding route to route table rtb-d43cedb3\r\nUsing Route Table rtb-d43cedb3\r\nCreating master security group.\r\nCreating security group kubernetes-master-kubernetes.\r\nAdding tag to sg-d20ca0ab: KubernetesCluster=kubernetes\r\nCreating minion security group.\r\nCreating security group kubernetes-minion-kubernetes.\r\nAdding tag to sg-cd0ca0b4: KubernetesCluster=kubernetes\r\nUsing master security group: kubernetes-master-kubernetes sg-d20ca0ab\r\nUsing minion security group: kubernetes-minion-kubernetes sg-cd0ca0b4\r\nCreating master disk: size 20GB, type gp2\r\nAdding tag to vol-99a30b11: Name=kubernetes-master-pd\r\nAdding tag to vol-99a30b11: KubernetesCluster=kubernetes\r\nAllocated Elastic IP for master: 52.40.9.27\r\nAdding tag to vol-99a30b11: kubernetes.io\/master-ip=52.40.9.27\r\nGenerating certs for alternate-names: IP:52.40.9.27,IP:172.20.0.9,IP:10.0.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local,DNS:kubernetes-master\r\nStarting Master\r\nAdding tag to i-f95bdae1: Name=kubernetes-master\r\nAdding tag to i-f95bdae1: Role=kubernetes-master\r\nAdding tag to i-f95bdae1: KubernetesCluster=kubernetes\r\nWaiting for master to be ready\r\nAttempt 1 to check for master nodeWaiting for instance i-f95bdae1 to be running (currently pending)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be running (currently pending)\r\nSleeping for 3 seconds...\r\n [master running]\r\nAttaching IP 52.40.9.27 to instance i-f95bdae1\r\nAttaching persistent data volume (vol-99a30b11) to master\r\n2016-09-29T05:14:28.098Z \/dev\/sdb i-f95bdae1 attaching vol-99a30b11\r\ncluster \"aws_kubernetes\" set.\r\nuser \"aws_kubernetes\" set.\r\ncontext \"aws_kubernetes\" set.\r\nswitched to context \"aws_kubernetes\".\r\nuser \"aws_kubernetes-basic-auth\" set.\r\nWrote config for aws_kubernetes to \/Users\/arungupta\/.kube\/config\r\nCreating minion configuration\r\nCreating autoscaling group\r\n 0 minions started; waiting\r\n 0 minions started; waiting\r\n 0 minions started; waiting\r\n 0 minions started; waiting\r\n 2 minions started; ready\r\nWaiting for cluster initialization.\r\n\r\n  This will continually check to see if the API for kubernetes is reachable.\r\n  This might loop forever if there was some uncaught error during start\r\n  up.\r\n\r\n..............................................................................................................................................................................................................................Kubernetes cluster created.\r\nSanity checking cluster...\r\nAttempt 1 to check Docker on node @ 54.70.225.33 ...working\r\nAttempt 1 to check Docker on node @ 54.71.36.48 ...working\r\n\r\nKubernetes cluster is running.  The master is running at:\r\n\r\n  https:\/\/52.40.9.27\r\n\r\nThe user name and password to use is located in \/Users\/arungupta\/.kube\/config.\r\n\r\n... calling validate-cluster\r\nWaiting for 2 ready nodes. 0 ready nodes, 0 registered. Retrying.\r\nWaiting for 2 ready nodes. 0 ready nodes, 0 registered. Retrying.\r\nWaiting for 2 ready nodes. 0 ready nodes, 0 registered. Retrying.\r\nWaiting for 2 ready nodes. 0 ready nodes, 2 registered. Retrying.\r\nWaiting for 2 ready nodes. 0 ready nodes, 2 registered. Retrying.\r\nFound 2 node(s).\r\nNAME                                         STATUS    AGE\r\nip-172-20-0-111.us-west-2.compute.internal   Ready     39s\r\nip-172-20-0-112.us-west-2.compute.internal   Ready     42s\r\nValidate output:\r\nNAME                 STATUS    MESSAGE              ERROR\r\nscheduler            Healthy   ok                   \r\ncontroller-manager   Healthy   ok                   \r\netcd-0               Healthy   {\"health\": \"true\"}   \r\netcd-1               Healthy   {\"health\": \"true\"}   \r\nCluster validation succeeded\r\nDone, listing cluster services:\r\n\r\nKubernetes master is running at https:\/\/52.40.9.27\r\nElasticsearch is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/elasticsearch-logging\r\nHeapster is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/heapster\r\nKibana is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kibana-logging\r\nKubeDNS is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kube-dns\r\nkubernetes-dashboard is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kubernetes-dashboard\r\nGrafana is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-grafana\r\nInfluxDB is running at https:\/\/52.40.9.27\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-influxdb\r\n\r\nTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.<\/pre>\n<p>\uc774\uac83\uc740 Kubernetes \ud074\ub7ec\uc2a4\ud130\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc2dc\uc791\ub418\uc5c8\uc74c\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n<h2>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ube44\uc2a4 \ubc30\ud3ec<\/h2>\n<p>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ube44\uc2a4 \ubc0f \ubcf5\uc81c \ucee8\ud2b8\ub864\ub7ec\ub97c \ub9cc\ub4ed\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl.sh create -f couchbase-service.yml\r\nservice \"couchbase-service\" created\r\nreplicationcontroller \"couchbase-rc\" created<\/pre>\n<p>\uad6c\uc131 \ud30c\uc77c\uc740 \ub2e4\uc74c \uc704\uce58\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/couchbase-service.yml\">github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/couchbase-service.yml<\/a>. \uc774\ub807\uac8c \ud558\uba74 Couchbase \uc11c\ube44\uc2a4\uac00 \uc0dd\uc131\ub418\uace0<br \/>\n\ubc31\uc5c5 \ubcf5\uc81c \ucee8\ud2b8\ub864\ub7ec\uc785\ub2c8\ub2e4. \uc11c\ube44\uc2a4 \uc774\ub984\uc740 <code>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ube44\uc2a4<\/code>. \uc774\uac83\uc740 \ub098\uc911\uc5d0 Spring Boot \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ud1b5\uc2e0\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud30c\ub4dc\uc758 \uc0c1\ud0dc\ub97c \ud655\uc778\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl.sh get -w pods\r\nNAME                 READY     STATUS              RESTARTS   AGE\r\ncouchbase-rc-gu9gl   0\/1       ContainerCreating   0          6s\r\nNAME                 READY     STATUS    RESTARTS   AGE\r\ncouchbase-rc-gu9gl   1\/1       Running   0          2m<\/pre>\n<p>\ud30c\ub4dc \uc0c1\ud0dc\uac00 \ucee8\ud14c\uc774\ub108 \uc0dd\uc131\uc5d0\uc11c \uc2e4\ud589 \uc911\uc73c\ub85c \ubcc0\uacbd\ub418\ub294 \ubc29\uc2dd\uc5d0 \uc720\uc758\ud558\uc138\uc694. \uadf8 \uc0ac\uc774\uc5d0 \uc774\ubbf8\uc9c0\uac00 \ub2e4\uc6b4\ub85c\ub4dc\ub418\uace0 \uc2dc\uc791\ub429\ub2c8\ub2e4.<\/p>\n<h2>\uc2a4\ud504\ub9c1 \ubd80\ud2b8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc2e4\ud589<\/h2>\n<p>\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl.sh create -f bootiful-couchbase.yml \r\npod \"bootiful-couchbase\" created<\/pre>\n<p>\uad6c\uc131 \ud30c\uc77c\uc740 \ub2e4\uc74c \uc704\uce58\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/bootiful-couchbase.yml\">github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/bootiful-couchbase.yml<\/a>. \uc774 \uc11c\ube44\uc2a4\uc5d0\uc11c,<br \/>\n<code>COUCHBASE_URI<\/code> \ud658\uacbd \ubcc0\uc218 \uac12\uc774 <code>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ube44\uc2a4<\/code>. \uc55e\uc11c \uc0dd\uc131\ud55c \uc11c\ube44\uc2a4 \uc774\ub984\uc785\ub2c8\ub2e4. \uc774 \uc11c\ube44\uc2a4\uc5d0 \uc0ac\uc6a9\ub41c \ub3c4\ucee4 \uc774\ubbf8\uc9c0\ub294 <code>\uc544\ub8fd\uc5c5\ud0c0\/\ubd80\ud2f0\ud480-\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/code> \ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0dd\uc131\ub418\uba70<br \/>\n<a href=\"https:\/\/github.com\/fabric8io\/docker-maven-plugin\">\ud328\ube0c\ub9ad8-maven-\ud50c\ub7ec\uadf8\uc778<\/a> \uc5d0 \ud45c\uc2dc\ub41c \uac83\ucc98\ub7fc\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/webapp\/pom.xml#L57-L68\">github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/webapp\/pom.xml#L57-L68<\/a>.<br \/>\n\uad6c\uccb4\uc801\uc73c\ub85c Docker \uc774\ubbf8\uc9c0\uc5d0 \ub300\ud55c \uba85\ub839\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">java -Dspring.couchbase.bootstrap-hosts=$COUCHBASE_URI -jar \/maven\/${project.artifactId}.jar<\/pre>\n<p>\uc774\ub97c \ud1b5\ud574 \ub2e4\uc74c\uc744 \ubcf4\uc7a5\ud569\ub2c8\ub2e4. <code>COUCHBASE_URI<\/code> \ud658\uacbd \ubcc0\uc218\uac00 \uc7ac\uc815\uc758\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. <code>spring.couchbase.bootstrap-hosts<\/code> \uc18d\uc131\uc5d0 \uc815\uc758\ub41c \ub300\ub85c <a href=\"https:\/\/github.com\/arun-gupta\/kubernetes-java-sample\/blob\/master\/maven\/webapp\/src\/main\/resources\/application.properties\">application.properties<\/a> \uc758 \ub85c\uadf8\ub97c \ud655\uc778\ud569\ub2c8\ub2e4. \ub85c\uadf8\ub97c \uac00\uc838\uc635\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kubectl.sh logs -f bootiful-couchbase\r\n\r\n  .   ____          _            __ _ _\r\n \/\\ \/ ___'_ __ _ _(_)_ __  __ _    \r\n( ( )___ | '_ | '_| | '_ \/ _` |    \r\n \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )\r\n  '  |____| .__|_| |_|_| |___, | \/ \/ \/ \/\r\n =========|_|==============|___\/=\/_\/_\/_\/\r\n :: Spring Boot ::        (v1.4.0.RELEASE)\r\n\r\n2016-09-29 05:37:29.227  INFO 5 --- [           main] org.example.webapp.Application           : Starting Application v1.0-SNAPSHOT on bootiful-couchbase with PID 5 (\/maven\/bootiful-couchbase.jar started by root in \/)\r\n2016-09-29 05:37:29.259  INFO 5 --- [           main] org.example.webapp.Application           : No active profile set, falling back to default profiles: default\r\n2016-09-29 05:37:29.696  INFO 5 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ccabbaa: startup date [Thu Sep 29 05:37:29 UTC 2016]; root of context hierarchy\r\n2016-09-29 05:37:34.375  INFO 5 --- [           main] c.c.client.core.env.CoreEnvironment      : ioPoolSize is less than 3 (1), setting to: 3\r\n2016-09-29 05:37:34.376  INFO 5 --- [           main] c.c.client.core.env.CoreEnvironment      : computationPoolSize is less than 3 (1), setting to: 3\r\n2016-09-29 05:37:35.026  INFO 5 --- [           main] com.couchbase.client.core.CouchbaseCore  : CouchbaseEnvironment: {sslEnabled=false, sslKeystoreFile='null', sslKeystorePassword='null', queryEnabled=false, queryPort=8093, bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true, bootstrapHttpDirectPort=8091, bootstrapHttpSslPort=18091, bootstrapCarrierDirectPort=11210, bootstrapCarrierSslPort=11207, ioPoolSize=3, computationPoolSize=3, responseBufferSize=16384, requestBufferSize=16384, kvServiceEndpoints=1, viewServiceEndpoints=1, queryServiceEndpoints=1, searchServiceEndpoints=1, ioPool=NioEventLoopGroup, coreScheduler=CoreScheduler, eventBus=DefaultEventBus, packageNameAndVersion=couchbase-java-client\/2.2.8 (git: 2.2.8, core: 1.2.9), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, retryDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=100, upper=100000}, reconnectDelay=ExponentialDelay{growBy 1.0 MILLISECONDS, powers of 2; lower=32, upper=4096}, observeIntervalDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=10, upper=100000}, keepAliveInterval=30000, autoreleaseAfter=2000, bufferPoolingEnabled=true, tcpNodelayEnabled=true, mutationTokensEnabled=false, socketConnectTimeout=1000, dcpConnectionBufferSize=20971520, dcpConnectionBufferAckThreshold=0.2, dcpConnectionName=dcp\/core-io, callbacksOnIoPool=false, queryTimeout=7500, viewTimeout=7500, kvTimeout=2500, connectTimeout=5000, disconnectTimeout=25000, dnsSrvEnabled=false}\r\n2016-09-29 05:37:36.063  INFO 5 --- [      cb-io-1-1] com.couchbase.client.core.node.Node      : Connected to Node couchbase-service\r\n2016-09-29 05:37:36.256  INFO 5 --- [      cb-io-1-1] com.couchbase.client.core.node.Node      : Disconnected from Node couchbase-service\r\n2016-09-29 05:37:37.727  INFO 5 --- [      cb-io-1-2] com.couchbase.client.core.node.Node      : Connected to Node couchbase-service\r\n2016-09-29 05:37:38.316  INFO 5 --- [-computations-3] c.c.c.core.config.ConfigurationProvider  : Opened bucket books\r\n2016-09-29 05:37:40.655  INFO 5 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup\r\nBook{isbn=978-1-4919-1889-0, name=Minecraft Modding with Forge, cost=29.99}\r\n2016-09-29 05:37:41.497  INFO 5 --- [           main] org.example.webapp.Application           : Started Application in 14.64 seconds (JVM running for 16.631)\r\n2016-09-29 05:37:41.514  INFO 5 --- [       Thread-5] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ccabbaa: startup date [Thu Sep 29 05:37:29 UTC 2016]; root of context hierarchy\r\n2016-09-29 05:37:41.528  INFO 5 --- [       Thread-5] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown\r\n2016-09-29 05:37:41.577  INFO 5 --- [      cb-io-1-2] com.couchbase.client.core.node.Node      : Disconnected from Node couchbase-service\r\n2016-09-29 05:37:41.578  INFO 5 --- [       Thread-5] c.c.c.core.config.ConfigurationProvider  : Closed bucket books<\/pre>\n<p>\uc5ec\uae30\uc11c \uc0b4\ud3b4\ubcfc \uc8fc\uc694 \ucd9c\ub825 \ubb38\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">Book{isbn=978-1-4919-1889-0, name=Minecraft Modding with Forge, cost=29.99}<\/pre>\n<p>\uc774\ub294 JSON \ubb38\uc11c\uac00 Couchbase \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc5c5\uc11c\ud2b8(\uc0bd\uc785 \ub610\ub294 \uc5c5\ub370\uc774\ud2b8)\ub418\uc5c8\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/p>\n<h2>Kubernetes \ub300\uc2dc\ubcf4\ub4dc<\/h2>\n<p><a href=\"https:\/\/github.com\/kubernetes\/dashboard#kubernetes-dashboard\">Kubernetes \ub300\uc2dc\ubcf4\ub4dc<\/a>\u00a0\ub294 \ub354 \ud3ec\uad04\uc801\uc73c\ub85c \ubcf4\uc774\uba70 CLI\uc640 90% \ud328\ub9ac\ud2f0\ub97c \uac16\ub294\ub2e4\uace0 \uc8fc\uc7a5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\u00a0<span class=\"s1\"><code>kubectl.sh \uad6c\uc131 \ubcf4\uae30<\/code> \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud074\ub7ec\uc2a4\ud130\uc5d0 \ub300\ud55c \uad6c\uc131 \uc815\ubcf4\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"lang:default decode:true\">apiVersion: v1\r\nclusters:\r\n- cluster:\r\n    certificate-authority-data: REDACTED\r\n    server: https:\/\/52.40.9.27\r\n  name: aws_kubernetes\r\ncontexts:\r\n- context:\r\n    cluster: aws_kubernetes\r\n    user: aws_kubernetes\r\n  name: aws_kubernetes\r\ncurrent-context: aws_kubernetes\r\nkind: Config\r\npreferences: {}\r\nusers:\r\n- name: aws_kubernetes\r\n  user:\r\n    client-certificate-data: REDACTED\r\n    client-key-data: REDACTED\r\n    token: 3GuTCLvFnINHed9dWICICidlrSv8C0kg\r\n- name: aws_kubernetes-basic-auth\r\n  user:\r\n    password: 8pxC121Oj7kN0nCa\r\n    username: admin<\/pre>\n<p>\uadf8\ub9ac\uace0\u00a0<code>clusters.cluster.server<\/code> \uc18d\uc131 \uac12\uc740 \ucfe0\ubc84\ub124\ud2f0\uc2a4 \ub9c8\uc2a4\ud130\uc758 \uc704\uce58\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uadf8\ub9ac\uace0 <code>\uc0ac\uc6a9\uc790<\/code> \uc18d\uc131\uc740 \ub300\uc2dc\ubcf4\ub4dc\uc5d0 \uc561\uc138\uc2a4\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub450 \uba85\uc758 \uc0ac\uc6a9\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8 \uc778\uc99d\uc744 \uc0ac\uc6a9\ud558\ubbc0\ub85c<br \/>\n<code>\uc0ac\uc6a9\uc790 \uc774\ub984<\/code> \uadf8\ub9ac\uace0 <code>\ube44\ubc00\ubc88\ud638<\/code> \uc18d\uc131 \uac12\uc785\ub2c8\ub2e4. \uc800\ud76c\uc758 \uacbd\uc6b0 \ub300\uc2dc\ubcf4\ub4dc UI\ub294 https:\/\/52.40.9.27\/ui \uc5d0\uc11c \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n<a href=\"\/wp-content\/original-assets\/september-2016\/getting-started-with-kubernetes-1.4-using-spring-boot-and-couchbase\/kubernetes-dashboard-1.4-1024x746.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-14300\" src=\"\/wp-content\/original-assets\/september-2016\/getting-started-with-kubernetes-1.4-using-spring-boot-and-couchbase\/kubernetes-dashboard-1.4-1024x746.png\" alt=\"kubernetes-dashboard-1-4\" width=\"604\" height=\"440\" \/><\/a><br \/>\n\uc774 \uba4b\uc9c4 \ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \ubaa8\ub4e0 Kubernetes \ub9ac\uc18c\uc2a4\ub97c \uc27d\uac8c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ucfe0\ubc84\ub124\ud2f0\uc2a4 \ud074\ub7ec\uc2a4\ud130 \uc885\ub8cc<\/h2>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c Kubernetes \ud074\ub7ec\uc2a4\ud130\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4:<\/p>\n<pre class=\"lang:default decode:true\">kube-down.sh\r\nBringing down cluster using provider: aws\r\nDeleting instances in VPC: vpc-6b5b4b0f\r\nDeleting auto-scaling group: kubernetes-minion-group-us-west-2a\r\nDeleting auto-scaling launch configuration: kubernetes-minion-group-us-west-2a\r\nDeleting auto-scaling group: kubernetes-minion-group-us-west-2a\r\nWaiting for instances to be deleted\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nWaiting for instance i-f95bdae1 to be terminated (currently shutting-down)\r\nSleeping for 3 seconds...\r\nAll instances deleted\r\nReleasing Elastic IP: 52.40.9.27\r\nDeleting volume vol-99a30b11\r\nCleaning up resources in VPC: vpc-6b5b4b0f\r\nCleaning up security group: sg-cd0ca0b4\r\nCleaning up security group: sg-d20ca0ab\r\nDeleting security group: sg-cd0ca0b4\r\nDeleting security group: sg-d20ca0ab\r\nDeleting VPC: vpc-6b5b4b0f\r\nDone<\/pre>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/cloud\/kubernetes\/\">https:\/\/www.couchbase.com\/products\/cloud\/kubernetes<\/a> \uc5d0\uc11c \ub2e4\uc591\ud55c \uc624\ucf00\uc2a4\ud2b8\ub808\uc774\uc158 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc0ac\uc6a9\ud558\uc5ec Couchbase\ub97c \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucd94\uac00 \ucc38\uc870:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a> \ub610\ub294\u00a0<a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">\uc2a4\ud0dd\uc624\ubc84\ud50c\ub85c\uc6b0<\/a><\/li>\n<li>\ud314\ub85c\uc6b0\ud558\uc138\uc694 <a href=\"https:\/\/twitter.com\/couchbasedev\">@couchbasedev<\/a> \ub610\ub294 <a href=\"https:\/\/twitter.com\/couchbase\">@couchbase<\/a><\/li>\n<li>\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30 <a href=\"https:\/\/developer.couchbase.com\/server\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Kubernetes 1.4 was released earlier this week. Read the blog announcement and\u00a0CHANGELOG. There are quite a few\u00a0new features in this release but the key ones that I&#8217;m excited about are: Install Kubernetes using kubeadm command. This is in addition to [&hellip;]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase - The Couchbase Blog<\/title>\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\/kubernetes-1-4-spring-boot-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase\" \/>\n<meta property=\"og:description\" content=\"Kubernetes 1.4 was released earlier this week. Read the blog announcement and\u00a0CHANGELOG. There are quite a few\u00a0new features in this release but the key ones that I&#8217;m excited about are: Install Kubernetes using kubeadm command. This is in addition to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/kubernetes-1-4-spring-boot-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-06T07:51:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:19:12+00:00\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase\",\"datePublished\":\"2017-01-06T07:51:53+00:00\",\"dateModified\":\"2025-10-09T14:19:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/\"},\"wordCount\":517,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/\",\"name\":\"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-06T07:51:53+00:00\",\"dateModified\":\"2025-10-09T14:19:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase\"}]},{\"@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\/39d8caed0f536489b6aa6e8d31ee631f\",\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"caption\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\"},\"description\":\"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.\",\"sameAs\":[\"https:\/\/x.com\/arungupta\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase - The Couchbase Blog","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\/kubernetes-1-4-spring-boot-couchbase\/","og_locale":"ko_KR","og_type":"article","og_title":"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase","og_description":"Kubernetes 1.4 was released earlier this week. Read the blog announcement and\u00a0CHANGELOG. There are quite a few\u00a0new features in this release but the key ones that I&#8217;m excited about are: Install Kubernetes using kubeadm command. This is in addition to [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/kubernetes-1-4-spring-boot-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-06T07:51:53+00:00","article_modified_time":"2025-10-09T14:19:12+00:00","author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase","datePublished":"2017-01-06T07:51:53+00:00","dateModified":"2025-10-09T14:19:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/"},"wordCount":517,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/","name":"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-06T07:51:53+00:00","dateModified":"2025-10-09T14:19:12+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-1-4-spring-boot-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting Started with Kubernetes 1.4 using Spring Boot and Couchbase"}]},{"@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\/39d8caed0f536489b6aa6e8d31ee631f","name":"Arun Gupta, \uac1c\ubc1c\uc790 \uc9c0\uc6d0 \ubd80\ubb38 \ubd80\uc0ac\uc7a5, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337","url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","caption":"Arun Gupta, VP, Developer Advocacy, Couchbase"},"description":"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/arun-gupta\/"}]}},"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","description":"\uc544\ub8ec \uad7d\ud0c0\ub294 Couchbase\uc758 \uac1c\ubc1c\uc790 \uc9c0\uc6d0 \ub2f4\ub2f9 \ubd80\uc0ac\uc7a5\uc785\ub2c8\ub2e4. \uadf8\ub294 Sun, Oracle, Red Hat\uc5d0\uc11c 10\ub144 \uc774\uc0c1 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\ub97c \uad6c\ucd95\ud558\uace0 \uc774\ub04c\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub294 \ucf58\ud150\uce20, \ub9c8\ucf00\ud305 \ucea0\ud398\uc778 \ubc0f \ud504\ub85c\uadf8\ub7a8\uc758 \uc804\ub7b5, \uacc4\ud68d \ubc0f \uc2e4\ud589\uc744 \uac1c\ubc1c \ubc0f \uc2e4\ud589\ud558\ub294 \uad50\ucc28 \uae30\ub2a5 \ud300\uc744 \uc774\ub044\ub294 \ub370 \uc788\uc5b4 \uae4a\uc740 \uc804\ubb38\uc131\uc744 \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8 \uc804\uc5d0\ub294 Sun\uc5d0\uc11c \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ud300\uc744 \uc774\ub04c\uc5c8\uc73c\uba70 Java EE \ud300\uc758 \ucc3d\ub9bd \uba64\ubc84\uc785\ub2c8\ub2e4.\r\n\r\nGupta\ub294 \uae30\uc220\uc5d0 \uad00\ud55c \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc744 2,000\uac1c \uc774\uc0c1 \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4. 40\uc5ec \uac1c\uad6d\uc5d0\uc11c \uc218\ub9ce\uc740 \uc8fc\uc81c\uc5d0 \ub300\ud574 \uad11\ubc94\uc704\ud55c \uac15\uc5f0 \uacbd\ud5d8\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70, 3\ub144 \uc5f0\uc18d JavaOne Rock Star\ub85c \uc120\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubbf8\uad6d\uc5d0\uc11c Devoxx4Kids \uc9c0\ubd80\ub97c \uc124\ub9bd\ud558\uc5ec \uc5b4\ub9b0\uc774\ub97c \ub300\uc0c1\uc73c\ub85c \ud55c \uae30\uc220 \uad50\uc721\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uc7a5\ub824\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uae30\uc220\uc5d0 \uad00\ud55c \uc5ec\ub7ec \uad8c\uc758 \ucc45\uc744 \uc800\uc220\ud588\uc73c\uba70, \uc5f4\ub82c\ud55c \ub9c8\ub77c\ud1a0\ub108\uc774\uc790 \uc9c0\uad6c\ub97c \ud6a1\ub2e8\ud558\ub294 \uc0ac\ub78c, Java \ucc54\ud53c\uc5b8, JUG \ub9ac\ub354, NetBeans \ub4dc\ub9bc\ud300 \uba64\ubc84, Docker \ucea1\ud2f4\uc774\uae30\ub3c4 \ud55c \uadf8\ub294 @arungupta\uc5d0\uc11c \uc27d\uac8c \ub9cc\ub098\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2398","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\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2398"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2398"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}