Slide 1

Slide 1 text

Azure のマネージドな OpenShift サービス – ARO の運用のコツ マイクロソフトコーポレーション 畑﨑 恵介

Slide 2

Slide 2 text

Agenda 1. Azure Red Hat OpenShift (ARO) とは 2. ARO 構築・運用の検討ポイント (デモを含む) 3. まとめ・関連ドキュメント 2

Slide 3

Slide 3 text

3 畑﨑 恵介 (はたさき けいすけ) マイクロソフトの Global Black Belt (GBB) チームに 所属し、主にAzure のクラウドネイティブ関連技術を 取り扱っています 以前は日立の研究所で長く IT プラットフォーム技術の 研究開発をしていました。企業で Linux が普及し始め た頃に、OSS プロジェクトの立ち上げやオライリーの Linux カーネル本の翻訳版執筆なども経験しました ヨセミテ国立公園での写真です。米国シリコンバレー在住の頃、 いろいろな米国国立公園を観光しました JDLA G検定

Slide 4

Slide 4 text

Kubernetes on Azure | Enterprise-grade by design 4

Slide 5

Slide 5 text

Azure Red Hat OpenShift (ARO) 5 Azure におけるフルマネージドの Red Hat OpenShift (Kubernetes) サービス

Slide 6

Slide 6 text

Azure Red Hat OpenShift の主な特徴 6 プライベート・クラスタ管理とイングレス・エンドポイント 仮想ネットワークとの接続 マルチ Availability Zones クラスタ Red Hat Enterprise Linux CoreOS / Kubernetes 認証サービスとの接続 インダストリ・コンプライアンス認証 FIPS 140-2 Level 1 暗号化 クラスタ・アドミン権限 オペレータ・フレームワーク OpenShift サービスメッシュ OpenShift サーバレス OpenShift Do (odo)

Slide 7

Slide 7 text

ARO で作成される Azure リソース 7 内部ロードバランサー 外部ロードバランサー コントロールプレーン VM ワーカーノード VM プライベート DNS ゾーン ストレージアカウント • 作成される主なリソース • ノード用の Azure VM と Disk • コントロールプレーン VM x 3 • ワーカノード VM x 2台以上 • コンテナレジストリ用のストレージアカウント • 内部/外部ロードバランサ • DNS ゾーン • サポートVMサイズ Node Type Size コントロールプレーン 汎用 D{8,16,32}s_v3 ワーカーノード 汎用 D{4,8,16,32}as_v4 D{4,8,16,32}s_v3 メモリ最適化 E{4,8,16,32}s_v3 コンピューティング最適化 F{4,8,16,32}s_v2 関連資料: https://docs.microsoft.com/ja-jp/azure/openshift/support-policies-v4

Slide 8

Slide 8 text

ARO で作成される Azure リソース 8 内部ロードバランサー 外部ロードバランサー コントロールプレーン VM ワーカーノード VM プライベート DNS ゾーン ストレージアカウント ARO 用 VNET サブネット サブネット • Tips: • 仮想ネットワーク (VNet) とサブネットは事前作成要 • NSG(Network Security Group) は自動作成 • VM のリソースクォータでは引き上げ要 Node Type Size コントロールプレーン 汎用 D{8,16,32}s_v3 ワーカーノード 汎用 D{4,8,16,32}as_v4 D{4,8,16,32}s_v3 メモリ最適化 E{4,8,16,32}s_v3 コンピューティング最適化 F{4,8,16,32}s_v2 • 作成される主なリソース • ノード用の Azure VM と Disk • コントロールプレーン VM x 3 • ワーカノード VM x 2台以上 • コンテナレジストリ用のストレージアカウント • 内部/外部ロードバランサ • DNS ゾーン • サポートVMサイズ

Slide 9

Slide 9 text

ARO 構成・運用の検討ポイント ● ネットワーク構成 ● 認証・認可 ● 基盤保守・運用 ● モニタリング 9

Slide 10

Slide 10 text

