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

KubernetesとDeclarative Configuration

KubernetesとDeclarative Configuration

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

Tomoya Tabuchi

March 09, 2019
Tweet

More Decks by Tomoya Tabuchi

Other Decks in Programming

Transcript

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

    View Slide

  2. 本日のお話
    • Kubernetes とは?
    • Declarative Configuration
    • Reconciliation Loop
    • 具体例 (デモ)
    2 / 10

    View Slide

  3. Kubernetes1とは?
    • コンテナを中心としたプラットフォーム?
    • 計算・ネットワーク・ストレージの管理?
    • 分散コンピューティング?
    今日は Declarative Configuration の観点から紹介
    1https://kubernetes.io/
    3 / 10

    View Slide

  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

    View Slide

  5. Reconciliation Loop
    • 観測・差分計算・操作のループ
    • リソースごとに別コンポーネント
    がループを実行
    5 / 10

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  9. まとめ
    • Kubernetes: Declarative Configuration によるインフラの自動化ができる
    • 独自のリソースを定義する →自動化するプラットフォーム
    • 分散させるような大規模環境でなくても便利そう
    9 / 10

    View Slide

  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

    View Slide