次の方法で共有


Azure Red Hat OpenShift のプラットフォーム自動化と DevOps を計画する

Azure Red Hat OpenShift ランディング ゾーン アクセラレータのプラットフォーム自動化と DevOps に関する設計上の考慮事項と推奨事項について説明します。 自動化と一般的な DevOps のベスト プラクティスに従って、Azure Red Hat OpenShift 用の高度に自動化された DevOps プラットフォームを計画します。

設計上の考慮事項

Azure Red Hat OpenShift ランディング ゾーン アクセラレータのプラットフォーム自動化と DevOps を計画するときは、次の設計上の考慮事項を含めてください。

  • エンジニアリングと自動化のアプローチを選択するときに、Azure サービスの制限、および継続的インテグレーションと継続的デリバリー (CI/CD) 環境を考慮してください。 たとえば、GitHub の使用制限を参照してください。

  • 開発、テスト、Q&A、運用環境へのアクセスをセキュリティで保護するときは、CI/CD の観点からセキュリティ オプションを評価してください。 デプロイは自動的に行われるので、それに応じてアクセス制御をマップします。

  • デプロイされた各リソースを一意に識別するために、明確に定義された規則に従うプレフィックスとサフィックスを使用することを検討してください。 名前付け規則により、隣接するソリューションをデプロイするときの競合が回避され、チーム全体の機敏性とスループットの向上に役立ちます。

  • ワークフローのインベントリを作成すると、通常と Digital Rebar Provision シナリオの両方でソリューションを設計、更新、デプロイするのに便利です。 親近感と生産性を最大限に高めるために、パイプラインをワークフローにマッピングすることを検討してください。

    たとえば、次のようになります。

    • クラスターのデプロイとアップグレード
    • アプリケーションのデプロイとアップグレード
    • ディザスター リカバリーのフェールオーバー
    • ブルーグリーン デプロイ
    • カナリア環境のメンテナンス
  • Azure Arc 対応 Open Service Mesh をデプロイして、セキュリティ、暗号化、ログ機能をワークロードに追加することを検討してください。

  • サブスクリプション、タグ付け、ラベルなどの他のリソースをデプロイして、DevOps エクスペリエンスをサポートすることを検討してください。 これらのリソースを使用して、デプロイと関連する成果物を追跡およびトレースします。

  • "家畜対ペット" の DevOps パラダイム シフトの影響について検討してください。 ポッドと Kubernetes のその他の側面を一過性のものであると予想して、自動化とパイプラインのインフラストラクチャを適切に調整します。 IP アドレスやその他のリソースを固定または永続的に使用しないでください。

設計の推奨事項

Azure RedHat OpenShift のプラットフォーム自動化と DevOps を計画するには、次の設計に関する推奨事項を使用します。

  • パイプラインまたはアクションを使用して、次の作業を行います。

    • チーム全体に適用するプラクティスを最大化します。
    • 新しい開発の負担の多くを取り除きます。
    • 全体的な品質と機敏性に関する予測可能性と分析情報を提供します。
  • トリガーベースおよびスケジュールされたパイプラインを使用して、早い段階で頻繁にデプロイします。 トリガーベースのパイプラインにより、変更が適切な検証を経て行われるようになります。 スケジュールされたパイプラインにより、変更される環境での動作が管理されます。

  • インフラストラクチャのデプロイをアプリケーションのデプロイから分離します。 コア インフラストラクチャの変更は、アプリケーションよりも少なくなります。 それぞれの種類のデプロイを別個のワークフローとパイプラインとして扱います。

  • クラウドネイティブ オプションを使用してデプロイします。 インフラストラクチャのデプロイには、コードとしてのインフラストラクチャを使用します。 Kubernetes ネイティブ コンポーネントのデプロイと保守には、HelmKubernetes のオペレーター パターンを使用します。

  • GitOps を使用して、アプリケーションをデプロイおよび維持します。 GitOps は、信頼できる唯一の情報源として Git リポジトリを使用します。 ロールバックおよび関連する手順の間の構成のずれを回避して、生産性と信頼性を向上させることができます。

    Red Hat OpenShift GitOps の使用も検討してください。 Red Hat OpenShift GitOps は Argo CD を使用してクラスター リソースを保守し、アプリケーションの CI/CD をサポートします。

  • シークレット ストア CSI ドライバーの Azure Key Vault プロバイダーを使用して、シークレット、証明書、接続文字列を保護します。

  • ハードコーディングされた構成項目と設定を回避して、デプロイの同時実行性を最大化します。

  • インフラストラクチャのデプロイとアプリケーション関連のデプロイ全体にわたって、よく知られている規則に従います。 アドミッション コントローラーAzure Arc 対応 Kubernetes 用の Azure Policy 拡張 (プレビュー) とともに使用して、規則および他の定義済みポリシーを検証し、適用します。

  • セキュリティとポリシーを通じて、シフト レフト DevOps アプローチを恒常的に採用します。

    • セキュリティ: パイプラインで早期に、コンテナー スキャンなどの脆弱性スキャン ツールを追加します。
    • ポリシー: アドミッション コントローラーを使用することで、ポリシーをコードとして使用し、クラウドネイティブにポリシーを適用します。
  • すべての障害、エラー、または停止を、ソリューション全体の品質を自動化し、向上させる機会として扱います。 このアプローチをシフト レフトおよびサイト信頼性エンジニアリング フレームワークに統合します。

次の手順