![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flxw4C%2FbtsJhowE8gC%2F7QeCLokmqqg9x65x4K12D0%2Fimg.png)
NEXTERS ๋์๋ฆฌ์ ์ฐธ์ฌํ๋ฉฐ NCP๋ฅผ ์ฒ์์ผ๋ก ์ฌ์ฉํด๋ณด๊ฒ ๋์๋ค.https://github.com/Nexters/goalpanzi-backend GitHub - Nexters/goalpanzi-backendContribute to Nexters/goalpanzi-backend development by creating an account on GitHub.github.com ์น๊ตฌ์ ํจ๊ป ๊ฒฝ์ํ๋ ๋ชฉํ ๋ฌ์ฑ ์ฑ [๋ฏธ์ ๋ฉ์ดํธ] ๋ฅผ ์ถ์ํ๋ฉด์ ์ฌ์ฉํ ์๋น์ค๋ ๋ค์๊ณผ ๊ฐ๋ค.- Object Storage : ์ด๋ฏธ์ง ์ ์ฅ- Server(VPC) : ์๋ฒ- Container Registry : docker image ์ ์ฅ์ (CD ํ์ดํ๋ผ์ธ ์ฐ๋)- Cloud Insight : ๋ชจ๋ํฐ๋ง * ๊ด๋ฆฌํ DB (Clo..
NodePort : ์ธ๋ถ์์ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ port Port : Cluster ๋ด๋ถ์์ ์ฌ์ฉํ Service ๊ฐ์ฒด์ ํฌํธ TargetPort : Service๊ฐ์ฒด๋ก ์ ๋ฌ๋ ์์ฒญ์ Pod(deployment)๋ก ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ํฌํธ(์ฆ pod์ port?์ธ๋ฏ) ์ฆ, HTTP -> NodePort -> Port -> TargetPort ์ธ๋ถ์์ ์ ๊ทผํ๊ธฐ ์ํด์๋ external ip:port ๋ฅผ ์ ๋ ฅํด์ผํจ +) service - Cluster ip - NodePort - LoadBalancer ๋ธ๋ผ์ฐ์ ๊ฐ LoadBalancer์ ์์ฒญ ๋ณด๋ด๋ฉด ์์์ ์ด์์๋ Node ์ ์ ๊ทผ?? ํ๋๋ฏ [์ถ์ฒ] https://m.blog.naver.com/PostView.naver?isHttpsRedirect=tr..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr5I6g%2FbtrvVLRHYh4%2FOjwvfxMFv9XcukdssYBHc1%2Fimg.png)
- master ์ปค๋ docker swarm init --advertise-addr ์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ด๊ธฐํ๋ฅผ ํ๋ฉด To add a worker to this swarm, run the following command: docker swarm join -- token ~ ์ด์ ๊ฐ์ด worker๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ช ๋ น์ด๊ฐ ํจ๊ป ๋ฐ ๊ฒ์ด๋ค. -worker ์ปค๋ ๊ทธ๋ผ ํด๋น ๋ช ๋ น์ด๋ฅผ ๋ณต์ฌํด์ worker๋ก ๋ง๋ค๊ณ ์ ํ๋ ํธ์คํธ์ ๋ถ์ฌ๋ฃ๋๋ค . # ์์ docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377 ๊ทธ๋ผ ์๋ ๋ช ๋ น์ด๋ฅผ ํต..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5Efnt%2FbtrvVAil490%2FBiT4ZQqf4V9yPerPCUBJk0%2Fimg.png)
๊ฐ์ธ์ ์ผ๋ก ๋ช ๋ น์ด๋ ํ ์ค์ฉ ์ ๋ ฅํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ํ๋ฒ์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๋ฉด ๋ช ๋ น์ด๊ฐ ์นํ ๊ฐ๋ฅ์ฑ์ด ์๋ค. sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" sudo apt update apt-cache policy docker-ce sudo apt install..
PVC docker run ์ -v ์ต์ ์ธ ๋์ปค ๋ณผ๋ฅจ๊ณผ ์ ์ฌํ ์ญํ ์ ํ๋ค. PV๋ ๊ด๋ฆฌ์๊ฐ ์์ฑํ ์ค์ ์ ์ฅ ๊ณต๊ฐ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๊ณ , PVC๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์ ์ฅ ๊ณต๊ฐ์ ์คํ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. --> Pod ๋ด๋ถ์์ ์์ฑํ ๋ฐ์ดํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ์ ๋ ์ง ์ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์, ๋ณด์กดํ๊ณ ์ถ๋ค๋ฉด Pod์ PVC๋ฅผ ๋ง์ดํธ ํด์ ์ฌ์ฉํด์ผ ํ๋ค!!! PVC๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ Pod ๊ฐ์ ๋ฐ์ดํฐ ๊ณต์ ๋ ์ฝ๊ฒ ๊ฐ๋ฅํ๋ค.
Pod(ํ๋)๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ์ปดํจํ ๋จ์์ด๋ค. - ํ๋ ํน์ ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ด๋๋ก ์ด๋ฃจ์ด์ ธ์์ ์ ์๋ค. - pod ๋ด๋ถ์ ์ฌ๋ฌ ์ปจํ ์ด๋๋ ์์์ ๊ณต์ ํ๋ค! - statelessํ ํน์ง์ ์ง๋๊ณ ์์ผ๋ฉฐ ์ธ์ ๋ ์ญ์ ๋ ์ ์๋ค. (์ฆ, ์ฟ ๋ฒ๋คํฐ์ค์ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ณ ์ถ๋ค๋ฉด ์ต์ Pod๋ก ๊ตฌ์ฑํด์ผํ๋ค๋ ์๋ฏธ!) (Pod ์์) ex) pod.yaml apiVersion: v1 # kubernetes resource ์ API Version kind: Pod # kubernetes resource name metadata: # ๋ฉํ๋ฐ์ดํฐ : name, namespace, labels, annotations๋ฑ ํฌํจ name: test spec: # sp..
1. deployment ์์ฑํ๊ธฐ // deployment ์์ฑ kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 // deployment view kubectl get deployments // pod view kubectl get pods 2. service ์์ฑํ๊ธฐ // create kubectl expose deployment hello-node --type=LoadBalancer --port=8080 // view kubectl get services 3. service ์คํํ๊ธฐ minikube service --url 4. ๋ฆฌ์์ค ์ ๊ฑฐ kubectl delete service hello-node kubectl dele..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzHJqQ%2FbtrvdvWTHLz%2FFdCM8BJQSknUSVdUkxEM7k%2Fimg.png)
https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-macos/ macOS์ kubectl ์ค์น ๋ฐ ์ค์ ์์ํ๊ธฐ ์ ์ ํด๋ฌ์คํฐ์ ๋ง์ด๋(minor) ๋ฒ์ ์ฐจ์ด ๋ด์ ์๋ kubectl ๋ฒ์ ์ ์ฌ์ฉํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, v1.23 ํด๋ผ์ด์ธํธ๋ v1.22, v1.23, v1.24์ ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ์ฐ๋๋ ์ ์๋ค. ํธํ๋๋ ์ต์ ๋ฒ์ kubernetes.io ํด๋น ๋งํฌ์ ๋ค์ด๊ฐ ์ด์ฌํ ๋ฐ๋ผ ์น๋ค. ๋ ๊ณต๋ถ๋ฅผ ์์ํ๋ ๋จ๊ณ์ด๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ๊ฐ๋ฐ์ ์ ํฉํ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ค. ํด๋ฌ์คํฐ ํ ๋น์ ์ํ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ ๋ํ์ ์ผ๋ก minikube๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ docker-desktop์ ํตํ ๋ฐฉ๋ฒ์ด ์์๋ค. (๋์ ์ฅ๋จ์ ์ ์ฝ๊ฒ ์ค๋ช ํด์ฃผ๋ ๊ธ์ ..
์ฐ์ ์ฐ๋ถํฌ ์ด๋ฏธ์ง๋ฅผ pullํด์จ๋ค. docker pull ubuntu ubuntu ๋ค์ ๋ฒ์ ์ ์ ์ง์์ผ๋ฉด ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ฐ์์จ๋ค. ๊ทธ๋ผ ์ด์ pull ํด์จ ์ฐ๋ถํฌ ์ด๋ฏธ์ง๋ก ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. docker run -it -d -v "๋ง์ดํธํ๊ณ ์ถ์ ๋ก์ปฌํด๋ ๊ฒฝ๋ก":/home/workspace --name=song2_ubuntu ubuntu -d ์ต์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. (๋ณดํต ์ปจํ ์ด๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.) -it ์ต์ ์ -i์ -t ์ต์ ์ ๋ถ์ธ ๊ฒ ์ธ๋ฐ ์ฃผ๋ก ํจ๊ป ์ฌ์ฉํ๋ค. ( ์ปจํ ์ด๋ ์ ๋ ฅ์ ์ด๊ณ ํฐ๋ฏธ๋์ ํ์ค์ ๋ ฅ์ผ๋ก ํ ๋นํ๊ฒ ๋ค๋ ์๋ฏธ ) -v ์ต์ ์ ํธ์คํธ pc ๊ฒฝ๋ก : ๋์ปค ์ปจํ ์ด๋ ์ ๋ ๊ฒฝ๋ก ๋ฅผ ๋ง์ดํธ ํด์ค ๋ ์ฌ์ฉํ๋ฉฐ ์์ ์์์ ๊ฒฝ์ฐ๋ ์ฐ๋ถํฌ..
- SpringBoot Dockerfile ์์ FROM openjdk:11-jre-slim ENV APP_HOME=/backend/ WORKDIR $APP_HOME COPY build/libs/backend-0.0.1-SNAPSHOT.jar . CMD java -jar backend-0.0.1-SNAPSHOT.jar EXPOSE 8080 - React Dockerfile ์์ # base image FROM node WORKDIR /frontend/ COPY . /frontend/ EXPOSE 3000 CMD ["npm", "start"]