こちらの記事は弊社技術ブログに掲載していた内容となります。一部を除き、投稿当時の情報となりますので、紹介内容の最新情報については別途公式情報等をご参照下さい。 目次 Toggle 感想失敗しないアプリケーションモダナイゼーションの考え方モダンなアプリケーションに必要だと考えられているものDevOpsAnthos + GCPがKubernetesをProduction ReadyへAnthos OverviewAnthos Deep DiveユーザからみたAnthos GKE on Premの利用について こんにちは。クラウドエース編集部です。 9月3日(火)に行われたGoogle Kubernetes Dayに参加したので、なんとなくメモしたものを公開しておきます。 感想 予想通り、Kubernetes DayというよりはAnthos Dayと呼ぶべき内容でしたが、それは望んでいたものなので良かったです。 僕自身はオンプレミスという環境に触れたことがなく、F5やvSphereと言われてもなんのことはわからないのですが、そういうエンジニアにとってAnthosやGKE on Premを使いこなすのはなかなか難しいと思いました。 これらの言葉に馴染みがあっても、全体像を理解するためにはKubernetesへの理解に加えてIstioも絡んでくるため、全体的な学習コストの高さや導入検討期間が長そうな印象を受けました。 特にNTT 国際通信株式会社様の導入事例は先進的すぎて若干引きましたが、Anthosを使いまくれる環境がちょっと羨ましかった。 失敗しないアプリケーションモダナイゼーションの考え方 モダンなアプリケーションに必要だと考えられているもの 100人いれば100通りの答えがあるという前提で… Twelve-Factor App マイクロサービス HTTP gRPC クラウドネイティブ スケーラブル イミュータブルインフラストラクチャ 自動化 宣言型API クラウドの利用 リホスト(コスト削減) リプラットフォーム(コスト削減, スケーラビリティ) リファクタリング DevOps SREという言葉を使わずにSREの考え方を伝えていた DevOpsの重要性 1.53倍の生産性 事業目標/非事業目標の達成 Kubernetes登場によるDevOpsの変化 Serviceディスカバリを用いたトラフィックルーティングが可能になり、システムを構成するコンポネントを分割し、Kubernetesの世界だけで実現できるようになった DevOpsを実践する際の問題 開発 と 運用のインセンティブが一致しない 開発はサービスのアジリティを重要視する一方で、運用はサービスの安定性を重視する 解決策: 合理的でない安定性の定義を辞める ダウンタイムなし 99.999999999%のSLA SLAの定義 運用が求めるSLAとユーザが求めるSLAは乖離しがち courseraにSLA定義のコースがあるので受けてみるといいかも SLAの計測 Availability = good time / total time これを計測し、SLAを下回らなければデプロイに踏み切る判断 (SRE本に書いてあったやつだ) Anthos + GCPがKubernetesをProduction Readyへ ハイブリッド + マルチクラウド マネージドKubernetes(GKE) マネージドの管理機能で複数環境の一元管理 GCPのマネージド・サービスによる監視 Anthos Overview Anthos コントロールプレーンの中にあるもの クラスタ管理 GKE, GKE on Prem ポリシー管理 Anthos Config Management サービス管理 Google Cloud Service Mesh Anthos Deep Dive GKE on Prem VMWare上で稼働するKubernetes Googleによって検証された最新のKubernetesへの容易なアップグレード GCPのコンテナエコシステムとの連携 Admin ClusterとUser Clusterの2種類のクラスタが存在し、Admin KubernetesがUser Kubernetesを管理している。 Admin Clusterに対して50個までUser Clusterを構築可能。 kectl コマンドをAdmin Clusterに対して実行してUser Clusterを作成する感じらしい(?) F5のロードバランサが必要(F5 is 何) Cloud Consoleからクラスタを一元管理できる。 Q. オンプレのクラスタをどう管理するのか A. GKE Connect Agentというものを使ってオンプレとGCPをセキュアに接続する GKE on PremにIstioがあるぞ… ロードバランサはL4LBが必須なんだけど、L7レイヤーのトラフィックを実現するためにEnvoy proxyでL7レイヤー化して無理やり処理してる。 Anthos Config Management 設定をオンプレとクラウドのクラスタ間で同期 RBACとか Google Cloud Service Mesh 今はAnthosの中に入っている 平たくいうとマネージドIstio コントロールプレーンがGoogle管理, Stackdriver とのネイティブな連携 可観測性, トラフィックコントロール, セキュリティ(相互TLS) サービス毎のSLOの設定が可能!!! 画面がとてもかっこよい。Kialiの超かっこいい版みたいなイメージ ユーザからみたAnthos GKE on Premの利用について GKE と GKE on Prem アップデート情報にアンテナを貼る 組織的に学習する環境を整備する リーダーの理解を得るために説明責任を果たす Managed Kubernetesに求めるもの Kubernetesのアップデートをサポートしているか 周辺ツールのサポート/統合のCapability ネットワーク/ストレージとの結合 環境構築 vSphere 既存環境との統合は慎重になる ネットワークの構成を考える 結局Anthosとは Kubernetes managed by Googleがどこでも作成/運用できるという理解をしている