๐ŸŒฑ Infra 49

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] Step 5 . Kube DashBoard ์›นUI ์„ค์น˜ํ•˜๊ธฐ :)

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์›น ๋Œ€์‹œ๋ณด๋“œ UI๋ฅผ ์„ค์น˜ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ UI๋ฅผ ํ•จ๊ป˜ ๋ฐฐํฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณ„๋„๋กœ ๋ฐฐํฌํ•ด์ฃผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๊ณต์‹ ๋ฌธ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž, ์ง€๊ธˆ๋ถ€ํ„ฐ ๋Œ€์‹œ๋ณด๋“œ UI ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•ด๋ด…์‹œ๋‹ค. 1. DashBoard ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ Kubernetes DashBoard ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค. apply ๋ช…๋ น์–ด๋กœ ๋‹ค์šด๋ฐ›์•„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ์™ธ๋ถ€์—์„œ ์ ‘์†ํ• ์ˆ˜ ์—†๊ธฐ๋•Œ๋ฌธ์—, ๋‹ค์šด๋กœ๋“œ๋ฐ›์€ ํ›„ ymalํŒŒ์ผ์„ ์กฐ๊ธˆ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. [root@kube-manager /]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml ๋‹ค์šด๋ฐ›์€ ํ›„ ๋‚ด์šฉ์„ ์กฐ๊ธˆ ..

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] Step 4 . Calico & kubens ์„ค์น˜

์ด๋ฒˆ ๋‹จ๊ณ„์—์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋„คํŠธ์›Œํฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ข…๋ฅ˜์ค‘ ํ•˜๋‚˜์ธ Calico ์„ค์น˜์™€, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ณ€๊ฒฝ ์Šคํฌ๋ฆฝํŠธ์ธ kubens๋ฅผ ์„ค์น˜ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜๐Ÿ˜ ์ด ๋‘๊ฐœ ๋ชจ๋‘ Manager Node์—์„œ๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1. Network Policy Provider - Calico ์„ค์น˜ ์•„๋ž˜ ๋”๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ™•์ธํ•˜์„ธ์š”๐Ÿฅณ ๋”๋ณด๊ธฐ Calico ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋„คํŠธ์›Œํฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋„คํŠธ์›Œํ‚น์— ๋Œ€ํ•œ ๋‚ด์šฉ๊ณผ ์„œ๋น„์Šค๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :) ์„ค์น˜๋Š” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ €, MasterNode์—์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. [root@kube-manager /]# kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml ์„ค์น˜๊ฐ€ ์™„..

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] Step 3 . ์›Œ์ปค๋…ธ๋“œ ์„ค์น˜/๊ตฌ์„ฑํ•˜๊ธฐ

์ด๋ฒˆ ๋‹จ๊ฒŒ์—์„œ๋Š” ์›Œ์ปค ๋…ธ๋“œ๋ฅผ ๊ตฌ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 3๊ฐœ์˜ ๋…ธ๋“œ ์ค‘ ๋งค๋‹ˆ์ € ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋‘ ๋Œ€ (์›Œ์ปค๋…ธ๋“œ)์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ณ !! 1. kubeadm join ๋ช…๋ น์–ด ํ™•์ธ (์„ ํƒ์‚ฌํ•ญ) ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ Worker ๋…ธ๋“œ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ Kubeadm join ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ž ํฌ์ŠคํŒ…์—์„œ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด kubeadm init ์ถœ๋ ฅ ๊ฒฐ๊ณผ์— joinํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. :) ๋งŒ์•ฝ ์ด ๋ช…๋ น์–ด๋ฅผ ์žƒ์–ด ๋ฒ„๋ ธ๋‹ค๋ฉด ๋‹ค์‹œ ํ™•์ธํ•ด์•ผ๊ฒ ์ฃ !! ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ join ์ปค๋ฉ˜๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. [root@kube-manager /]# kubeadm token create --print-join-command ์ถœ๋ ฅ๋˜๋Š” kubeadm join ~~ ์ปค๋ฉ˜๋“œ๋ฅผ ๋ณต์‚ฌ ํ•˜๊ณ  ์•„..

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] Step 2 . ์ปจํŠธ๋กคํ”Œ๋ ˆ์ธ ์„ค์น˜/๊ตฌ์„ฑํ•˜๊ธฐ

