Save 37% off PRO during our Black Friday Sale! »

Azure のマネージドなOpenShift サービス – ARO の運用のコツ

Azure のマネージドなOpenShift サービス – ARO の運用のコツ

CloudNative Days Spring 2021 Onlineの発表資料です。
https://event.cloudnativedays.jp/cndo2021/talks/821

■関連ドキュメントのリンク:
- 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

D10ae891a79fdf8228c979a1a434c463?s=128

Keisuke Hatasaki

March 12, 2021
Tweet

Transcript

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

  2. Agenda 1. Azure Red Hat OpenShift (ARO) とは 2. ARO

    構築・運用の検討ポイント (デモを含む) 3. まとめ・関連ドキュメント 2
  3. 3 畑﨑 恵介 (はたさき けいすけ) マイクロソフトの Global Black Belt (GBB)

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

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

    OpenShift (Kubernetes) サービス
  6. Azure Red Hat OpenShift の主な特徴 6 プライベート・クラスタ管理とイングレス・エンドポイント 仮想ネットワークとの接続 マルチ Availability

    Zones クラスタ Red Hat Enterprise Linux CoreOS / Kubernetes 認証サービスとの接続 インダストリ・コンプライアンス認証 FIPS 140-2 Level 1 暗号化 クラスタ・アドミン権限 オペレータ・フレームワーク OpenShift サービスメッシュ OpenShift サーバレス OpenShift Do (odo)
  7. 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
  8. 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サイズ
  9. ARO 構成・運用の検討ポイント • ネットワーク構成 • 認証・認可 • 基盤保守・運用 • モニタリング

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

  11. プライベート ARO クラスター 11 • Tips: クラスター内リソース構成次第でサービスは外部公開可 Private Private Public

    Public 外部公開されない 外部公開される 関連資料: https://docs.microsoft.com/ja-jp/azure/openshift/howto-create-private-cluster-4x
  12. プライベート ARO クラスター 12 apiVersion: operator.openshift.io/v1 kind: IngressController metadata: namespace:

    openshift-ingress-operator name: <name> spec: domain: <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: <name> spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: front type: LoadBalancer Private Load Balancer Serviceのマニフェスト例
  13. 認証・認可 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
  14. 基盤保守・運用 – ノード管理 14 • AZ (Availability Zone)毎に1つのMachineSet を定義 •

    Tips: • VMサイズの異なるワーカーノードを混在可能 • MachineHealthCheckリソースでノードの 自動回復を定義 Source: https://github.com/openshift/machine-api-operator
  15. 基盤保守・運用 – ライフサイクル 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日
  16. モニタリング 16 • ARO は Azure Monitor for Container 利用可能

    (preview) • Tips: 関連資料: https://docs.microsoft.com/ja-jp/azure/azure-monitor/insights/container-insights-azure-redhat4-setup
  17. そのほか – バックアップ、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

  18. まとめ 18

  19. 関連ドキュメント • 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
  20. Thank you! 20 © 2021 Microsoft Corporation. All rights reserved.

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