Oracle Cloud Hangout Cafe - Kubernetesクラスタの管理術

Oracle Cloud Hangout Cafe - Kubernetesクラスタの管理術

Oracle Cloud Hangout Cafe(おちゃかふぇ)のセッションスライドです。

(セッションの録画)
http://bit.ly/OCHa3-Video

(イベントページ)
https://ochacafe.connpass.com/event/186070/

3115a782126be714b5f94d24073c957d?s=128

oracle4engineer

September 30, 2020
Tweet

Transcript

  1. Kubernetesクラスタの管理術 Oracle Cloud Hangout Cafe 3 #3 Takuya Niita Oracle

    Corporation Japan Sep 30th, 2020 Rancher/VerrazzanoによるKubernetesマルチクラスタ管理⼊⾨
  2. 2 Copyright © 2020, Oracle and/or its affiliates. 1. Kubernetesマルチクラスタ管理の必要性と課題

    2. Kubernetesマルチクラスタ管理術その1(Rancher) 3. Kubernetesマルチクラスタ管理術その2(Verrazzano) 4. まとめ アジェンダ
  3. • 仁井⽥ 拓也 • ⽇本オラクル株式会社 テクノロジー・クラウド・エンジニアリング本部 • 前職は某SIer • Oracle歴︓1年半

    • Cloud Native歴︓1年ちょっと • Kubernetesもここ1年で触り始めました • CKA取得 • ジブリ⼤好き 自己紹介 Copyright © 2020, Oracle and/or its affiliates. 3 @takuya_0301
  4. Kubernetesマルチクラスタ管理の必要性と課題 Takuya Niita Oracle Corporation Japan Sep 30th, 2020 Copyright

    © 2020, Oracle and/or its affiliates. 4 Oracle Cloud Hangout Cafe 3 #3 –Kubernetesクラスタの管理術
  5. シングルクラスター運⽤での課題 • 障害が発⽣した場合に影響範囲が⼤きくなってしまう可能性 • セキュリティの境界線が曖昧になってしまう可能性 • ベンダーロックインが発⽣する可能性 マルチクラスタの採⽤によるメリット • クラスタを分離することで、耐障害性の向上やディザスタリカバリへの対応が可能

    • クラスタで隔離することで、セキュリティに関する境界線が明確化 • 複数のKubernetesサービスを利⽤することでベンダーロックインを回避 マルチKubernetesクラスタ運⽤でのメリット Copyright © 2020, Oracle and/or its affiliates. 5
  6. クラスタ運⽤で実施すべきこと – メンテナンス – Copyright © 2020, Oracle and/or its

    affiliates. 6 Kuberentesの定期的なアップグレード • パブリッククラウド環境 • マネージドKubernetesサービス • 各Kubenetesサービスに沿ったアップグレード • ⾃前でコンピュートに構築したKubernetes環境 • ⼿動でのアップグレード • kubeadmなどのツールを利⽤したアップグレード • オンプレミス/プライベートクラウドKubernetes環境 • ⼿動でのアップグレード • kubeadmなどのツールを利⽤したアップグレード A社クラウド O社クラウド オンプレミス
  7. クラスタ運⽤で実施すべきこと – セキュリティ – Copyright © 2020, Oracle and/or its

    affiliates. 7 クラスタ内/クラスタ間アクセス制御でセキュリティ確保 • クラスタレベルでのセキュリティ • API認証 • OpenID ConnectやLDAPなどを利用 • API認可 • RBAC(Role-based Access Control)の利用 • ワークロードに対する制御(リソース使⽤量など) • Namespaceの利⽤ • クラスタを跨いだセキュリティ • クラスタ間を考慮したAPI認証/認可 • クラスタ間でアクセスできるクラスタ/リソースを制限 • 通信の暗号化 • Mutual TLS (mTLS)通信によるセキュアな通信 API認証/認可 ユーザA ユーザB mTLS Namespaceでの リソース制御 mTLS Namespaceでの リソース制御 Namespaceでの リソース制御
  8. クラスタ運⽤で実施すべきこと – オペレーション – Copyright © 2020, Oracle and/or its

    affiliates. 8 クラスタのネットワーク制御と監視 • クラスタ内/クラスタ間のネットワーク制御 • NetworkPolicyによるネットワーク・トポロジーの 構築 • NetworkPolicyをサポートするプラグインを利⽤ • クラスタの監視 • メトリクス監視 • Master Node/Worker Nodeのヘルスチェック • メモリ/CPU/ディスクなどのバイタル監視 • アラーム通知の仕組み構築 • 異常が検知された場合のアラーム発⽕ Network Policy メトリクス アラーム メトリクス アラーム Network Policy Network Policy
  9. 参考︓コンテナアプリケーション運⽤で実施すべきこと – Observabilityとは – Copyright © 2020, Oracle and/or its

    affiliates. 9 Observability(可観測性) • システムが運⽤する上で必要な内部状態の情報を取 得できる状態、もしくはその仕組み。 • メトリクス • 定量的な数値から構成される指標 • リソース使⽤状況データなどによる状態監視 • Prometheus/Grafanaなどを利⽤ • ロギング • 主にアプリケーションが出⼒するメッセージ • アプリケーションログによる状態監視や障害特定 • Elasticsearch/Kibanaなどを利⽤ • トレーシング • アプリケーションの⼀連の処理を追跡(トレース) • ⼀連のリクエスト毎にユニークなIDを割り当てることでアプリ ケーション処理フローの可視性向上 • JaegerやOpenTracingなどを利⽤ Metrics Logging Tracing
  10. 参考︓コンテナアプリケーション運⽤で実施すべきこと – サービスメッシュとは – Copyright © 2020, Oracle and/or its

    affiliates. 10 サービスメッシュ • 各アプリケーションごとにプロキシを配置し、プロキシを 利⽤して他のアプリケーションと通信させる仕組み • きめ細かいルーティングや障害連鎖の防⽌ • 最も有名なプロダクト︓ • データプレーン • サービス間通信をプロキシが担うことで通信を制御 • Kubernetes的にはサイドカーとしてPodごとに配置 • IstioではEnvoyをプロキシとして利⽤ • コントロールプレーン • プロキシのポリシーを⼀元管理 • Istioではistiodというデーモンに統合 参考:https://istio.io/latest/docs/ops/deployment/architecture/
  11. アプリケーションへのObservabilityスタック適⽤ • 適切なスタックの適⽤ • それぞれのアプリケーションに対して適材適所にてスタックを適⽤ • Observabilityスタックから取得した情報の確認 コンテナアプリケーション運⽤で実施すべきこと – Observability

    – Copyright © 2020, Oracle and/or its affiliates. 11 開発者 適用するスタック を設定 監視 監視
  12. アプリケーションへのサービスメッシュ適⽤ • クラスタ内/クラスタ間のアプリケーション間の通信制御 • mTLS通信を利⽤したセキュアな通信の構築 • サービスメッシュを利⽤したネットワークトラッフィックの監視 • Prometheus/Grafana/Jaegerを利⽤ コンテナアプリケーション運⽤で実施すべきこと

    – サービスメッシュ – Copyright © 2020, Oracle and/or its affiliates. 12 mTLS 2 On-premises 2 Public Cloud
  13. コンテナアプリケーション運⽤で実施すべきこと – セキュリティ – Copyright © 2020, Oracle and/or its

    affiliates. 13 PodSecurityPolicyによるコンテナの権限制御 • 全てのコンテナに共通するPolicyの適⽤ • 特権モードの利⽤可否 • Privileged:true/false • ホストネットワーク/ポートの利⽤可否 • hostNetwork:true/false • ホストボリュームの利⽤可否 • allowedHostPaths:true/false • 実⾏ユーザ/グループの定義 • seLinuxの設定 • fsGroupの設定 PodSecurityPolicyの設定例
  14. コンテナアプリケーション運⽤で実施すべきこと – オペレーション – Copyright © 2020, Oracle and/or its

    affiliates. 14 デプロイ先の制御とCI/CDパイプライン • どのクラスタにどのアプリケーションをデプロイすべきかの 制御 • 複数のKubernetesクラスタとそのアプリケーション のトポロジーを適切に管理 • どのクラスタにどのアプリケーションがデプロイされてい るかを把握 • 各クラスタごとのCI/CDパイプラインの構築/運⽤ • デプロイ対象のアプリケーションによって異なるパイ プライン構築 • 効率的なパイプラインの構築/運⽤ レポジトリ On-premises Public Cloud パ イ プ ラ イ ン パ イ プ ラ イ ン
  15. マルチKubernetesクラスタにおける課題 Copyright © 2020, Oracle and/or its affiliates. 15 クラスタ管理の側⾯から

    • メンテナンス • 定期的なアップグレードをそれぞれのプラットフォー ムに応じた個別操作で実施 • セキュリティ • クラスタ内/クラスタ間のアクセス制御の設定におい て設定ミスが発⽣するリスク • オペレーション • クラスタ内/クラスタ間のネットワーク制御やモニタリ ング、アラーム通知の仕組みを個別に構築するこ とが必要 コンテナアプリケーション管理の側⾯から • Observability/サービスメッシュ • 数あるOSSプロダクトの中からスタックを選定し、コ ンテナ毎に設定しておくことが必要 • セキュリティ • ポリシーの設定が各コンテナごとに必要 • オペレーション • コンテナアプリケーションに関するトポロジーの設計 や把握とCI/CDパイプラインの構築が必要
  16. クラスタ管理の側⾯から • 全てのクラウド/オンプレミス環境上のKubernetesク ラスタを管理するための統⼀されたプラットフォーム • マルチクラスターに対して認証、RBACでのアクセス制 御を⼀元的に管理 • 複雑なクラスタ内/外のネットワーク制御の管理 •

    統合された監視プラットフォームによる運⽤ コンテナアプリケーション管理の側⾯から • サービスメッシュ、Observabilityで共通したスタックを ⼀元的にカスタマイズ可能な形で適⽤ • 複雑なマイクロサービスアプリケーション間の連携 • コンテナに対する⼀元的なセキュリティポリシーの適⽤ • コンテナアプリケーションのトポロジーの把握と効率的な CI/CDパイプラインの構築 複数のKubernetesクラスタを管理していくために Copyright © 2020, Oracle and/or its affiliates. 16 マルチクラスタ管理とコンテナアプリケーションライフサイクル の両方が実現可能なプラットフォームが必要
  17. Kubernetesクラスタ管理術その1 – Rancher – Takuya Niita Oracle Corporation Japan Sep

    30th, 2020 Copyright © 2020, Oracle and/or its affiliates. 17 Oracle Cloud Hangout Cafe 3 #3 –Kubernetesクラスタの管理術
  18. Rancher • https://rancher.com/ • Rancher Labs社が開発 • SUSEが買収(2020/10末までに完了予定) • マルチKubernetes管理ツールの⼀つ

    • “Run Kubernetes Everywhere” • パブリッククラウド、オンプレミス、エッジなど幅広い Kubernetes環境をカバー • 最新v2.4.8(2020/9時点) • オープンソースでGitHubに公開 • https://github.com/rancher/rancher • オフィシャルサポートを受けられるエンタープライズ 向けの利⽤形態もあり マルチクラスタ管理ツール – Rancher – Copyright © 2020, Oracle and/or its affiliates. 18 Rancherとは「牧場主」の意味 アプリケーション基盤のコンテナ化により、ペットのように⼤ 事に扱う時代から、家畜のように⼤勢を効率的に扱って いくというコンセプト(諸説あり)
  19. • 各種パブリックドクラウドからオンプレミス、エッジに⾄るまで幅広いKubernetes環境をカバー • シンプルなダッシュボードから⼀括で各種Kubernetesサービスを運⽤可能 • 現在対応しているKubernetesサービス(2020年9⽉時点) • GKE/AKS/EKS/RKE(Rancher提供のKubernetes構築ツール)/k3s(Rancher提供のedge向けプラットフォーム)など • 各種KubernetesサービスはDriverと呼ばれるプラグインで管理可能

    • Rancherダッシュボードからクラスタ作成や操作が可能 • 同じく、既存クラスタのインポートも可能 • Observabilityやサービスメッシュなどのツールも管理可能 • Prometheus/Grafana、Istioなど • 各クラスタへのアクセス制御が可能 • RBAC⽅式でのクラスタに対するユーザ認証を実施 Rancher概要 Copyright © 2020, Oracle and/or its affiliates. 19
  20. High-Availability • Helmを利⽤して専⽤の Kubernetesクラスタ上の複数ノー ドにRancherをインストール • 本番環境で奨励される⽅式 Single-node • Helmを利⽤して専⽤の

    Kubernetesクラスタ上の単⼀ノード にのみRancherをインストール • High-Availability構成への移⾏を 将来的に想定し、短期的にリソー スを節約して利⽤する⽬的での⽅ 式 Docker • Dockerコンテナとしてインストール • テストやデモンストレーション⽬的 での⽅式 Rancherの構築⽅式 Copyright © 2020, Oracle and/or its affiliates. 20
  21. Rancher Server • Rancherのコアとなる部分 • Authentication Proxy/Cluster Controller • Rancher

    API/GUIの構築 • Kubernetesの構築/管理 • 認証機能、アクセスプロキシの提供 Cluster Agent • クラスタの状態を管理するためにRancher Serverがクラ スタに1つデプロイ • クラスタ情報をRancher Serverへ登録 Node Agent • DaemonSetで全ノードに対してデプロイ • Rancher ServerへNode情報の登録 • 配置すべきコンテナの管理 Rancherのアーキテクチャ Copyright © 2020, Oracle and/or its affiliates. 21 Authentication Proxy Cluster Controller1 Cluster Controller3 Cluster Controller2 Cluster Agent1 API Server kubelet Node Agent kubelet Node Agent Rancher Server User Cluster Operatorパターン で動作 kubelet Node Agent
  22. Node • アプリケーションが動作する場所 • Worker Nodeと同義 Namespace • Workload(Pod/Deployment)のリソース分離を実現す る仕組み

    • KubernetesにおけるNamespace NodePool(RKE環境) • 複数Nodeをグルーピングした単位 • NodePoolで定義した数とNode数が異なる場合は Nodeの作成/削除を実施 Project • ユーザが所属する単位 • 複数のNamespaceを含有可能 Rancherにおけるリソースの概念 Copyright © 2020, Oracle and/or its affiliates. 22 Node Node Node Node Node Node Node Pool Node Pool Project Project Namespace Namespace Namespace NodePoolとProjectを取り入れることにより クラスタ管理をより柔軟に実現可能
  23. RancherのRole権限 Copyright © 2020, Oracle and/or its affiliates. 23 Global

    Role • 特定のクラスタに依存しない権限 • アカウント管理など • Administrator/Standard User/User-Base Cluster Role • Kubernetesクラスタ別の権限 • ノード/ストレージ/プロジェクトの管理など • Owner/Member/Custom Project Role • プロジェクト別の権限 • Namespaceの管理やSecretリソースの管理など • Owner/Member/Read Only/Custom BUILT-IN PROJECT ROLE OWNER MEMBER READ ONLY Manage Project Members Create Namespaces Manage Config Maps View Config Maps 参考:https://rancher.com/docs/rancher/v2.x/en/admin- settings/rbac/cluster-project-roles/#project-role-reference
  24. Rancherのその他機能 Copyright © 2020, Oracle and/or its affiliates. 24 カタログ機能

    • Helmを利⽤することで視覚的なアプリケーションデプロ イを実現 • ドロップダウンリストやラジオボタンなどの視覚的な UIを利⽤してアプリケーションを管理対象の Kubernetes環境にデプロイ Observability/サービスメッシュなどのツールとの統合 • Prometheus/Grafana/Elasticsearch/Kibana などをRancherダッシュボート上で管理 CI/CD機能 • シンプルなCI/CDエクスペリエンスを提供し、Dockerレジ ストリやJenkins/GitLabなどと連携したパイプラインの効 率的な作成
  25. • シナリオ1 • RancherのCI/CDパイプラインを使ってみよう • Rancher Pipelineを利用して、サンプルアプリケーションをデプロイしてみる • シナリオ2 •

    Rancherでサービスメッシュを始めてみよう • RancherからIstio環境を構築して、サンプルアプリ上にサービスメッシュを構築してみる ※各シナリオの待ち時間にRancherの各種機能を簡単に紹介します Rancherデモ Copyright © 2020, Oracle and/or its affiliates. 25
  26. Rancherデモ環境 概要図 Copyright © 2020, Oracle and/or its affiliates. 26

    Oracle Container Engine for Kubernetes Oracle Container Engine for Kubernetes Oracle Container Engine for Kubernetes Rancher Pipeline シナリオ1 シナリオ2 デプロイ サンプルアプリ サンプルアプリ
  27. Rancherデモ シナリオ2 サンプルアプリ概要図 Copyright © 2020, Oracle and/or its affiliates.

    27 Ingress Gateway Product Page Review-v1 Ratings Review-v2 Review-v3 Details Request
  28. Rancherを利用することで柔軟なマルチクラスタ管理は可能 しかし・・・ 冒頭で述べたコンテナアプリケーションのライフサイクル管理が必要 コンテナアプリケーション管理の側⾯から • サービスメッシュ、Observabilityで共通したスタックを⼀元的にカスタマイズ可能な形で適⽤ • 複雑なマイクロサービスアプリケーション間の連携 • コンテナに対する⼀元的なセキュリティポリシーの適⽤

    • コンテナアプリケーションのトポロジーの把握と効率的なCI/CDパイプラインの構築 そこで、クラスタ管理とコンテナアプリケーションの両方を実現するプラットフォーム クラスタ管理だけでは不⼗分・・・ Copyright © 2020, Oracle and/or its affiliates. 28
  29. Kubernetesクラスタ管理術その2 – Verrazzano – Takuya Niita Oracle Corporation Japan Sep

    30th, 2020 Copyright © 2020, Oracle and/or its affiliates. 29 Oracle Cloud Hangout Cafe 3 #3 –Kubernetesクラスタの管理術
  30. Verrazzano • https://github.com/verrazzano/verrazzano • Oracleがオープンソースで開発を進めているマルチ Kubernetesクラスタ管理ツール • “An open source

    enterprise container platform” • 以下の5つのコンセプトを包含 • Multi Cloud • Application Lifecyle Management • Observability • Strong Securiry • Isolation • WebLogic/Coherence/Helidonとの⾼い親和性があり、 レガシーJavaアプリケーションのコンテナ化を実現可能 マルチクラスタ管理ツール – Verrazzano – Copyright © 2020, Oracle and/or its affiliates. 30 Verrazzanoはニューヨーク市のスタテンアイランドとブルックリ ンを結ぶ吊り橋に由来する アメリカ国内の吊り橋としては最⻑ 各Kubernetes環境の橋渡しの役割を担うというコンセプ ト(諸説あり)
  31. Multi Cloud • マネージド(クラウド)およびセル フマネージド(プライベート/オンプ レミス)のKubernetesクラスタをサ ポート • ベンダーロックインの回避 Application

    Lifecycle Management • ⼤規模アプリケーションを管理可 能 • アプリケーションに対するオペ レーション、デプロイメント戦略、 監視スタックを構成 Verrazzano Container Platformが持つ5つのコンセプト(1) Copyright © 2020, Oracle and/or its affiliates. 31 Public Cloud Private Cloud On-premise オペレー ション Observa bility セキュリ ティ デプロイメ ント戦略 CI/CD Metrics Logging Tracing Observability • Prometheus/Grafana/Elasticsea rch/Kibana/Jaeger/Zipkinなどの 最も広く使⽤されているオープン ソースツールを利⽤した Observabilityの実現 • 各種ダッシュボードを即時に 利⽤可能
  32. Strong Security • CalicoやPod Securityを利⽤したポリシーの適⽤ • サービスメッシュ間の通信暗号化 • アプリケーション認証、シングルサインオンの実現 Isolation

    • 管理者は複数のユーザーグループ間でリソースを安全 に共有可能 • ユーザは必要に応じてプロジェクトに割り当てられ、 ユーザが操作可能なスコープを制限 Verrazzano Container Platformが持つ5つのコンセプト(2) Copyright © 2020, Oracle and/or its affiliates. 32
  33. Verrazzanoを利⽤して全てのKubernetesクラスタ環境への包括的な管理を実現 • 各ベンダーが提供するマネージドKubernetesサービスやオンプレミス環境に展開するKubernetesクラスタもVerrazzano 上で管理可能 • 各Kubernetesクラスタについて同⼀のポリシーを適⽤して構築/運⽤が可能 Verrazzanoで実現する“Multi Cloud” Copyright ©

    2020, Oracle and/or its affiliates. 33 マルチクラスタ管理 Verrazzano インフラ運⽤管理 Rancher/Istio モニタリング・ログ収集 Prometheus Grafana Fluentd EFK Stack Jaeger CI/CDインフラ Gitlab Jenkins SSO/アクセス管理 Keycloak Oracle Cloud Private Cloud 3rd Party Cloud Kubernetes Kubernetes Kubernetes
  34. Service Mesh VerrazzanoModelを利⽤したアプリケーション定義 • モデルを更新することでアプリケーションへのパッチ適⽤ や更新を実施 VerrazzanoBindingでのデプロイ環境との紐付け • Bindingを更新することで各環境のアプリケーション構 成を⾃在に構成

    CI/CDパイプライン構築/運⽤の提供 • GitLabやJenkinsを利⽤したコンテナアプリケーションネ イティブなGitOpsの構築と管理を実現 Observabilityの提供 • 効率的な監視やロギングの実現 Securityの提供 • 強固なセキュリティの実現 Verrazzanoで実現する“Application Lifecycle Management” Copyright © 2020, Oracle and/or its affiliates. 34 Application1 Application2 Placement Cluster-1 Name: app1 Cluster-2 Name: app2 app1 cluster-1 VerrazzanoModel VerrazzanoBinding アプリケーション定義とデプロイ環境のバインドを実施 GitOpsパイプライン app2 cluster-2 mTLS
  35. manifestで複数のアプリケーション定義 • ”VerrazzanoModel”と呼ばれるカスタムリソースを利⽤ • 後述する”VerrazzanoBinding”というカスタムリソースを 利⽤し、定義したアプリケーションを各デプロイ先に対し て紐付け • Oracleが提供する各プロダクトはコンポーネントとして 事前定義済みであり、細やかな設定が利⽤可能

    • WebLogic • Coherence • Helidon VerrazzanoModelを利用した複数のアプリケーション定義 Copyright © 2020, Oracle and/or its affiliates. 35 Application 1 Web Application1: - name: webapp1 image: webapp1 ・ ・ ・ VerrazzanoModel Helidon Application Helidon Application: - name: helidonapp image: helidonapp ・ ・ ・
  36. manifestでアプリケーションのデプロイ先を定義 • “VerrazzanoBinding”というカスタムリソースを利⽤ • 事前に定義したVerrazzanoModelの各アプリケーションをデプロイ先に紐付け VerrazzanoBindingを利用したアプリケーションとデプロイ環境の紐付け Copyright © 2020, Oracle

    and/or its affiliates. 36 Web Application: - name: Application1 image: webapp1 - ingress: - name: Ingress1 - database: - target: mysql VerrazzanoModel VerrazzanoBinding Placement managed-cluster-1 Namespace: spaceA Components: Name: Application1 Database Bindings name: mysql url:jdbc:mysql://..... Ingress Bindings Name: Ingress1 Public Cloud/On-Premises Space A Application1 managed-cluster-1 Ingress1 MySQL
  37. コンテナアプリケーションネイティブなパイプラインの提供 • GitLab/Jenkinsを⽤いたGitOpsの構築 • BYOでのパイプライン構築も可能 WebLogicアプリケーションとの⾼い親和性 • WebLogic Image Tool、WebLogic

    Deploy Toolingや WebLogic Kubernetes operatorを利⽤したアプリケー ションのデプロイ ⾼度なデプロイ戦略の実現 • Blue/GreenデプロイメントやA/Bテストのような⾼度な デプロイ戦略を効率的に実現可能 Verrazzanoで実現するCI/CD Copyright © 2020, Oracle and/or its affiliates. 37 CI/CDパイプライン On-premises Public Cloud 40% 60%
  38. コンテナ Observabilityスタックの提供 • デプロイするすべてのアプリケーションに適⽤ • メトリクス • WebLogic/Coherence/Helidonアプリケーションにつ いては⾃動でPrometheusフォーマットにエクスポート •

    ロギング • WebLogic/Coherence/Helidonアプリケーションのロ ギングを⾃動で設定(Fluentdを利⽤) • その他のアプリケーションは標準出⼒へのベストプラク ティス構成を適⽤可能 • トレーシング • OpenTracing/Jaegerによるトレーシング • Istio/Envoyによるネットワーク監視の提供 • 適⽤するスタックについてはユーザが構築可能 Verrazzanoで実現する“Observability” Copyright © 2020, Oracle and/or its affiliates. 38 開発者 コンテナ 適用するスタックを設定
  39. 各種プラットフォームへのSSOを提供 • 各ダッシュボードへのシングルサインオンを提供 • LDAPやActive Directoryも利用可能 • RBACとの連携やアプリケーションエンドポイントへの アクセス制御も実現可能 マルチクラスタRBACの提供

    • クラスタを跨ぐRBAC制御を実装可能 • Istioを利⽤し、サービス間のセキュア(mTLS)な通信を 即時に提供 • 証明書の⾃動管理を実現 Verrazzanoで実現する“Strong Security”と“Isolation” Copyright © 2020, Oracle and/or its affiliates. 39 Public Cloud On-premises mTLS ユーザA ユーザB 管理者 モニタリング・ダッシュボード SSO SSO/RBAC
  40. デモシナリオ • Verrazzanoを構築した環境へサンプルアプリケーション (Bob’s Books)をデプロイ • ⼀般書店であるフロントエンドのウェブストア 「Robert’s Books」(Helidon/Coherence) •

    児童書専⾨店のフロントエンドWebストア 「Bobby’s Books」 (WebLogic/Helidon/Coherence) • バックエンドの「注⽂処理」アプリケーション (WebLogic/MySQL) • デプロイ後に⾃動的にObservability環境 (Prometheus/Grafana/EFK Stack)が構築されるので、 UIを確認 Verrazzanoデモ概要 Copyright © 2020, Oracle and/or its affiliates. 40
  41. Verrazzanoデモ概要図 Copyright © 2020, Oracle and/or its affiliates. 41 Oracle

    Container Engine for Kubernetes Istio IngressGateway Ingress Controller verrazzano-system bobs robert bobby namespace /bobbys-front-end / /bobs-bookstore-order-manager
  42. まとめ Takuya Niita Oracle Corporation Japan Sep 30th, 2020 Copyright

    © 2020, Oracle and/or its affiliates. 42 Oracle Cloud Hangout Cafe 3 #3 –Kubernetesクラスタの管理術
  43. マルチKubernetesクラスタ管理 • 複数のKubernetesクラスタを利⽤したコンテナアプリケーションの運⽤ • セキュリティの向上、耐障害性の向上や災害対策、ベンダーロックインの回避 マルチKubernetesクラスタの管理術 • Rancherを利⽤したマルチクラスタ管理 • パブリッククラウド、プライベートクラウド、エッジを含めた各環境のクラスタ管理の実現

    • NodePool/プロジェクトやRoleでの権限制御によるクラスタの柔軟な管理 コンテナアプリケーションライフサイクルも含めた管理術 • Verrazzanoを利⽤したマルチクラスタ管理 • ユーザ負担で構築しなければならないタスクを統合プラッフォームにより迅速に実現可能 • Observabilityやコンテナレベルでのネットワーク/セキュリティを意識した環境の⾃動構築と運⽤の実現 Kubernetesクラスタ管理術 Copyright © 2020, Oracle and/or its affiliates. 43
  44. Rancherドキュメント https://rancher.com/docs/rancher/v2.x/en/ Rancher(GitHub) https://github.com/rancher/rancher Rancher Meetup https://rancherjp.connpass.com/ Rancher書籍 「RancherによるKubernetes活⽤完全ガイド」 https://book.impress.co.jp/books/1119101048

    Verrazzanoドキュメント https://verrazzano.io/docs/ Verrazzano(GitHub) https://github.com/verrazzano/verrazzano(α版) チュートリアル https://github.com/verrazzano/verrazzano/blob/mast er/install/README.md Verrazzano Slack Verrazzano.slack.com Invite URL:https://bit.ly/3gOeRJn 参考情報 Copyright © 2020, Oracle and/or its affiliates. 44
  45. Thank you 45 Copyright © 2020, Oracle and/or its affiliates.

  46. None