์ œ๊ฐ€ ๊ตฌ์„ฑํ•  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ๋„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ณด๋ฉด Control Plane (Manager Node)๊ฐ€ ๋ณด์‹œ์‹œ์ฃ ?! ์ด๋ฒˆ ๋‹จ๊ฒŒ์—์„œ๋Š” Control Plane์„ ๊ตฌ์„ฑํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 3๊ฐœ์˜ ๋…ธ๋“œ ์ค‘ ๋งค๋‹ˆ์ € ๋…ธ๋“œ ํ•˜๋‚˜์—์„œ๋งŒ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ณ !! ๋ช…๋ น์–ด๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. kubeadm init ์ดํ›„ ์˜ต์…˜๊ฐ’๋“ค์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด๋ด…์‹œ๋‹ค! ๊ณต์‹ํ™ˆํŽ˜์ด์ง€๋งํฌ kubeadm init --apiserver-advertise-address= --pod-network-cidr= ์ €๋Š” Manager Node IP์ฃผ์†Œ๊ฐ€ 10.0.1.10 ์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ํ™˜๊ฒฝ์— ๋งž์ถฐ IP ๋ณ€๊ฒฝํ•ด์„œ ์ž‘์„ฑํ•˜์„ธ์š” :) [root@kube-manager /]# kubeadm init --apiserver-adverti..

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] Step 1 . ํŒจํ‚ค์ง€ ์„ค์น˜ํ•˜๊ธฐ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?๐Ÿคจ ํ•œ๋งˆ๋””๋กœ ๋งํ•ด์„œ "์ปจํ…Œ์ด๋„ˆ๋ฅผ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปจํŠธ๋กค ํ•ด์ฃผ๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํˆด" ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” "๋…ธ๋“œ"๋ž€, ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ/์„œ๋ฒ„๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. Docker๋‚˜ Docker Composer๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ–ˆ์—ˆ์ฃ , ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์—ฌ๋Ÿฌ๋Œ€์˜ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. :) ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐœ๋…์ด ๋ง‰ ๋‚˜์˜ค๊ฒ ์ง€๋งŒ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์ด ์„ค์น˜ ๋˜์–ด์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐ ํƒ€์ž„์€ containerd, CRI-O, Docker ์ž…๋‹ˆ๋‹ค. ์ €๋Š” Docker ๋Ÿฐํƒ€์ž„์„ ์„ค์น˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋„์ปค ์„ค์น˜๋ถ€ํ„ฐ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Step by Step์œผ๋กœ ์„ค์น˜๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ..

[docker-swarm (1)] ๋„์ปค ์Šค์›œ ๊ตฌ์„ฑ, ๋ง›๋ณด๊ธฐ!

๋„์ปค ์Šค์›œ์€ ๋ณ„๋„๋กœ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด, ๋„์ปค ์„œ๋ฒ„ ์ž์ฒด๋งŒ๋“œ๋กœ ๋„์ปค ์Šค์›œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ;) ๋„์ปค ์Šค์›œ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Docker Version์„ ํ™•์ธํ•˜์—ฌ 1.12๋ฒ„์ „ ์ด์ƒ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” Docker Swarm ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜ ๋„์ปค ์Šค์›œ์€, ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํˆด์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์ปค ์Šค์›œ์€ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์™€ ์›Œ์ปค๋…ธ๋“œ ์ด๋ ‡๊ฒŒ 2๊ฐœ์˜ ์—ญํ• ์ด ์žˆ์œผ๋ฉฐ, ๋งค๋‹ˆ์ € ์—ญํ• ์˜ ๋…ธ๋“œ๋Š” ๋ฐ˜๋“œ์‹œ 1๊ฐœ ์ด์ƒ, ์›Œ์ปค๋…ธ๋“œ๋Š” ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋‹ˆ์ € ์—ญํ• ์„ ํ•˜๋Š” ๋…ธ๋“œ๋Š” ์›Œ์ปค๋…ธ๋“œ์˜ ์—ญํ• ๋„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์€ 3๊ฐœ์˜ Manager ๋…ธ๋“œ์™€, 7๋Œ€์˜ Worker ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์ง€๋งŒ, ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” 1๊ฐœ์˜ Manag..

