๐ŸŒฑ Infra/Container_ Kubernetes 8

[k8s] ํ•™์Šต๋…ธํŠธ #1 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์ž‘ํ•˜๊ธฐ

์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์•ˆ๋‚ด์„œ๋ฅผ ๋ณด๊ณ  ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค๋ช… ์ง„์งœ ์งฑ์งฑ๐Ÿ‘ โ€‹# ํ•™์Šต ๋ชฉํ‘œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ์„ ์ตํ˜€๋ณด์ž! # ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ด๋ž€? ๋ณต์žกํ•œ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ # ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ 1. Cluster: ์ค‘์•™์ œ์–ด, ๋„คํŠธ์›Œํ‚น 2. State: ์ƒํƒœ๊ด€๋ฆฌ 3. Scheduling: ๋ฐฐํฌ๊ด€๋ฆฌ 4. Roll out & Roll back : ๋ฐฐํฌ ๋ฒ„์ „๊ด€๋ฆฌ 5. Service Discovery: ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ์กฐํšŒ 6. volume: ๋ณผ๋ฅจ ์Šคํ† ๋ฆฌ์ง€ # ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์ข…๋ฅ˜ ์—„์ฒญ ๋งŽ๋‹ค...! DEIS, RANCHAR, MESOS, NOMAD, SWARM, K8s # ๊ทธ์ค‘์—์„œ๋„ ์™œ? ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์ธ..

k8s ๋น ๋ฅด๊ฒŒ ์„ค์น˜ํ•˜๊ธฐ

์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ๋‹จ์ผ๋…ธ๋“œ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  * ์„ค์น˜ OS: centos-release-7-9.2009.1.el7.centos.x86_64 1. kube ์„ค์น˜ ์•„๋ž˜์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ์ญ‰ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ผ๋„ ๋น ํŠธ๋ฆฌ๋ฉด kubeadm init์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋น ํŠธ๋ฆฌ๋Š” ๊ฒƒ ์—†์ด ์ž˜ ๋”ฐ๋ผ์˜ค์„ธ์š”!๐Ÿฅฒ # ๋Ÿฐํƒ€์ž„ docker ์„ค์น˜ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum update -y && sudo yum install -y contain..

[k8s] ERROR - The connection to server was refused

์ •๋ง ์˜ค๋ž˜๊ฐ„๋งŒ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ณต๋ถ€ํ•˜๋Š”๋ฐ... ์•„์ฃผ ์˜ค๋ž˜๊ฐ„๋งŒ์ด๋ผ ๋˜ ์˜ค๋งŒ๊ฐ€์ง€ ์˜ค๋ฅ˜ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค ๐Ÿฅฒ.... ์‚ถ์ด๋ž€..์‚ถ์€...๋‹ฌ๊ฑ€์ด๋‹ค... ์˜ค๋ฅ˜๋ฅผ ์‚ดํŽด๋ด…์‹œ๋‹ค. [root@ip-10-77-110-113 docker]# kubectl run myapp --image=myapp-image --port=8080 The connection to the server localhost:8080 was refused - did you specify the right host or port? ์ด ์˜ค๋ฅ˜๋Š” ์ €๋Š” ์ด๋ ‡๊ฒŒ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. 1) kube init ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ kubectl ์ดˆ๊ธฐ ์„ค์ •์„ ํ•ด๋ด…์‹œ๋‹ค. ์• ์ดˆ์— kubectl ๋ช…๋ น์–ด๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ์š”.! kubeadm init 2) ์„ค์ •ํŒŒ์ผ์„ ์˜ฎ๊ฒจ์ค์‹œ๋‹ค..

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ] 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์œผ๋กœ ์„ค์น˜๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ..

728x90