Rancher 2.5はRancher Continuous Deliveryで大規模なGitOpsを実現します

Rancher 2.5はRancher Continuous Deliveryで大規模なGitOpsを実現します

Keith Basil
Keith Basil
Published: October 6, 2020
Updated: November 26, 2020

コンテナ化されたソフトウェアを簡単にデプロイして管理できるKubernetesの能力は、クラスタを数百から数千に増殖させ、あらゆる目的のためにエッジまで拡張することで、組織のクラウドサービスに多大な能力を与えてきました。しかし、その人気の高まりは、クラスタの拡大を助長する環境での複雑さが、管理する上での課題になっています。

Rancher 2.5 は、GitOps アプローチを採用し、プライベート、パブリック、ハイブリッド、マルチクラウド環境を問わず、インフラストラクチャ全体のプロセスを合理化する新機能である Rancher Continuous Delivery でデプロイと管理を簡素化します。今年初めに発表されたFleetプロジェクトは、Rancher Continuous Deliveryを支えるエンジンです。Fleetは、世界中で数千から数百万のクラスタを運用するという課題に対応するために設計されたKubernetesクラスタコントローラです。

K3sはKubernetesを最先端に導く

Kubernetes の導入が進むにつれ、企業はデプロイするクラスタの数を着実に増やしてきており、Rancher’s lightweight K3sでは、何千ものスタンドアロンクラスタをエッジにデプロイしてきました。K3sは、Kubernetesをインストールしようとする際の複雑さや認知的な負荷を排除することで、エッジでのデプロイを大幅に合理化します。詳細な手動プロセスの代わりに、例えば、1つのLinuxコマンドを使用して、1ノードのKubernetesクラスタを実行し、Kubernetesの本格的なCNCF-certifiedディストリビューションとして開発とテストの準備ができている状態にすることができます。K3sはアーキテクチャに依存せず、非常に小さなフットプリントを持っています。ARMやIntelプロセッサ上で動作し、リソースを消費しません。40ドルのRaspberry Piで十分です。

このシンプルさから、企業はスタックの上位に価値を生み出すことができ、エッジ導入の勢いを高め、真のデジタルトランスフォーメーションを可能にします。顧客は何百、何千もの拠点に導入することができます。例えば、あるサンプルセットの平均的なクラスタ数は、約1,700の遠隔地にあります。これでクラウドへのアクセスは拡大しましたが、1,700のクラウドを管理するのは困難です。そこでRancher 2.5のContinuous Delivery機能の出番なのです。

Rancherの継続的なデリバリは Git 開発者ツールを使用しています

基礎となる GitOps のアプローチは、開発者と運用担当者の両方に理解されている成熟したよく知られたワークフロープロセスに基づいています。Rancher Continuous Deliveryは、既存の Git開発者ツールセットを活用してクラウドネイティブアプリケーションを管理し、アプリケーションが意図した通りに動作するようにします。Gitリポジトリは、設定の唯一の権限源です。すべての定義は、Kubernetesクラスタの設定定義であれ、アプリケーションの展開定義であれ、近い将来にはセキュリティポリシーの定義であれ、ソースで保持されます。開発者がアプリケーションに変更を加えると、Gitはそれを Kubernetesにプッシュしてデプロイすることができます。もし変更が望ましい状態から逸脱していた場合、Gitはそれを元の状態に戻すことができます。

Gitは通常 push あるいは pull 方式で動作し、変更は直接送られ (push)、クラスタが定期的に更新要求を送ってから配信されます。Rancher 2.5ではさらにプル方式を採用しています。変更は Gitに直接送られるのではなく、Gitリポジトリへのアクセスや、リポジトリとアプリケーションやクラスタ間の設定や割り当てを管理し、適切なコードが適切なアプリケーションに届くようにしています。Rancher 2.5 では、Rancher の継続的デリバリー機能が、スケールでの管理に効果的なモデルを提供しています。アプリケーションパッケージは、個々のクラスタまたは最大 100万個のクラスタグループに関連付けることができます。

CONTINUOUS DELIVERY CHART

実際、管理するクラスタの数をスケーリングするには、個々のクラスタの管理から労力と注意力をシフトする必要があります。Kubernetes が個々のコンピューティングノードからフォーカスを外したように、私たちはクラスタ自体にも同じことをしたいと考えています。上の図は、Rancher 2.5でセレクタに基づいてクラスタをターゲットとするバンドルを定義する方法を示しています。ここではユニットをアプリケーションではなくバンドルと呼んでいますが、これは Rancher 2.5がアプリケーションのデプロイメントを管理できるだけでなく、あらゆる Kubernetesリソースを扱うことができるからです。Rancher Continuous Deliveryは、Helmや Kustomizeなどの業界標準のツールを使用してターゲットクラスタごとにバンドルをカスタマイズするための組み込みメカニズムを提供しています。バンドルがクラスタ間でデプロイされると、Rancher 2.5は、リソースが準備ができているか、一貫性があり安全であるかを積極的に監視します。主な使用例は、クラスタ間で一貫したデプロイが可能であることを確認することです。アプリケーションをデプロイしたり、「すべてのクラスタには 〇〇のセキュリティツールがインストールされていなければならない」などの基準を簡単に強制することができます。

組織はKubernetesやコンテナをエッジで実行したいが、Kubernetesの下のものを管理する負担を負いたくないものです。Rancher 2.5の Rancher Continuous Deliveryは、Kubernetesに特有の要件をエッジで管理し、プラットフォームに関係なくスケールで実行できるコントローラを顧客に提供します。Azure、Amazon、Google、またはオンプレミスのベアメタルインスタンスで動作します。

Rancher Continuous DeliveryがCI/CDワークフローを拡張

Rancher Continuous Deliveryは、開発者が常にアプリケーションを構築してデプロイする継続的インテグレーション/継続的デリバリ(CI/CD)ワークフローを拡張し、新しいアプリケーションやアップデートを随時管理できるようにします。Rancher 2.5のこの新機能は、DevOpsソフトウェア開発のスピードで何千ものKubernetesクラスタの完全なライフサイクル管理を実現します。

クラウドサービスの爆発的な普及により、クラスタの数は増加し、多様性が増しています。CNCF認定のKubernetesディストリビューション上に任意の規模でデプロイできるRancher 2.5は、実際のクラスタ構成だけでなく、それらのクラスタ上で実行されているものに対する最高のコマンドとコントロールを提供します。Rancher Continuous DeliveryのGitOpsアプローチは、宣言的な性質を持ち、リソースをあるべき場所に確実に配置するという点でKubernetesとよくマッチしています。これは、分散コンテナ管理の進化の次のステップを表しています。あらゆる場所のあらゆるインフラストラクチャにまたがるアプリケーションの配信を合理化することで、企業は Rancher 2.5 を使用して真のデジタルトランスフォーメーションへの道のりを加速させることができます。

Keith Basil
Keith Basil
エッジソリューション担当 バイスプレジデント
Keithは、K3sやFleetなどのRancherのエッジ製品の戦略と管理をリードしています。彼はRancherのグローバルな顧客ベースで、クラスタ管理、ヘテロジニアスアーキテクチャ、ゼロトラストセキュリティアプローチなどを含むKubernetesを中心としたエッジソリューションの開発に携わっています。
Rancherを始めましょう