KubernetesとDeclarative Configuration

KubernetesとDeclarative Configuration

CAMPHOR- Day 2019 (https://camphor.connpass.com/event/119434/) での発表資料.

429b06f96d8c3db704d9fe6a69cfb677?s=128

Tomoya Tabuchi

March 09, 2019
Tweet

Transcript

  1. Kubernetes とDeclarative Configuration 2019-03-09 Tomoya Tabuchi (@tomoyat1) 1 / 10

  2. 本日のお話 • Kubernetes とは? • Declarative Configuration • Reconciliation Loop

    • 具体例 (デモ) 2 / 10
  3. Kubernetes1とは? • コンテナを中心としたプラットフォーム? • 計算・ネットワーク・ストレージの管理? • 分散コンピューティング? 今日は Declarative Configuration

    の観点から紹介 1https://kubernetes.io/ 3 / 10
  4. Declarative Configuration どのリソースがどれだけあるかを宣言することで構成を定義する # hello-kube のコンテナを 1 つ動かしたい! # (今日は

    YAML の仕様を理解しなくてよいです) kind: Deployment spec: replicas: 1 # 動かす個数 template: spec: containers: # コンテナの仕様 - image: gcr.io/tomoyat1-artifacts/hello-kube:v0.0.1 name: hello-kube 宣言するだけで構成が勝手にそれに近づく! →どうやって? 4 / 10
  5. Reconciliation Loop • 観測・差分計算・操作のループ • リソースごとに別コンポーネント がループを実行 5 / 10

  6. コンテナ (Pod) 数の維持 – 具体例 6 / 10

  7. イメージの変更 – 具体例 7 / 10

  8. external-dns, cert-manager – 具体例 • external-dns2: DNS レコードの管理を行う Add-on •

    cert-manager3: Let’s Encrypt の証明書を自動で作成する Add-on • 時間がかかるので発表前に仕込んでおきました (終わっていてくれ :pray:) 2https://github.com/kubernetes-incubator/external-dns 3https://github.com/jetstack/cert-manager 8 / 10
  9. まとめ • Kubernetes: Declarative Configuration によるインフラの自動化ができる • 独自のリソースを定義する →自動化するプラットフォーム •

    分散させるような大規模環境でなくても便利そう 9 / 10
  10. ご清聴ありがとうございました Further Reading • 公式 • https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ • https://kubernetes.io/docs/concepts/overview/object-management- kubectl/declarative-config/

    • https://deeeet.com/writing/2018/12/13/how-kubernetes-change-our-way-of- automation/ • https://www.slideshare.net/ToruMakabe/kubernetes-120907020 10 / 10