Slide 1

Slide 1 text

kubesprayͰ ࡞ͬͯյͦ͏k8sΫϥελ 2022/10/12 K8s@home #1 ࠤʑ໦ ݈ଠ࿕ɹɹ@ponzmild 1

Slide 2

Slide 2 text

ࣗݾ঺հ ࠤʑ໦ ݈ଠ࿕ (Kentaro Sasaki) - ɹ@ponzmild • ॴଐ: ೔ຊΞΠɾϏʔɾΤϜגࣜձࣾ • ීஈͷ͓࢓ࣄ: OpenShiftͰΞϓϦ։ൃ & ϞμφΠθʔγϣϯࢧԉ • ॻ੶ࣥච: ʰApache KafkaΛ͸͡ΊΔʱ(ΠϯϓϨεR&Dࣾ) • ࣗ୐k8sྺ: ໿1೥ 2

Slide 3

Slide 3 text

ͦͷKubernetesΫϥελɺ ʮࠓʯ΋͏Ұ౓࡞Γ௚ͤ·͔͢ʁ 3

Slide 4

Slide 4 text

௕͘ӡ༻͍ͯ͠Δͱ࡞Γ௚͕࣌͘͢Δ ෺ཧϚγϯ ϋΠύʔόΠβʔ ෺ཧϚγϯ ෺ཧϚγϯ 7. 7. 7. 7. 7. ,VCFSOFUFT 1PE 1PE 1PE Ϧιʔε૿ڧɺNWઃఆͷมߋɺ ిݯஅͰμ΢ϯ ఆظతͳόʔδϣϯΞοϓ Pod͔Βར༻͢Δύοέʔδಋೖɺ ಉډ͢ΔVMͷͨΊʹϦιʔεۭ͚Θͨ͠ K8sΫϥελͷόʔδϣϯΞοϓɺ ίϯϙʔωϯτͷ૊߹ͤ΍࣮૷มߋ 4

Slide 5

Slide 5 text

·ͱΊͯ࡞Γ௚͢ͷ͸େมʂʂ ઃఆ஋Λ๨Εͨ ͳͥ͜ΜͳઃఆΛ ೖΕͨͷ͔ෆ໌ ख࡞ۀͩͱԿ౓΋ ΍Γ௚͠ ࡞Γ௚͍ͨ͠ͷ͸ Ұ෦͚ͩͳͷʹ 5

Slide 6

Slide 6 text

kubesprayͰ ΧδϡΞϧʹk8s࡞ͬͯյͦ͏ʂ 6

Slide 7

Slide 7 text

kubesprayͱ͸ • K8sΫϥελΛߏ੒؅ཧɺ͓Αͼ࡞੒~࡟আΛ࣮ߦ͢ΔπʔϧΩοτ • https://github.com/kubernetes-sigs/kubespray • ϕΞϝλϧɺvSphereɺAWSɺAzureͱ͍ͬͨෳ਺؀ڥʹରԠ • HAߏ੒ͷΫϥελ΋ߏ੒Մೳ • ࣮ଶ͸Ansible Playbookͷू߹ = k8sΫϥελΛIaCԽ 7

Slide 8

Slide 8 text

https://kubernetes.io/ja/docs/setup/production-environment/tools/kubespray/ 8

Slide 9

Slide 9 text

kubesprayͷ࢓૊Έ ෺ཧϚγϯ ϋΠύʔόΠβʔ ෺ཧϚγϯ ෺ཧϚγϯ 7. 7. 7. 7. 7. ,VCFSOFUFT kubespray Ansible Ansible Playbook (YAML) K8sʹඞཁͳOSઃఆ Addons 1PE 1PE 1PE 9

Slide 10

Slide 10 text

kubesprayΛ͸͡ΊΔ 10

Slide 11

Slide 11 text

kubesprayͷલఏ • kubespray࣮ߦϚγϯʹPythonΛΠϯετʔϧࡁͰ͋Δ͜ͱ • ansible-coreͷόʔδϣϯʹ߹ΘͤͯɺPython 3.8Ҏ্Λਪ঑ • K8s Node͸LinuxͰ͋Δ͜ͱ • Debian, Ubuntu, RHEL/Fedora, Oracle Linux౳ • Windows Node޲͚ͷPlaybook͸͋Δ͕ެࣜʹαϙʔτ͞Ε͍ͯͳ͍ 11

Slide 12

Slide 12 text

Step1: kubesprayͷηοτΞοϓ (JUϦϙδτϦ͸λά໊ ͰΫϩʔϯΛਪ঑ 12

Slide 13

Slide 13 text

Step2: ΠϯϕϯτϦͱઃఆϑΝΠϧΛੜ੒ "OTJCMFΛ஌Βͳ͘ ͯ΋ΠϯϕϯτϦͱઃఆ :".-Λੜ੒Մೳ 13

Slide 14

Slide 14 text

Step3: ઃఆϑΝΠϧΛฤू Inventory/mycluster/group_vars/ k8s_cluster/k8s-cluster.yml Inventory/mycluster/group_vars/ k8s_cluster/addons.yml HSPVQ@WBSTҎԼͷ ඞཁͳύϥϝʔλ͚ͩฤू ͢Ε͹0, 14

Slide 15

Slide 15 text

Step4a: kubesprayͰΫϥελΛཱͯΔ • ࣄલఆٛ͞ΕͨPlaybook “cluster.yml” Ͱk8sΫϥελΛཱͯΔ NBTUFS XPSLFS Ͱd෼ 15

Slide 16

Slide 16 text

Step4b: ඞཁͳ࣌ʹ͙͢յͤΔ • ࣄલఆٛ͞ΕͨPlaybook “reset.yml” ͰΧδϡΞϧʹյͤΔ 16

Slide 17

Slide 17 text

kubesprayͰخ͍͠ϙΠϯτ 👍 • K8sΫϥελͷίϯϙʔωϯτબఆɾઃఆ஋͸PlaybookΛݟΕ͹શͯΘ͔Δ • Git؅ཧ͢Ε͹ɺͳͥͦͷઃఆʹ͔ͨ͠ (=Why) ஌ݟ͕ίϛοτϩάʹ࢒Δ • Կճ࣮ߦͯ͠΋݁Ռ͕ಉ͡ʹͳΔ = “ႈ౳” • ҆৺ͯ͠k8sΫϥελΛ࡞Γ௚͠Մೳ (※ͨͩ͠VMΑΓ্ͷϨΠϠʔʹݶΔ) • PlaybookͷҰ෦͚ͩྲྀ͢͜ͱ΋Մೳ • طଘͷPlaybook͔ΒKubesprayͷPlaybookΛݺͼग़͢͜ͱ΋ՄೳͰ͢ 17

Slide 18

Slide 18 text

ͦͷKubernetesΫϥελɺ ʮࠓʯ΋͏Ұ౓࡞Γ௚ͤ·͔͢ʁ → kubesprayͰ࡞ͬͯյͦ͏ʂ 18

Slide 19

Slide 19 text

Happy k8s@home!😉 19

Slide 20

Slide 20 text

(ࢀߟ) kubesprayͷAddons • Load Balancer … MetalLB • Ingress … NGINX Ingress Controller • Storage … CephFS, RBD, Rancher Local Path Provisioner • Observability … Metrics Server • GitOps … ArgoCD • Security … Cert Manager 20 ※ AddonsͷҰཡ͸v2.20.0࣌఺ LTΫϥελͱಉ͡ϥ ΠϑαΠΫϧͰಋೖ͢Δ 1BB4ίϯϙʔωϯτ