๋กœ์ผ“๐Ÿพ
article thumbnail
[Github Action] ํƒ€๋…ธ์Šค๋Š” ์ด๋Ÿฐ ๋А๋‚Œ์ผ๊นŒ? RUNNER_TOKEN must be set

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„  Action Controller Runner (์ดํ•˜ ARC) ๋ฅผ ์ด์šฉํ•ด์„œ ํŒŒ๋“œ๋ฅผ Self Hosted Runner ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ARC ๊ตฌ์กฐ๋Š” ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. Self Hosted Runner ๋กœ ์‚ฌ์šฉํ•  ํŒŒ๋“œ๋ฅผ RunnerDeployment ๋˜๋Š” RunnerSet ์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์ฃ . RunnerDeployment ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ Deployment ์™€ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜๊ณ , RunnerSet ์€ StatefulSet ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฐํฌํ•˜๊ฒŒ ๋˜๋ฉด ํŒŒ๋“œ ์•ˆ์— 2๊ฐ€์ง€ ์ปจํ…Œ์ด๋„ˆ ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ํ•˜๋‚˜๋Š” Github Action Job ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Runner ์ปจํ…Œ์ด๋„ˆ, ๋˜ ํ•˜๋‚˜๋Š” Docker ๊ด€๋ จ ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Docker ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ์˜ต์…˜์„ ํ†ตํ•ด Runner..

article thumbnail
[Istio] Istio Ingress ์— ALB ๋ฅผ ๋ถ™์—ฌ๋ณด์ž !
DevOps/Istio 2023. 2. 12. 19:10

Istio ๋Š” ํ”ํžˆ K8S ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ์„œ๋น„์Šค ๋ฉ”์‹œ ์—ญํ• ์„ ํ•ด์ค๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ฉ”์‹œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Nginx Ingress, ELB Ingress ์ฒ˜๋Ÿผ Ingress ์—ญํ•  ๋˜ํ•œ ํ•ด์ค๋‹ˆ๋‹ค. Istio Ingress Gateway ๊ฐ€ ์ •์‹ ๋ช…์นญ์ด๋‚˜ ์‰ฝ๊ฒŒ Istio Ingress ๋กœ ์ง€์นญํ•˜๋„๋ก ํ•˜์ฃ  ๐ŸคŸ EKS ์™€ ๊ฐ™์€ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ Load Balancer Service ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ CLB ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Istio Ingress ๋˜ํ•œ CLB ๋กœ ํ• ๋‹น์ด ๋ฉ๋‹ˆ๋‹ค. CLB ๋Š” ์•ž์œผ๋กœ AWS ์—์„œ deprecated ๋˜๊ธฐ ๋•Œ๋ฌธ์— Network Load Balancer(์ดํ•˜ NLB) ๋‚˜ Application Load Balancer(์ดํ•˜ ALB) ๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธ€์—..

article thumbnail
[Kubernetes] ์นœํ•œ ๋“ฏ, ์•ˆ ์นœํ•œ Pod ์™€ Goofys

Nginx ๊ธฐ๋ฐ˜์˜ Pod ๋‚ด์—์„œ S3 ์™€ Mount ํ•˜๊ธฐ ์œ„ํ•ด goofys ๋ฅผ ์‚ฌ์šฉํ–ˆ๋˜ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (goofys ๋ง๊ณ  EBS ๋‚˜ EFS ๋„ ์œ„์‹œ๋ฆฌ์ŠคํŠธ์— ์žˆ์—ˆ์ง€๋งŒ, goofys ๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ goofys ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค) ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ฃ . Nginx ๊ฐ€ provisioning ๋  ๋•Œ ConfigMap ์œผ๋กœ init.sh ๋ฅผ ์ฃผ์–ด goofys ๋ฅผ ๋งˆ์šดํŠธ ํ•œ ํ›„ ์‹คํ–‰๋˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋ง์ด์ฃ . #!/usr/bin/env sh set -eu wget https://github.com/kahing/goofys/releases/latest/download/goofys chmod +x goofys /goofys /var/nginx ... nginx -g 'daemo..

article thumbnail
[Kubernetes] ์ธ์ฆ/์ธ๊ฐ€์™€ ETCD ์‚ฌ์ด ๊ทธ ๋…€์„ - Admission Controller
DevOps/Kubernetes 2023. 1. 24. 18:42

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋‹ค๋ฅธ ํ”Œ๋žซํผ์ฒ˜๋Ÿผ ์ธ์ฆ(Authentication)/์ธ๊ฐ€(Athorization) ๋ฅผ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ธ์ฆ๋ฐ›์ง€ ๋ชปํ•œ ์‚ฌ์šฉ์ž๋ผ๋ฉด 401 (UnAuthorized) ๋ฅผ ์‘๋‹ต ๋ฐ›๊ณ , ์ธ์ฆ์€ ๋˜์—ˆ์ง€๋งŒ ๊ถŒํ•œ์ด ์—†๋‹ค๋ฉด 403(Forbidden) ์‘๋‹ต์„ ๋ฐ›๊ฒŒ ๋˜์ฃ . ์•„์ฃผ ํ‰๋ฒ”ํ•œ ์ธ์ฆ/์ธ๊ฐ€ ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ธ์ฆ/์ธ๊ฐ€๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์— ๋ฐ”๋กœ ์ ์šฉํ•  ์ˆœ ์žˆ๋Š” ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์„ ์ ์šฉํ•˜๊ธฐ ์ง์ „ ํ•œ ๊ตฐ๋ฐ๋ฅผ ๋” ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ Adimission Controller ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Adimission Controller ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ , Adimission Controller ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณผ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜Ž Admission Controller ๊ฐ€..

