Google Cloud Next '19 in Tokyo 2019/08/01 12:00〜

12:00~ ハイブリッド マルチクラウド環境下における Kubernetes デザインの勘所 - データ管理の視点から

お弁当

Google玉子焼き

f:id:txdrum_reflect:20190804211610j:plain
Google 玉子焼き

メモ

  • ハイブリッドマルチクラウド環境でのk8sクラスタのデータ管理について
  • 環境差異をなくす
  • 破棄、移行可能にする

  • 必要性、目指すべき姿

    • 統合されたオペレーション、アクセス方法を提供する
    • 破棄、移行可能な状態へ
  • ユースケース

    • デプロイする環境
    • グローバル展開→リージョンにサービスがない場合
    • デプロイ先を検討する前に作っておいて後で変えられるようにする
    • DR(Disaster Recovery)先
  • 複数環境を検討すると挙がる課題

    • オペレーションの違い
    • ネットワーク/クラスタ間接続→前日にセッションがあった
    • ストレージ
  • 統一的なインターフェース

    • システム特有のAPIやインターフェースを定義し、データアクセスを抽象化
    • 管理レイヤーを置く
  • ワークロード

    • ステートフル
    • ステートレス

    • データが溜まっていくとクラスタを簡単に破棄できない

      • managedデータサービス
      • ユーザー管理データサービス
      • ブロックファイルストレージ
      • クラスタ依存だと破棄できない
  • コンテナにおけるステート

    • アプリから生成されるデータ
    • コンテナ自体の状態
  • k8sにおけるステート

    • ステートフル
      • PVC/PV
      • Podのライフサイクルと異なるデータ
      • マネージドサービス
    • マニフェスト化できないもの
      • secretなど
    • ステートレス

    • ステートの管理

      • マネージドサービス
        • RDBMS
        • NoSQL
        • ストレージ
          • ベンダーによって違う
      • ユーザー管理

        • 別環境
      • 抽象レイヤーを配置し、入れ替え可能にする。

  • ストレージ

  • CSI(Container Storage Interface)

    • コンテナストレージの共通仕様
    • ポータビリティの低下を防ぐ
    • APIが共通化されているとバックエンドの切り替えが可能
    • CSI対応でも実装状況は異なる
  • ステートはどこで発生する?

    • etcd
      • クラスタのステート
        • マネージド
          • 3rd partyツールでバックアップ
            • Heptio Velero
        • 非マネージド
          • etcdのバックアップ
          • volumeスナップショット
        • リストア手順を確立しないといけない
      • クラスタのコンフィグレーション
        • GitOps
        • secretの管理はVaultを使うと良い?
        • sealed secret
  • k8sクラスタ管理レイヤー

    • NetApp k8s service
  • データ、ストレージの抽象化レイヤー
    • TRIDENT