紹介
Sitecore 10 のリリースでは、コンテナ内でのアプリケーションの実行と Kubernetes (K8s) へのデプロイがサポートされるようになりました。前回の記事では、「Sitecore、Docker、継続的インテグレーション」では、イメージを自動的にビルドする方法について説明しました。この記事では、新しくビルドされたイメージがコンテナレジストリで利用可能になった後に実行される最終ステージについて考察します。ただし、本題に入る前に、開発者向けの重要なリソースをいくつか紹介したいと思います。 K8sの仕様の完全なセットは、からダウンロードできますdev.sitecore.com.また、K8s のクリーンなインスタンスから、Sitecore 10 の完全にデプロイされた実行中のインスタンスに移行するための完全なインストール ガイドも掲載されています。
Kubernetesを初めて使用し、クラスター、ノード、ポッド、およびそれを支えるその他の要素の概念に精通していない場合は、先に進む前にそれについて理解したいと思うでしょう。Kubernetesサイトには、次のような優れたチュートリアルがあります主要な概念の紹介.
Sitecore を K8s にデプロイする方法に慣れたら、ベースと同じ仕様を使用してデプロイを構築および自動化できます。
これらの概念のデモを含む、この記事に付属するビデオをご覧ください。または、で視聴してくださいDiscover SitecoreYouTubeで。
コンテナベースのデプロイの自動化
コンテナベースのデプロイメントの自動化は、一般的なデプロイメントとは少し異なります。この図では、完全なエンドツーエンド プロセスのフローを確認できます。
上で述べたように、この記事では、新しくビルドされたイメージがコンテナレジストリで利用可能になった後に実行される最終段階について考察します。
イメージがビルドされると、新しいイメージタグを参照するように仕様が更新され、これらはK8sインスタンスにプッシュされます。その後、K8s は新しいコンテナイメージに基づいて新しいポッドを作成し、制御された速度でトラフィックをそれらの新しいポッドに切り替えます。また、この切り替え方法を制御することもできます — 手動切り替えで Blue/Green デプロイを行う場合や、一部のユーザーのみが新しいバージョンを見るように Canary デプロイを行う場合などです。これらのアプローチは両方とも、他の展開アプローチと同様に、K8s を使用すると実現できます。
コンテンツの変更をデプロイする
Sitecore のデプロイは、コンテンツの更新なしには完了しません。幸いなことに、バージョン10でリリースされた新しいSitecore CLIを使えば、これを簡単に行うことができます。いくつかのコマンドで、Identity Serverで認証し、コンテンツの変更をプッシュし、最後に変更の完全な公開を実行できます。
これにより、ソース管理システムにあるものが、コードの観点からだけでなく、開発者が所有するコンテンツも含めて、プロダクションで実行されているものであるという自信を持つことができます。
MVP サイトの例
このプロセスの完全なエンドツーエンドの例を見たい場合は、新しいMVP サイト リポジトリ最近、オープンソースとしてリリースしました。このリポジトリには、完全なYAML定義Azure Kubernetes Service (AKS) へのデプロイの場合。