article thumbnail
[๊ฒ‰ํ•ฅ๊ธฐ ์‹œ๋ฆฌ์ฆˆ] ๋ช…๋‹จ์— ์žˆ๋„ค์š”, ๋“ค์–ด์˜ค์‹œ์ฃ ! - Iptables ํŽธ

Iptables ๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์ „์— ๋จผ์ € Netfilter ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ฃ  ! Netfilter ์™€ Iptables AWS EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ Security Group ์ด๋ผ๋Š” ๊ฒƒ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์™ธ๋ถ€๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉํ™”๋ฒฝ ๊ธฐ๋Šฅ์ด์ฃ . EC2 ์ธ์Šคํ„ด์Šค ์•ž๋‹จ์— ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ์•„๋งˆ ๋ฌผ๋ฆฌ์ ์ธ ๊ธฐ๊ณ„๊ฐ€ ์žˆ์–ด์„œ ์–ด๋–ค ํŠธ๋ž˜ํ”ฝ์€ ํ—ˆ์šฉํ•˜๊ณ , ์–ด๋–ค ํŠธ๋ž˜ํ”ฝ์€ ๊ฑฐ๋ถ€ํ•˜๊ฒ ์ฃ . Security Group ์ด ํ•˜๋“œ์›จ์–ด ๋ฐฉํ™”๋ฒฝ ์ด๋ผ๋ฉด Netfilter ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉํ™”๋ฒฝ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. Netfilter ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฉํ™”๋ฒฝ ํŒจํ‚ท ํ•„ํ„ฐ๋ง ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋‚ด๋ถ€์˜ ํ”„๋ ˆ์ž„์›Œํฌ ํฌํŠธ ์ฃผ์†Œ, ๋ณ€ํ™˜, ํฌํŠธ ํฌ์›Œ๋”ฉ ๋ฐ ํŒจํ‚ท ๋ณ€๊ฒฝ ๋ผ์šฐํŒ… ์ „ํ›„์— ๋ฐ์ดํ„ฐ ๋ฐ..

article thumbnail
[Kubernetes] aws_auth ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค..