ARO のネットワーク構成 10 Soruce: https://docs.microsoft.com/ja-jp/azure/openshift/concepts-networking#whats-new-in-openshift-45

Slide 11

Slide 11 text

プライベート ARO クラスター 11 • Tips: クラスター内リソース構成次第でサービスは外部公開可 Private Private Public Public 外部公開されない 外部公開される 関連資料: https://docs.microsoft.com/ja-jp/azure/openshift/howto-create-private-cluster-4x

Slide 12

Slide 12 text

プライベート ARO クラスター 12 apiVersion: operator.openshift.io/v1 kind: IngressController metadata: namespace: openshift-ingress-operator name: spec: domain: endpointPublishingStrategy: type: LoadBalancerService loadBalancer: scope: Internal Private IngressControllerのマニフェスト例 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" labels: app: front name: spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: front type: LoadBalancer Private Load Balancer Serviceのマニフェスト例

Slide 13

Slide 13 text

認証・認可 13 • Tips: kubeadminは認証プロバイダー設定後に削除 • Tips: • Azure ADと連携してAzureと統合したユーザ管理可能 • 認証後にAROで作成されるユーザにKubernetes RBAC の設定要 Azure Active Directory OpenShift API/administration console User 認証 認可 関連資料: https://docs.microsoft.com/ja-jp/azure/openshift/configure-azure-ad-ui

Slide 14

Slide 14 text

基盤保守・運用 – ノード管理 14 • AZ (Availability Zone)毎に1つのMachineSet を定義 • Tips: • VMサイズの異なるワーカーノードを混在可能 • MachineHealthCheckリソースでノードの 自動回復を定義 Source: https://github.com/openshift/machine-api-operator

Slide 15

Slide 15 text

基盤保守・運用 – ライフサイクル 15 • Tips: • N バージョンの GA 後も N-2 バージョンは30日間はサポートを継続 • ARO で GA 前でも N+1 バージョンの Stable チャネルが利用可能であれば N+1 へのアップグレード可能かつサポート対象 • 例: ARO の GA バージョンが 4.5 でも 4.6 へアップグレード可能 4.5.x OCP GA ARO GA support 4.6.x OCP GA ARO GA support 4.7.x OCP GA ARO GA support 関連資料: https://docs.microsoft.com/ja-jp/azure/openshift/support-lifecycle 30日

Slide 16

Slide 16 text

モニタリング 16 • ARO は Azure Monitor for Container 利用可能 (preview) • Tips: 関連資料: https://docs.microsoft.com/ja-jp/azure/azure-monitor/insights/container-insights-azure-redhat4-setup

Slide 17

Slide 17 text

そのほか – バックアップ、PV 17 https://docs.microsoft.com/ja-jp/azure/openshift/howto-create-a-backup https://docs.microsoft.com/ja-jp/azure/openshift/howto-create-a-storageclass

Slide 18

Slide 18 text

まとめ 18

Slide 19

Slide 19 text

関連ドキュメント ● Microsoft ARO ドキュメント (主にAzure との連携) https://docs.microsoft.com/ja-jp/azure/openshift/ ● Red Hat ARO ドキュメント (OpenShiftの利用) https://docs.openshift.com/aro/4/welcome/index.html ● ARO リファレンスアーキテクチャー https://aka.ms/aro20201210 ● Qiita ARO 記事 (ARO の利用開始方法) https://qiita.com/hatasaki/items/8a8526a3dd753e22b503 ● ARO ロードマップ https://github.com/Azure/OpenShift/projects/1 ● Microsoft Learn (アカウント無しでハンズオン可能) https://docs.microsoft.com/ja-jp/learn/ 19

Slide 20

Slide 20 text

Thank you! 20 © 2021 Microsoft Corporation. All rights reserved. 本情報の内容 (添付文書、リンク先などを含む) は、本資料作成時点のものであり、予告なく変更される場合があります。 本コンテンツの著作権、および本 コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。 2021年3月