0. kubernetes architecture - gomamon/k8s_study GitHub Wiki

master๊ณผ node๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์ง€์š”

master

  • ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋ฒ„
  • etcd, kube-scheduler, docker, kube-proxy, kubelet, kube-controller-manber... ๋“ฑ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚จ๋‹ค.
  • ๋งˆ์Šคํ„ฐ๋Š” ๋ณดํ†ต 3๋Œ€์ •๋„ for HA(๊ณ ๊ฐ€์šฉ์„ฑ)

node

  • ์‹ค์ œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ์„œ๋ฒ„
  • kublete, kube-proxy, docker๋“ฑ์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

๋งˆ์Šคํ„ฐ์™€ ๋…ธ๋“œ์˜ ํ†ต์‹ ๋งจ

etcd

key-value์ €์žฅ์†Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•จ

kube-apiserver

kube-apiserver๋กœ ํ†ต์‹  kubelete ๋งˆ์Šคํ„ฐ์— ์žˆ๋Š” ๋„์ปค ๊ด€๋ฆฌ ( ๋„์ปค์•ˆ์— ์ฟ ๋ฒ„๋„คํ‹ฑ์Šค ๊ด€๋ฆฌ์šฉ ์ปดํฌ๋„ŒํŠธ ์žˆ๋‹ค๋กœ)

Object & Controller

  • Object
    • pod, service, volume, namespace
  • Controller
    • managing object
    • delete object or create
    • replicaset, deployment, StatefulSet, DeamonSet, Job

namespace

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋‚˜๋ˆ ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒํ•œ๋А ๊ฒƒ

kubectl get namespaces
kubectl config current-context

๊ธฐ๋ณธ namespace ๋ณ€๊ฒฝ

kubectl config set-context ์ปจํ…์ŠคํŠธ --namespace=kube-system

template

์˜ค๋ธŒ์ ํŠธ๋‚˜ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒํƒœ๋ฅผ YAML form์˜ template์œผ๋กœ ์ €์žฅ

scalar, sequences, mapping

apiVersion : API ๋ฒ„์ „ ๋ช…์‹œ

kind : ์–ด๋–ค ์ข…๋ฅ˜์˜ ์˜ค๋ธŒ์ ํŠธ ํ˜น์€ ์ปจํŠธ๋กค๋Ÿฌ์— ์ž‘์—…์ธ์ง€ ๋ช…์‹œ, Pod, deployment, ingress

metadata : ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •,

spec: ํŒŒ๋“œ๊ฐ€ ์–ด๋–ค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ–๊ณ  ์‹คํ–‰ํ•˜๋А์ง€, ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ์ง€ ๋ช…์‹œ

kubectl explain pods
kubectl explain pods.metadata