[Docker-Basic (12)] Docker Compose Sample App - Django

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์•„๋ž˜ URL์„ ์ฐธ์กฐํ•˜์—ฌ Django+postgresql ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :) docs.docker.com/compose/django/ Quickstart: Compose and Django This quick-start guide demonstrates how to use Docker Compose to set up and run a simple Django/PostgreSQL app. Before starting, install Compose. Define the project components For this project, you... docs.docker.com ๐Ÿณ Step1. ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์š”์†Œ ์ •์˜ 1. ํ”„๋กœ์ ํŠธ(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜) ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ์—์„œ..

[Docker-Basic (11)] Docker Compuser ์‚ฌ์šฉํ•˜๊ธฐ :P

Docker Compose๋Š”, ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•œ๋ฒˆ์— 2๊ฐœ ์ด์ƒ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•˜๋‚˜์˜ ์„ธํŠธ์ฒ˜๋Ÿผ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด Docker Compose๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ง›๋ณด๊ธฐ๋กœ ํ•œ๋ฒˆ ์ง„ํ–‰ ํ•ด๋ด…์‹œ๋‹ค! ๐Ÿณ step 1. Compose ์„ค์น˜ ๋„์ปค ์„ค์น˜ ๋ช…๋ น์–ด๋ถ€ํ„ฐ ๋น ๋ฅด๊ฒŒ ๋‹ค์‹œ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ํ™ˆํŽ˜์ด์ง€์—์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. Docker ์„ค์น˜ Docker๊ฐ€ ์„ค์น˜๋  OS๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Centos7 ์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค :) [root@master /]# rpm -qa | grep release centos-release-7-8.2003.0.el7.centos.x86_64 yum-utils ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. [root@master /]# yum install -y yum-u..

[Docker-Basic (10)] Docker File ์‚ฌ์šฉํ•˜๊ธฐ - ์‹ค์Šต2 MARIA DB

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ค‘ ํ•˜๋‚˜์ธ DockerFile์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!!! ์‹œ์ž‘ํ•˜๊ธฐ์ „์—, ๋„์ปคํŒŒ์ผ์ด๋ž€ ๋ญ˜๊นŒ์š”? docs.docker.com/engine/reference/builder/ Dockerfile reference Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command... docs.docker.com ๊ฐ„๋‹จํ•˜๊ฒŒ "๋ ˆ์‹œํ”ผ"๋ผ๊ณ  ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”๋ฆฌ๋ฅผ ๋งŒ๋“ค๋–„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ๋ง›์žˆ๋Š”์ง€ ๋ ˆ์‹œํ”ผ๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ์ •์˜๋œ ..

[Docker-Basic (9)] Docker File ์‚ฌ์šฉํ•˜๊ธฐ -์‹ค์Šต1 HTTP ์›น

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ค‘ ํ•˜๋‚˜์ธ DockerFile์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!!! ์‹œ์ž‘ํ•˜๊ธฐ์ „์—, ๋„์ปคํŒŒ์ผ์ด๋ž€ ๋ญ˜๊นŒ์š”? docs.docker.com/engine/reference/builder/ Dockerfile reference Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command... docs.docker.com ๊ฐ„๋‹จํ•˜๊ฒŒ "๋ ˆ์‹œํ”ผ"๋ผ๊ณ  ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”๋ฆฌ๋ฅผ ๋งŒ๋“ค๋–„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ๋ง›์žˆ๋Š”์ง€ ๋ ˆ์‹œํ”ผ๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ์ •์˜๋œ ..

728x90