Upgrade to Pro — share decks privately, control downloads, hide ads and more …

軽量Kubernetesディストリビューションである"K3s"を支える拡張機能

cheng
September 02, 2020

 軽量Kubernetesディストリビューションである"K3s"を支える拡張機能

Helm CLIのインストールが不要で、Helm CRDのみでアプリのライフサイクルを管理する「Helm Controller」を中心に紹介します。

cheng

September 02, 2020
Tweet

More Decks by cheng

Other Decks in Technology

Transcript

  1. © Copyright 2020 Rancher Labs. All Rights Reserved. 1
    © Copyright 2020 Rancher Labs. All Rights Reserved. 1
    ܰྔK8sσΟετϦϏϡʔγϣϯͰ͋Δ
    "K3s"Λࢧ͑Δ֦ுػೳ
    2020/09/02
    Cheng

    View full-size slide

  2. About me
    Jianqiang Cheng(νΣϯ)
    Field Engineer at Rancher Labs.
    [email protected]
    [email protected]
    ■Favorite technologies:
    Rancher, Kubernetes, AWS, Jenkins.
    ■Certifications:

    View full-size slide

  3. © Copyright 2020 Rancher Labs. All Rights Reserved. 3
    K3sͱ͸?

    View full-size slide

  4. © Copyright 2020 Rancher Labs. All Rights Reserved. 4
    ΞʔΩςΫνϟ

    View full-size slide

  5. © Copyright 2020 Rancher Labs. All Rights Reserved. 5
    Helm Controller
    Helm CLIͷΠϯετʔϧ͕ෆཁͰɺ
    Helm CRDͷΈͰΞϓϦͷϥΠϑα
    ΠΫϧΛ؅ཧ
    Service LB
    ΤοδଆͳͲɺCloud Provider͕ͳ
    ͍؀ڥͰ΋ɺLBλΠϓͷserviceΛ࡞
    ੒Ͱ͖Δػೳ
    Traefik LB
    ܰྔͳIngress ControllerΛఏڙ
    local path
    provisioner
    ϩΧʔϧ؀ڥͰstorageClassͷ
    provisionerΛఏڙ
    K3sͷ֦ுػೳͷ֓ཁ

    View full-size slide

  6. © Copyright 2020 Rancher Labs. All Rights Reserved. 6
    Helm Controller
    • Helm͸K8sͷύοέʔδϚωʔδϟʔ
    • k3s Helm Controller͸ɺHelmͷv2ͱv3ͷ྆ํΛαϙʔτ
    • v1.17.0+k3s1Ҏ্ͷόʔδϣϯ͸ɺv3Λαϙʔτ։࢝
    • Helm Controllerͷಛ௃
    • ϢʔβʔମݧΛ޲্
    • K3sͷػೳ֦ு͕؆୯ʹ
    https://helm.sh/docs/faq/#changes-since-helm-2

    View full-size slide

  7. © Copyright 2020 Rancher Labs. All Rights Reserved. 7
    Helm Controller࢓૊Έ
    Library:
    https://github.com/rancher/helm-controller
    https://github.com/rancher/klipper-helm
    1. Helm-controller͸master nodeʹ࣮ߦ͞Ε、HelmChart CRDΛlist/watch
    2. CRD͕onChange࣌ʹɺΞϓϦߋ৽༻ͷJobΛ࣮ߦ
    3. Jobʹ͸ɺrancher/kilipper-helmΛίϯςφͰ࣮ߦ
    4. Killper-helm͸ɺ಺ଂͷhelm cliͰChatΛΠϯετʔϧΞοϓσʔτ

    View full-size slide

  8. © Copyright 2020 Rancher Labs. All Rights Reserved. 8
    HelmChart CRDͷσϓϩΠํࣜ
    • 「/var/lib/rancher/k3s/server/manifestsʯʹೖ͍ͬͯΔ
    HelmChart͕ࣗಈʹσϓϩΠ͞ΕΔ
    • Kubectl applyʹΑΔHelmChart CRDͷΠϯετʔϧ
    • CRDܦ༝ͰσϓϩΠͨ͠ΞϓϦ͸ɺhelm CLI͔Β΋ૢ
    ࡞Ͱ͖Δ

    View full-size slide

  9. © Copyright 2020 Rancher Labs. All Rights Reserved. 9
    Demo
    • ,T্ʹɺHelmChart CRDͰఆٛͨ͠ΞϓϦͷσϓϩΠ
    • ্هͰσϓϩΠͨ͠ΞϓϦΛɺhelm cliͰ؅ཧ

    View full-size slide

  10. © Copyright 2020 Rancher Labs. All Rights Reserved. 10
    Helm Controller ·ͱΊ
    • Ϣʔβʔମݧͷ޲্
    • HelmChart CRDにより、機能拡張が簡単になる
    CI/CD integration, etc
    • Helm CLIと互換性がある
    • 利用しているOSSは下記である
    • rancher/helm-controller
    • rancher/kilipper-helm

    View full-size slide

  11. © Copyright 2020 Rancher Labs. All Rights Reserved. 11

    View full-size slide

  12. © Copyright 2020 Rancher Labs. All Rights Reserved. 12 12
    ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View full-size slide