ํ…Œ๋ผํผ์€ Code ๋กœ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” IaC Tool ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ AWS ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ์ฐธ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ฃ . module ์„ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ต์ง€ ์•Š๊ฒŒ VPC, EKS, ELB ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ…Œ๋ผํผ์„ ์ด์šฉํ•ด EKS ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์€ ๋ฌธ์ œ์ ๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„  Apply!! terraform-aws-eks ์— ๊ฐ€๋ณด๋ฉด ์•„์ฃผ ์นœ์ ˆํ•˜๊ฒŒ ํ…Œ๋ผํผ์„ ์ด์šฉํ•ด EKS ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋ฌด์ž‘์ • eks ๋ชจ๋“ˆ์„ import ํ•˜๊ณ  example ๊ณผ EKS Best Practices Guides ์ฐธ๊ณ ํ•˜์—ฌ ํ…Œ๋ผํผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. provider "kubernetes" { h..

article thumbnail
[๊ฒ‰ํ•ฅ๊ธฐ ์‹œ๋ฆฌ์ฆˆ] k8s์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ„ํ•ด ์น˜์–ผ์Šค - Helm ํŽธ

์™œ Helm ์„ ์‚ฌ์šฉํ•˜๋‚˜์š”? Helm ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ ์ „์— ์™œ ํ•„์š”ํ•œ์ง€ ๋จผ์ € ์•Œ์•„๋ณด์ฃ  ! ๐Ÿง Consistency ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฐํฌํ•˜๋ ค๋ฉด ์•„๋ž˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ yaml ๋กœ ์ž‘์„ฑํ•ด์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. yaml ์ด 1,2 ๊ฐœ๋ผ๋ฉด ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต์ง€ ์•Š๊ฒ ์ง€๋งŒ 10๊ฐœ ์ •๋„๋งŒ ๋˜๋„ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ํž˜๋“ค๊ณ  ๋ถˆํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ๋˜ํ•œ kubectl edit์„ ํ†ตํ•ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ผ๊ด€์„ฑ(Consistency) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Revision History ์–ด๋– ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Deploy, ConfigMap, Service, Ingress yaml ๋กœ ๋ฐฐํฌ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ฃ . ์ด๋•Œ ConfigMap ๊ณผ Service ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์–ด์„œ yaml ์ด ๋ณ€..

article thumbnail
[AWS] rsync ๋ง๊ณ  datasync ! - EFS Data ์ด์ „
AWS 2022. 11. 20. 20:57

EFS (Elastic File System) ์€ AWS ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. EBS, S3 ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ๊ฐ ์“ฐ์ž„์˜ ๋ชฉ์ ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ž˜ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. EFS S3 EBS ์‚ฌ์šฉ ์ผ€์ด์Šค ํ”„๋ผ์ด๋น— ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๋ฐ์ดํ„ฐ ๋ฐฑ์—… ์›น ์„œ๋น„์Šค ๋ฐ ์ปจํ…์ธ  EC2 ์˜ ๋ถ€ํŒ… ๋ณผ๋ฅจ ๊ทธ๋ฆฌ๊ณ  AWS DataSync ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ €์žฅ์†Œ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ VPC ๋‚ด ์ €์žฅ์†Œ๋Š” ๋ฌผ๋ก  ๋‹ค๋ฅธ VPC, ๊ต์ฐจ ๊ณ„์ • ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. โœ… ๋‹ค๋ฅธ VPC, ๊ต์ฐจ ๊ณ„์ •์€ ์„œ๋กœ์˜ VPC ๊ฐ€ Peering ๋˜๊ฑฐ๋‚˜ TGW ๋กœ sharing ๋œ ์ƒํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค ์ž์„ธํ•œ ๋™์ž‘ ๋ฐฉ์‹์€ ํ™•์ธํ•˜๋ ค๋ฉฐ ์—ฌ๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š” ๊ทธ๋Ÿผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ๋ฒˆ DataSy..

article thumbnail
[Kubernetes] User Account ๋ž‘ Service Account ๊ฐ€ ๋‹ค๋ฅธ๊ฑฐ์˜€์–ด?
DevOps/Kubernetes 2022. 11. 20. 14:42

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ฒ˜์Œ User Account ์™€ Service Account ๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๋‹จ์ˆœํžˆ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ์„œ๋ฒ„์—๊ฒŒ ์ž๊ฒฉ ์ฆ๋ช…ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์ธ๊ฐ€๋ณด๋‹ค ํ•˜๊ณ  ๋„˜์–ด๊ฐ”๋˜ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ”๋˜.. ๊ทธ๋ž˜์„œ User Account ๋ž‘ Service Account ๋Š” ๋น„์Šทํ•œ๊ฑฐ !! ๊ฐ™์€ ๊ฑฐ !! ๋ผ๋Š” ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ฃ .. ํ•˜์ง€๋งŒ ์ด ๋‘˜์€ ๋ถ„๋ช… ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์œ„ํ•œ 2๊ฐ€์ง€์˜ account ํƒ€์ž…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. User Account Service Account ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์ด์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์–ด์นด์šดํŠธ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ์„œ๋น„์Šค ์–ด์นด์šดํŠธ๋Š” ํŒŒ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. 100% ๋งž๋Š” ๋ง์ด์ง€๋งŒ..

article thumbnail
[K8S] EKSCTL ๋ฅผ ์ด์šฉํ•œ EKS ๊ตฌ์„ฑ
... 2022. 8. 3. 23:19

๐Ÿ”— eksctl ๊นƒํ—™ ๐Ÿ”— eksctl ๊ณต์‹ ๋ฌธ์„œ ๐Ÿ”— eksctl config file example eksctl ์„ค์น˜ curl --silent --location "(uname -s)_arm64.tar.gz" | tar xz -C /tmp sudo mv /tmp/eksctl /usr/local/bin eksctl version EKS ๊ตฌ์„ฑ eks ๋Š” ์•„๋งˆ์กด์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ๋น„์Šค์ด๋ฉฐ, eksctl ์€ eks ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ปค๋งจ๋“œ ํˆด eksctl ๊ณต์‹ ๋ฌธ์„œ๋Š” ๊ต‰์žฅํžˆ ์นœ์ ˆํ•œ ํŽธ์ด๋ผ๊ณ  ์ƒ๊ฐ ๐Ÿ’ก eksctl ์€ EKS ๋ฅผ ์œ„ํ•œ ์ปค๋งจํŠธ ํˆด์ด๋ฏ€๋กœ aws configure ๊ฐ€ ๋œ ์ƒํƒœ์—ฌ์•ผ ํ•จ aws ๋กœ๊ทธ์ธ aws configure 1. Using Config Files (๊ฐ€์žฅ ๊ธฐ๋ณธ) apiVersi..

article thumbnail
[AWS] S3 ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ์„ ํ™œ์„ฑํ™” ํ•˜๋ฉด์„œ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!!
AWS 2022. 6. 28. 00:21

S3๋Š” ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ ๋ฒ„ํ‚ท ๋‚ด ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œํ•œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ์„ ํ™œ์„ฑํ™” ํ•˜๊ฒŒ ๋˜๋ฉด ์ž์›์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด s3 ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ S3๋Š” ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ์„ ํ•˜๋ฉด์„œ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด์ฃผ๋Š”๋ฐ, ๊ทธ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Pre-Signed-URL ์„ ์ด์šฉํ•˜์—ฌ S3 ๊ฐ์ฒด ์—…๋กœ๋“œ(PUT)/๋‹ค์šด๋กœ๋“œ(GET) ํ•˜๊ธฐ Pre-Signed-URL ์„ ์ด์šฉํ•˜์—ฌ S3 ๊ฐ์ฒด ์—…๋กœ๋“œ(PUT)๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ๋‹ค์šด๋กœ๋“œ๋Š” ์„œ๋ฒ„๋ฅผ ํ”„๋ก์‹œ๋กœ ๋‘์–ด ์„œ๋ฒ„์—์„œ S3์— ์ ‘๊ทผํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ(GET)ํ•˜๊ธฐ Pre-Signed-URL ์„ ์ด์šฉํ•˜์—ฌ S3 ๊ฐ์ฒด ์—…๋กœ๋“œ(PUT)๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ๋‹ค์šด๋กœ๋“œ๋Š” goofys๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ S3..

article thumbnail
[Kotlin] ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ ํ‘œํ˜„์— data ํ•œ์ •์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
... 2022. 6. 16. 21:51

์ด ๊ธ€์˜ ๋‚ด์šฉ์€ [์ดํŽ™ํ‹ฐ๋ธŒ ์ฝ”ํ‹€๋ฆฐ]์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ „๋‹ฌํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ง์ด์ฃ . data class Player( val id: Int, val name: String, val points: Int ) val player = Player(0, "Gecko", 9999) data ํ•œ์ •์ž๋Š” ์•„๋ž˜์˜ ํ•จ์ˆ˜๋“ค์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค. toString equals ์™€ hashCode copy componentN(component1, component2 ๋“ฑ) toString ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ํ˜•ํƒœ๋กœ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ์™€ ๊ฐ’์„ ์ถœ๋ ฅ ํ•ด์ค๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋กœ๊ทธ ์ถœ๋ ฅ์ด๋‚˜ ๋””๋ฒ„๊น… ํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. println(player) // Player(id=0, name=Gecko, p..

article thumbnail
[Spring] Security +Google Oauth2 + JWT ๊ตฌํ˜„ํ•˜๊ธฐ (4) - JWT ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๊ธฐ
... 2022. 6. 5. 12:44

์ด์–ด์„œ ๊ณ„์† ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด๋ฏ€๋กœ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. JWT ์ƒ์„ฑํ•˜๊ธฐ JWT์— ๊ถŒํ•œ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ ์ƒ์„ฑํ•œ JWT์— ๋Œ€ํ•ด ์ธ์ฆ/์ธ๊ฐ€ ํ•˜๊ธฐ JWT ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๊ธฐ (์ง„ํ–‰) ๊ตฌํ˜„ AuthController @RestController @RequestMapping("/auth") class AuthController( private val authService: AuthService ) { /** * token ์ƒ์„ฑํ•ด์„œ ๋ณด๋‚ด์ฃผ๊ธฐ */ @GetMapping("/login") fun login(@AuthenticationPrincipal oAuth2User: OAuth2User): ResponseEntity { return ResponseEntity.ok(authService.login(oAu..

article thumbnail
[Spring] Security +Google Oauth2 + JWT ๊ตฌํ˜„ํ•˜๊ธฐ (3) - ์ƒ์„ฑํ•œ JWT์— ๋Œ€ํ•ด ์ธ์ฆ/์ธ๊ฐ€ ํ•˜๊ธฐ
... 2022. 6. 5. 12:08

์ด์–ด์„œ ๊ณ„์† ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด๋ฏ€๋กœ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. JWT ์ƒ์„ฑํ•˜๊ธฐ JWT์— ๊ถŒํ•œ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ ์ƒ์„ฑํ•œ JWT์— ๋Œ€ํ•ด ์ธ์ฆ/์ธ๊ฐ€ ํ•˜๊ธฐ (์ง„ํ–‰) JWT ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๊ธฐ ๊ตฌํ˜„ JwtFilter class JwtFilter( private val jwtProvider: JwtProvider ) : OncePerRequestFilter() { override fun doFilterInternal( request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain ) { val jwt = jwtProvider.resolveToken(request) if (StringUtils.hasText(jwt) && ..

article thumbnail
[Spring] Security +Google Oauth2 + JWT ๊ตฌํ˜„ํ•˜๊ธฐ (2) - JWT์— ๊ถŒํ•œ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ
... 2022. 6. 4. 18:36

์ด์–ด์„œ ๊ณ„์† ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด๋ฏ€๋กœ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. JWT ์ƒ์„ฑํ•˜๊ธฐ JWT์— ๊ถŒํ•œ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ (์ง„ํ–‰) ์ƒ์„ฑํ•œ JWT์— ๋Œ€ํ•ด ์ธ์ฆ/์ธ๊ฐ€ ํ•˜๊ธฐ JWT ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๊ธฐ ๊ตฌํ˜„ @Component class JwtProvider( private val memberRepository: MemberRepository ) { companion object { private const val AUTHORITIES_KEY = "auth" private const val BEARER_TYPE = "bearer" private const val ACCESS_TOKEN_EXPIRE_TIME = (1000 * 60 * 30) private const val REFRESH_TOKEN_EXPIRE_TIME..

article thumbnail
[Spring] Security +Google Oauth2 + JWT ๊ตฌํ˜„ํ•˜๊ธฐ (1) - JWT ์ƒ์„ฑํ•˜๊ธฐ
... 2022. 6. 4. 18:11

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Spring Security + Google Oauth2 + JWT๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด๋ฏ€๋กœ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰ํ•˜๊ธฐ ์•ž์„œ Google Oauth2 Client_ID, Client_Secret๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๋ฐ›์œผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค :) ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. JWT ์ƒ์„ฑํ•˜๊ธฐ (์ง„ํ–‰) JWT์— ๊ถŒํ•œ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ ์ƒ์„ฑํ•œ JWT์— ๋Œ€ํ•ด ์ธ์ฆ/์ธ๊ฐ€ ํ•˜๊ธฐ JWT ์žฌ๋ฐœ๊ธ‰ ํ•ด์ฃผ๊ธฐ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” JWT ์ƒ์„ฑํ•˜๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„ build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.6.8" id("..

article thumbnail
[Kotlin] ์ œ๋„ค๋ฆญ ํƒ€์ž…๊ณผ variance ํ•œ์ •์ž๋ฅผ ํ™œ์šฉํ•˜๋ผ
... 2022. 4. 29. 15:19

์žฌ์‚ฌ์šฉ์„ ์œ„ํ•œ ๊ณผ๋„ํ•œ ์œ ์—ฐ์„ฑ ๋‹ค์–‘ํ•œ ํƒ€์ž…์— ๋™์ผํ•œ ๋กœ์ง์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ ๊ณผ๋„ํ•˜๊ฒŒ ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋ถ€ Any๋กœ ๋ฐ›๋Š” ๊ฒƒ์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. open class Car class K3 : Car() class Avante : Car() //“์ฐจ์— ๋Œ€ํ•œ ์„ค๋ช…์„œ” ํ•จ์ˆ˜ fun getInstruction(car: Array) { println("car = ${car.size}") } ๋งŽ์ด ๊ทน๋‹จ์ ์ธ ์˜ˆ์ œ์ด๊ธฐ๋Š” ํ•ฉ๋‹ˆ๋‹ค.. open class Fruit class Apple : Fruit() fun main() { val k3 = K3("k3", "๊ธฐ์•„") val avante = Avante("์•„๋ฐ˜๋–ผ", "ํ˜„๋Œ€") val fruits: Array = arrayOf(Apple())..

article thumbnail
[Java] ์Šคํ”„๋ง์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?(2) - OCP์™€ DIP ํ•ด๊ฒฐ By ์ˆœ์ˆ˜ ์ž๋ฐ”
... 2022. 2. 1. 11:25

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” OCP์™€ DIP๊ฐ€ ์œ„๋ฐฐ ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์Šคํ”„๋ง์ด ์•„๋‹Œ ์ˆœ์ˆ˜ ์ž๋ฐ”๋กœ ํ•ด๊ฒฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž ๊น ์ง€๋‚œ ๊ธ€์˜ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. public class DriverImpl implements Driver{ Car car = new K3(); Engine engine = new Electronic(); @Override public void findOwnCarDetail() { car.findCarName(); car.findCarBrand(); engine.WayToMove(); } } DriverImpl ์—ญํ• ์— ๊ตฌํ˜„์ฒด๊ฐ€ ์ง์ ‘ new ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ์–ผํ•๋ณด๋ฉด OCP์™€ DIP๋ฅผ ์ž˜ ์ง€ํ‚จ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์‚ฌ์‹ค ์•„๋‹ˆ๋ผ๊ณ  ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ..

article thumbnail
[Java] ์Šคํ”„๋ง์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?(1) - OCP์™€ DIP์˜ ์œ„๋ฐฐ
... 2022. 1. 20. 15:20

๋ฐ”๋Š˜๊ณผ ์‹ค์ฒ˜๋Ÿผ ์ž๋ฐ”ํ•˜๋ฉด ๋ฐ”๋กœ ๋– ์˜ค๋ฅด๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ "๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด" ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. "๊ฐ์ฒด ์ง€ํ–ฅ"์ด๋ž€ ๋ ˆ๊ณ ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ๊ณ  ๋ธ”๋ก๋“ค์„ ์กฐ๋ฆฝํ•˜์—ฌ ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์ด๋“  ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ๊ณ ๋ฅผ ์ด์šฉํ•ด์„œ ๋™๋ฌผ์›์„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™๋ฌผ์›์—๋Š” ๋ ˆ๊ณ ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‚ฌ์ž๋„ ์žˆ๊ณ , ํ˜ธ๋ž‘์ด๋„ ์žˆ๊ณ , ์ฝ”๋ผ๋ฆฌ๋„ ์žˆ๊ณ , ์ œ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ํŒ๋‹ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์Šฌํ”„๊ฒŒ๋„ ๋” ์ด์ƒ ํ˜ธ๋ž‘์ด๊ฐ€ ์ธ๊ธฐ๊ฐ€ ์—†์–ด์„œ ๊ณ ๋ฆด๋ผ ๋ ˆ๊ณ ๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ์‰ฝ๊ฒŒ ๋™๋ฌผ์›์—์„œ ํ˜ธ๋ž‘์ด ๋ ˆ๊ณ ๋ฅผ ๋นผ๊ณ  ๊ณ ๋ฆด๋ผ ๋ ˆ๊ณ ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ˜ธ๋ž‘์ด, ๊ณ ๋ฆด๋ผ๊ฐ€ ๊ฐ์ฒด๊ฐ€ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜ธ๋ž‘์ด๋ฅผ ๋บ€ ๋‹ค๊ณ  ํ•ด์„œ ๊ธฐ์กด์— ์žˆ๋˜ ์‚ฌ์ž๋‚˜ ํŒ๋‹ค ๋ ˆ๊ณ ๋Š” ์ „ํ˜€ ์˜ํ–ฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ผ์ด๊ฑฐ ๋ ˆ๊ณ ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๊ณ , ํ˜ธ๋ž‘์ด์™€ ์‚ฌ์ž๋ฅผ ๋งˆ๊ตฌ์žก..

article thumbnail
[Kubernetes] CKA Certification ์ทจ๋“ ํ›„๊ธฐ ๋ฐ Tips
Certification 2022. 1. 4. 16:58

CKA,CKAD ๋Š” ์œ ํšจ๊ธฐ๊ฐ„์ด 3๋…„์—์„œ 2๋…„์œผ๋กœ ์ค„์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.๋‹จ, 2024๋…„ 04์›” 01์ผ ์ด์ „์— ์ทจ๋“ํ•œ ์ž๊ฒฉ์ฆ์— ๋Œ€ํ•ด์„œ๋Š” ์œ ํšจ๊ธฐ๊ฐ„์ด 3๋…„์ž…๋‹ˆ๋‹ค.๋˜ํ•œ ๋งŽ์€ ๋ณ€๊ฒฝ์ ๋“ค์ด ์žˆ์œผ๋‹ˆ, ๊ผญ ๊ณต์‹ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!์—ฌ๊ธฐ ์ฐธ๊ณ     ์ƒˆํ•ด ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜์˜€๋˜ 'CKA Cer ์ทจ๋“'์„ ๋‹ฌ์„ฑํ•˜๋ฉด์„œ ์ˆœ์กฐ๋กญ๊ฒŒ ์ƒˆํ•ด๋ฅผ ์‹œ์ž‘ํ•˜๋„ค์š” CKA๋ฅผ ์–ด๋–ป๊ฒŒ ์ค€๋น„ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์ทจ๋“์„ ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ์„ค๋ช…ํ•˜๋ฉด์„œ ๊ทธ๋•Œ ๊ทธ๋•Œ Tip์— ๋Œ€ํ•ด์„œ๋„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค(CKS ํ›„๊ธฐ๊ฐ€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์—ฌ๊ธฐ) ๋ชฉ์ฐจCKA๋ž€?CKA ์ ‘์ˆ˜ ๋ฐฉ๋ฒ•CKA ๊ณต๋ถ€ ๋ฐฉ๋ฒ•CKA ์‹ค์ œ ์‹œํ—˜ ์‘์‹œCKA ์ทจ๋“ ํ›„๊ธฐTips CKA๋ž€?์š”์•ฝํ•˜์ž๋ฉด CKA(Certified Kubernetes Administrator)๋Š” Kubernetes ๊ด€๋ฆฌ์ž๋กœ์„œ K8S๋ฅผ ์ˆ˜ํ–‰ํ• ..

article thumbnail
[Docker] Mysql ์ปจํ…Œ์ด๋„ˆ sql-mode ๊ด€๋ จ ์„ค์ • with ONLY_FULL_GROUP_BY ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ
... 2021. 12. 12. 14:55

๋„์ปค ํ—ˆ๋ธŒ์— ์˜ฌ๋ผ์˜จ ๊ณต์‹ MySql ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์–ธ์ œ ์–ด๋””์„œ๋“  ์•„์ฃผ ์‰ฝ๊ฒŒ ๋™์ผํ•œ MySql ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MySql ์ปจํ…Œ์ด๋„ˆ๋Š” 8 ๋ฒ„์ „์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ๋„์ปค ํ—ˆ๋ธŒ์— ๋‚˜์™€์žˆ๋Š” ์„ค๋ช…๋Œ€๋กœ ํ•˜๋ฉด 1๋ถ„๋„ ์•ˆ๋˜์„œ MySql ํ™˜๊ฒฝ์„ ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๋ฉด ์•ˆ๋˜๊ณ  ๋ณผ๋ฅจ๋„ ๋งˆ์šดํŠธ ํ•ด์•ผํ•˜๊ณ  MySql์—์„œ์˜ ์‹œ๊ฐ„, ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ๋„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag ๊ทธ ์ค‘ ์ด๋ฒˆ ๊ธ€์—์„œ sql-mode ๋ผ๋Š” MySql์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. sql-mode๋ž€? MySql์— ์ €์žฅ๋  ๋ฐ..

article thumbnail
[Linux] VM์„ NFS๋กœ ์‚ฌ์šฉํ•˜๊ธฐ
... 2021. 12. 8. 23:01

NFS๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ณต์œ ๋œ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ ํŒŒ์ผ์„ ๋กœ์ปฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋„คํŠธ์›Œํฌ ํŒŒ์ผ ์‹œ์Šคํ…œ(Network File System, NFS)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ „ํ†ต์ ์ธ ์œ ๋‹‰์Šค ํ™˜๊ฒฝ์—์„œ๋Š” ์˜ค๋žซ๋™์•ˆ ๋„คํŠธ์›Œํฌ์—์„œ ์ž๋ฃŒ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ NFS๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. NFS ์„œ๋ฒ„๊ฐ€ ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๋ฉด NFS ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณต์œ ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•ด์„œ ์›๊ฒฉ ํ˜ธ์ŠคํŠธ(NFS ์„œ๋ฒ„)์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. NFS๋Š” ์†์‰ฝ๊ฒŒ ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. NFS๋กœ ๊ณต์œ ํ•œ ํŒŒ์ผ์—๋Š” ์ผ๋ฐ˜์ ์ธ ์†Œ์œ ๊ถŒ๊ณผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ๊ทธ๋Œ€๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ ์†Œ์œ ์ž์™€ ๊ฐ™์€ UID๋กœ ๊ณต์œ  ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ ‘๊ทผํ•ด์„œ ํŒŒ์ผ์„ ๋งˆ์Œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋œ ..

article thumbnail
[K8S] ํŒŒ์ผ(.yaml)์—์„œ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ ํ•œ ํ›„ ๊ทธ ๋ฌธ์ž์—ด์˜ ๋ผ์ธ ๋„˜๋ฒ„ ๊ฐ€์ ธ์˜ค๊ธฐ
... 2021. 11. 26. 11:02

์„ค๋ช…์€ ํ•„์š”์—†๊ณ  ๊ฒฐ๋ก ๋งŒ ์•Œ๊ณ  ์‹ถ์€ ๋ถ„๋“ค์„ ์œ„ํ•œ $ sed "$(grep -n 'image:' nginx.yaml | grep -Eo '^[^:]+')s/nginx:1.0/nginx:2.0/g" nginx.yaml ๋ณธ๋ฌธ์˜ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ ์˜ˆ์‹œ ์œ„ ์ด๋ฏธ์ง€๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ปค๋ฐ‹ํ•œ ํ›„ ์ž๋™์œผ๋กœ k8s cluster์— ๋ฐฐํฌ๋˜๊ธฐ ๊นŒ์ง€์˜ ๊ณผ์ •์„ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋„์‹ํ™”ํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์šด์˜ ์ค‘์ธ ์„œ๋น„์Šค์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ • ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋  ๊ฒฝ์šฐ GitOpsRepo์˜ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ฒ„์ „ ๋˜ํ•œ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋  ๊ฒฝ์šฐ ์  ํ‚จ์Šค์—์„œ GitOps Repo์— push๋ฅผ ํ•  ๋•Œ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ฒ„์ „์œผ๋กœ ์ˆ˜์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์•ผ argoCD์—์„œ git..

article thumbnail
[K8S]unable to fetch the kubeadm-config ConfigMap: failed to get config map: UnauthorizedTo see the stack trace of this error execute with --v=5 or higher ์—๋Ÿฌ
... 2021. 11. 23. 00:11

๋งŒ์•ฝ kubeadm์„ ํ†ตํ•ด master์— node join์„ ์‹œ๋„ํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๋ฉด ubuntu@node:~$ sudo kubeadm join 192.168.241.92:6443 --token 4rlhh1.4dehcs172qy9enyj --discovery-token-ca-cert-hash sha256:b5347bb4959f63e6100142700db4b7d69ea0d860c332265a1748cef29698f814 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd"..

article thumbnail
[Kubernetes] kubeadm ์ด์šฉํ•˜์—ฌ k8s Cluster ๋ฐฐํฌํ•˜๊ธฐ(๊ณต์‹๋ฌธ์„œ ์œ„์ฃผ)
... 2021. 11. 19. 16:25

AWS EKS ๋‚˜ GCP GKE๋ฅผ ์ด์šฉํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ๋ž€ ์‰ฌ์šด ์ผ์€ ์•„๋‹™๋‹ˆ๋‹ค. (์ตœ์†Œ ์ €ํ•œํ…Œ๋Š” ใ…œใ…œ) ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” k8s ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์ถ•ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•์— ์ดˆ์ ์„ ๋งž์ถฐ์„œ k8s ์™€ k8s ๋‚ด ์˜ค๋ธŒ์ ํŠธ๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์™€ ์›Œ์ปค ๋…ธ๋“œ์—์„œ ์ˆ˜ํ–‰ํ•  ํ–‰์œ„๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ ๊ฐ ๋ถ€๋ถ„๋งˆ๋‹ค ํ‘œ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋“œ์‹œ ์ง„ํ–‰ ์ˆœ์„œ๋Š” ์ง€์ผœ์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์„ค์น˜ ํ•˜์‹œ๋‹ค๊ฐ€ ์ž˜๋ชป๋œ ๋А๋‚Œ์ด ๋“ ๋‹ค๋ฉด kubeadm reset ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฆฌ์…‹ํ•ด์ฃผ์‹œ๊ณ  ๋‹ค์‹œ ์ง„ํ–‰ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์šฐ์„  ๋ฏธ๋ฆฌ ์ค€๋น„๋˜์–ด์•ผ ํ•  ํ™˜๊ฒฝ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค...

article thumbnail
[Network] netstat ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ํ™•์ธ
... 2021. 11. 17. 10:38

https://reboot.co.kr/13.html 1.๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด๋ž€ ๋‚ด PC๋ฅผ ๊ฐ€์ง€๊ณ  ํ• ์ˆ˜ ์žˆ๋Š” ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1) ์˜†์ž๋ฆฌ์— ์•‰์•„ ์žˆ๋Š” ์‚ฌ๋žŒ๊ณผ IPX๋กœ ์Šคํƒ€ํฌ๋ž˜ํ”„ํŠธ๋ฅผ ํ•œ๋‹ค. 2) ๋ฏธ๊ตญ์— ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ์‚ฌ์˜ ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•œ๋‹ค reboot.co.kr 1.๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด๋ž€ ๋‚ด PC๋ฅผ ๊ฐ€์ง€๊ณ  ํ• ์ˆ˜ ์žˆ๋Š” ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1) ์˜†์ž๋ฆฌ์— ์•‰์•„ ์žˆ๋Š” ์‚ฌ๋žŒ๊ณผ IPX๋กœ ์Šคํƒ€ํฌ๋ž˜ํ”„ํŠธ๋ฅผ ํ•œ๋‹ค. 2) ๋ฏธ๊ตญ์— ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ์‚ฌ์˜ ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•œ๋‹ค. 3) ๊ธฐํƒ€ .. ๊ทธ๋ ‡๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒํ•ด์„œ ๋‚ด PC๋Š” ์˜†์ž๋ฆฌ์™€ ๋ฏธ๊ตญ์˜ PC๋ฅผ ๊ตฌ๋ถ„ํ•ด์„œ ์ฐพ์•„๋‚˜๊ฐ€๊ฒŒ ๋˜๋Š”๊ฒƒ์ผ๊นŒ ? ์˜†์—์žˆ๋Š” PC๋Š” ๋‹น์—ฐํžˆ ์˜†์— ์žˆ์œผ๋‹ˆ๊นŒ ๋ฐ”๋กœ ์—ฐ๊ฒฐ๋˜๋Š”๊ฒƒ์ด๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ„์€ PC์˜ ๋งˆ์Œ์„ ํ—ค์•„๋ฆฌ์ง€ ๋ชปํ•œ๊ฒƒ์ด๋‹ค. PC๋Š” ์ž์‹ ์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๊ฐ€์ง€๊ณ  ๋‹ค..

article thumbnail
[Linux] Add Directory to $PATH in Linux
... 2021. 11. 12. 11:52

When you type a command on the command line, you’re basically telling the shell to run an executable file with the given name. In Linux, these executable programs like ls , find , file and others, usually live inside several different directories on your system. Any file with executable permissions stored in these directories can be run from any location. The most common directories that hold ex..

article thumbnail
[Jenkins] How to use SED in a Jenkins Pipeline
... 2021. 11. 11. 15:42

How to use SED in a Jenkins Pipeline how to use sed in jenkinsfile devopsian.net Have you ever had a task to update a single line in a file? There few utilities to help with that task, and I find sed superior on the alternatives. sed is a stream editor, with which you can modify files. It’s a great utility in your toolbox. If you’re unfamiliar with it, here’s a [link for a quick intro. I had to ..

article thumbnail
[Docker] ์ปจํ…Œ์ด๋„ˆ ์„ค์ • ์˜ค๋ฅ˜๋กœ ์ธํ•œ ์‹คํ–‰๋ถˆ๊ฐ€ ์ƒํƒœ์—์„œ ์ปจํ…Œ์ด๋„ˆ ์ˆ˜์ •ํ•˜๊ธฐ
... 2021. 11. 10. 09:57

ํ†ฐ์บฃ ์ด๋ฏธ์ง€๊ฐ€ ์„ค์น˜๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ run์œผ๋กœ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1 ํ†ฐ์บฃ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋ฉด์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋กœ Docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์ปจํ…Œ์ด๋„ˆ ์—๋Ÿฌ ๋กœ๊ทธ๋ฅผ ์—ด์–ด ๋ณด์•˜๊ณ  docker logs -t CONTAINER ID ์›์ธ์€ ํ†ฐ์บฃ ์‹คํ–‰์‹œ server.xml์— ์„ค์ •ํ•œ ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„์„œ ์˜€๋‹ค. server.xml์„ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ปจํ…Œ์ด๋„ˆ ์ž์ฒด๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์˜ ์ด ๊ธ€์˜ ๋‹ต๋ณ€ ์ค‘ ์ ์ ˆํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์ปจํ…Œ์ด๋„ˆ๋Š” ์ •์ง€ ์ƒํƒœ์— ์žˆ์ง€๋งŒ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์„ ํ˜ธ์ŠคํŠธOS๋กœ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด์™€์„œ ์•ˆ์—..

๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ์„ ๋ณด์‹œ๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
profile on loading

Loading...