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

一起玩 Helm 3

Johnlin
November 30, 2020

一起玩 Helm 3

Johnlin

November 30, 2020
Tweet

More Decks by Johnlin

Other Decks in Programming

Transcript

  1. ᮫ԙզ • John Lin • Twitter: @johnlinvc • Senior Solution

    Architect, DevOps
 @ West Pharmaceutical
  2. ࣾ܈׆ಈ • iplayground.io 2020 Keynote ߨऀ • Coscup, RubyConf TW,

    RubyKaigi, PyCon TW ߨऀ • ओ㭎 Swift Taipei Meetup
  3. ॄኄੋ Helm ? • > Helm is the best way

    to find, share, and use software built for Kubernetes. • > Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
  4. Chart • Helm త౟݅ᄸҐ • 㚎ؚ k8s resource template, default

    values • ՄҎ༗ dependency • ૾ੋ rpm, deb తײ᧷
  5. ࢖༻ Helmɼ Ҏ Prometheus ҝྫ • Prometheus ੋҰ౟؂߇ܥ౷ɻk8s ཫେྔ࢖༻ɻ •

    https://github.com/prometheus-community/helm-charts/tree/main/charts/ prometheus •
  6. Ճೖ Repo • ೺ repo Ճೖ local helm ɻṜᒬ࠽ೳፙ౸ chartɻ

    • helm repo add prometheus-community https://prometheus- community.github.io/helm-charts • helm repo add stable https://charts.helm.sh/stable
  7. ҆᧋ Chart • ༻ prometheus chart ҆᧋Ұݸ release ໊ҝ demo-promɻ

    • helm install demo-prom prometheus-community/prometheus
  8. NOTES.txt • 䋯׬ install/upgrade ޙ။ग़ݱత㘸໌ɻ • ҰᒬՄҎ༻ templateɻॴҎ௨ৗՄҎ௚઀ෳ੡ష্ɻཫ໘త namespace ྨ

    తҰൠိ㘸౎။ੋሣతɻ • export POD_NAME=$(kubectl get pods --namespace default -l "app=prometheus,component=server" -o jsonpath="{.items[0].metadata.name}") • kubectl --namespace default port-forward $POD_NAME 9090
  9. Side Topic:HSTS • HTTP Strict Transport Security • Ұୠ༻ https

    ࿈աత໢Ҭɼब࠶໵ෆೳ༻ http ྃ... • localhost ༗࣌ީҰෆখ৺बෆೳ༻ http ྃ • ՄҎ༻ *.vcap.me ႔ཧɻ *.vcap.me Ӭԕ౎။ࢦ޲ 127.0.0.1
  10. Helm 2 vs Helm 3 • ᔒ༗ Tiller ɼෆधཁࡏ K8S

    Cluster ཫ᧋౦੢ྃɻ • औফ౷Ұ Repoɼվҝ෼ࢄࣜɻՄҎ༻ https://artifacthub.io ፙ Chartɻ • ࢦྩ໊᜝᜗ඍվᏓɻ fetch -> pullɻ౳౳ɻ • ࢧԉ࢖༻ OCI registry ိଘ์ Chart
  11. Helm 2 end of support • Tiller image Մೳᬋ࣌။׵஍ํଘ์ɻ •

    Helm 2 client Մೳ໵။׵஍ํɼෆա get.helm.sh ။ಈɻ • Stable chart repo https://github.com/helm/charts 
 ࡏ Nov 13, 2020 ਖ਼ࣜऴࢭࢧԉྃɻ
  12. Helm vs Kustomize • Template vs Overlay(Patching) • Rollback •

    Helm ՄҎࡏ post rendering hook ཫ໘ݺڣ Kustomize • https://github.com/thomastaylor312/advanced-helm-demos/tree/master/ post-render
  13. Helm vs Operator • Day 1 (Helm) vs Day 2(Operator)

    • ޓิɼhelm ෛ੹҆᧋ ɼ Operator ෛ੹ӡ࡞ɻ • ՄҎ༻ helm chart ိ෦ॺ Operator • https://sdk.operatorframework.io/docs/building-operators/helm/ quickstart/
  14. መ຿ • ෆཁ௚઀༻ chart ɼఆٛࣗݾత chart ɼ࠶೺֎෦త chart ఆٛҝ dependencyɻᙛ࢖༻

    configmap/secret ိ၏ઃఆ࣌࠽ํศɻ • ࢖༻ helmfile + helm secrets plugin ိ၏ GitOpsɼ೺Ұ੾౎ଘ์ࡏ Git ཫɻ • ળ༻ helm త plugin ܥ౷ɼՄҎఏڙڐଟֹ֎తޭೳɻ
  15. Q&A • Twitter: @johnlinvc • ౤Өยࡏ 
 https://bit.ly/39pcPiM • We're

    hiring DevOps @ West Pharma, 
 Deploying to hybrid cloud with K8Sɻ