songining
article thumbnail
article thumbnail
Docker swarm ๋งˆ์Šคํ„ฐ๋…ธ๋“œ, ์›Œ์ปค๋…ธ๋“œ ์ƒ์„ฑํ•˜๊ธฐ
CLOUD/Docker 2022. 3. 13. 23:30

- 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
Ubuntu 20.04์— docker, docker-compose ์„ค์น˜ํ•˜๊ธฐ
CLOUD/Docker 2022. 3. 13. 23:07

๊ฐœ์ธ์ ์œผ๋กœ ๋ช…๋ น์–ด๋Š” ํ•œ ์ค„์”ฉ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ํ•œ๋ฒˆ์— ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ํ•˜๋ฉด ๋ช…๋ น์–ด๊ฐ€ ์”นํž ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. 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..

Kubernetes PVC ๊ฐœ๋… ๋ฐ ์˜ˆ์‹œ
CLOUD/Kubernetes 2022. 3. 13. 21:31

PVC docker run ์˜ -v ์˜ต์…˜์ธ ๋„์ปค ๋ณผ๋ฅจ๊ณผ ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. PV๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ์ƒ์„ฑํ•œ ์‹ค์ œ ์ €์žฅ ๊ณต๊ฐ„์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๊ณ , PVC๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์ €์žฅ ๊ณต๊ฐ„์˜ ์ŠคํŽ™์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. --> Pod ๋‚ด๋ถ€์—์„œ ์ž‘์„ฑํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ธ์ œ๋“ ์ง€ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์กดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Pod์— PVC๋ฅผ ๋งˆ์šดํŠธ ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค!!! PVC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ Pod ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋„ ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Pod ๊ฐœ๋… ๋ฐ ์˜ˆ์‹œ
CLOUD/Kubernetes 2022. 3. 8. 01:00

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..

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค hello-node ๋ฐฐํฌํ•ด๋ณด๊ธฐ
CLOUD/Kubernetes 2022. 3. 6. 17:42

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
[Mac] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„ค์น˜ํ•˜๊ธฐ / ๋งˆ์Šคํ„ฐ, ์›Œ์ปค ๋…ธ๋“œ
CLOUD/Kubernetes 2022. 3. 6. 00:03

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์„ ํ†ตํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค. (๋‘˜์˜ ์žฅ๋‹จ์ ์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๊ธ€์„ ..

Docker๋กœ Ubuntu 20.04 image ์‹คํ–‰ํ•˜๊ธฐ
CLOUD/Docker 2022. 3. 3. 21:57

์šฐ์„  ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€๋ฅผ pullํ•ด์˜จ๋‹ค. docker pull ubuntu ubuntu ๋’ค์— ๋ฒ„์ „์„ ์ ์ง€์•Š์œผ๋ฉด ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์„ ๋‹ค์šด๋ฐ›์•„์˜จ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ pull ํ•ด์˜จ ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. docker run -it -d -v "๋งˆ์šดํŠธํ•˜๊ณ ์‹ถ์€ ๋กœ์ปฌํด๋” ๊ฒฝ๋กœ":/home/workspace --name=song2_ubuntu ubuntu -d ์˜ต์…˜์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. (๋ณดํ†ต ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.) -it ์˜ต์…˜์€ -i์™€ -t ์˜ต์…˜์„ ๋ถ™์ธ ๊ฒƒ ์ธ๋ฐ ์ฃผ๋กœ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. ( ์ปจํ…Œ์ด๋„ˆ ์ž…๋ ฅ์„ ์—ด๊ณ  ํ„ฐ๋ฏธ๋„์— ํ‘œ์ค€์ž…๋ ฅ์œผ๋กœ ํ• ๋‹นํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ) -v ์˜ต์…˜์€ ํ˜ธ์ŠคํŠธ pc ๊ฒฝ๋กœ : ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ ˆ๋Œ€ ๊ฒฝ๋กœ ๋ฅผ ๋งˆ์šดํŠธ ํ•ด์ค„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ ์œ„์˜ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ๋Š” ์šฐ๋ถ„ํˆฌ..

SpringBoot Swagger2 UI์— JWT ํ† ํฐ Authorize ๋ฒ„ํŠผ ๋„ฃ๊ธฐ
BACKEND/Spring 2022. 2. 22. 21:12

** ๊ธฐ๋ณธ์ ์œผ๋กœ security ์„ค์ •๊ณผ swagger ์„ค์ •์ด ๋‹ค ๋˜์–ด์žˆ์Œ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ๋‹ค. SwaggerConfig.java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .useDefaultResponseMessages(false) .select() .apis(RequestHandlerSelectors.basePackage("com.cherishpet.backend")) .paths(PathSelectors.ant("/api/**")) .build() .apiInfo(metaData()) .securityCon..

JPA, MYSQL DateTime ๋ณ€๊ฒฝ
BACKEND/Spring 2022. 2. 20. 21:47

MySQL์˜ DateTime์€ default ๋กœ 2022-02-20T00:00:00.000+00:00 ์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ๋‹ค. INSERT์‹œ์— ์ด๋ฅผ YYYY-MM-DD ํฌ๋งท์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ ์œ„ํ•ด @Temporal(TemporalType.DATE) @DateTimeFormat(pattern = "yyyy-MM-dd") private Date sampleDate; ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด YYYY-MM-DD ํฌ๋งท์œผ๋กœ DB์— ์ €์žฅ๋œ๋‹ค.

์Šคํ”„๋ง, mysql ์—ฐ๋™ gradle, applicaion.yml ์„ค์ •ํ•˜๊ธฐ
BACKEND/Spring 2022. 2. 8. 00:46

build.gradle dependencies์— ์ถ”๊ฐ€ dependencies { .. runtimeOnly 'mysql:mysql-connector-java' .. } application.yml datasource: url: jdbc:mysql://{localhost or IP}:{ํฌํŠธ๋ฒˆํ˜ธ}/{DB๋ช…}?serverTimezone=Asia/Seoul username: ์‚ฌ์šฉ์ž๋ช… password: ๋น„๋ฐ€๋ฒˆํ˜ธ driver-class-name: com.mysql.cj.jdbc.Driver

Docker ๋‹จ๋…๋นŒ๋“œ DEMO
CLOUD/Docker 2022. 2. 2. 21:03

- 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"]