アリオープンソース!クラウドネイティブアプリケーションの自動化エンジンOpenKruise |ウォッチKubeCon

画像

アリの姉妹REVIEW:最近KubeCon中国2019年の立ち上げに、アリの雲は、世界中のユーザーのためのAlibabaの大規模なクラウドネイティブ着陸の練習を共有するOpenKruiseオープンソースプロジェクト、オープンクラウドネイティブアプリケーションセンター(クラウドネイティブアプリケーションを含むクラウド元最先端の技術と生活の適用を継続しますハブ)、一方の容器、ネイティブクラウドアプリケーションの管理および配信システムやその他の製品やサービスの重剥離エッジ。

次の3日間は、アリの妹は、あなたがカバレッジを生きる持って会場を接続します。

6月24日、26から2019まで、上海、中国でCNCFネイティブクラウド技術会議KubeConカーテンドレスが主催する、アリクラウドコンテナプラットフォームチームが正式に大規模なアプリケーション展開アリババ経済の多くの年に基づいて、ヘビー級のオープンソースプロジェクトOpenKruiseを発表しました。ベストプラクティス沈殿を公開し、管理する能力は、業界に開放されています。

アリババのOpenKruiseは、オープンソースのクラウドKubernetesネイティブアプリケーションの自動化エンジンです。過去数年間にわたりアリババ経済のアプリケーションから派生Kruiseプロジェクトの大規模なアプリケーションの展開は、顧客の降水量のアリ雲Kubernetesのオンデマンドサービスの数千人から、ベストプラクティスと管理を公開します。

アリ経済の祝福「包括的なクラウド」の下の「クラウドネイティブアプリケーション自動化エンジン」

雲オリジナルのコンセプトの上昇に伴って、より多くのアプリケーションがクラウドネイティブ土壌上で動作するようにしようとし始めました。だから、クラウドネイティブ何ですか?アプリケーションコンテナのユーザが他の柔軟性とクラウド「不変のインフラ」を利用できるように、簡単に言えば、クラウドはアプリケーションの方法論のセットの「クラウド」を利用するネイティブの能力、効率的な構築および配信です自社のコアビジネス価値に焦点を当てます。

現在、ネイティブの雲の進化とアップグレードのインフラアリババは、フルスイングでもあります。そして、大規模なインターネットシーンで内部アリ時のアリババ経済のこの全体の雲の中に、私たちは、このような軽量コンテナとして、ネイティブクラウドのコンセプト着陸の練習の多数を開始しました。

俊敏性を達成するようにAlibabaの経済は、軽量コンテナの大規模なアプリケーションを推進しているとすぐにネイティブの雲電気の供給サイトのコンセプトに沿って、能力を構築するための容器や他の機能の一貫した使用は、同様の「ダブル10月」大きなプロモーションを適応させるために配信しました厳格な技術要件。クラウドネイティブアプリケーション管理の別の例は、Alibabaの経済は、クラウドネイティブ振り付け、送達、操作の技術的思想によれば、ビジネス・アプリケーションを駆動し、上側の操作およびメンテナンス・フレームワークに侵入、そのようなアプリケーションのオーケストレーションと自動化機能などKubernetesプロジェクトです。

クラウドアリババの全体的な経済の中で、元の生化学的プロセスの中で、アリは徐々に、上流社会の基準に近づける技術チームを沈殿させ、技術の概念とインターネット規模なシーンのベストプラクティスに適応します。これらのうち、最も重要なのは、アプリケーションのリリース、運用管理を自動化する方法は間違いないです。

OpenKruise:クラウドアリ経済の本来の生化学的プロセスからの貴重な経験とベストプラクティス

KubeCon上海では、アリクラウドコンテナプラットフォームチームが正式の(以下、Kruiseと呼ぶ)ヘビー級のオープンソースプロジェクトOpenKruiseを発表しました。

KruiseクルーズはKubernetesのため同音異義語、「K」です。文字通りの意味は、道徳的Kubernetes上のアプリケーション展開の管理経験のフルAlibabaの年をクルージングや豪華ヨット、クルーズコントロールアプリケーションです。

Kruise目標はKubernetes上のすべてを自動化することです!Kruiseプロジェクトは大規模なアプリケーションのコンテナプラットフォーム運用・保守からグループのベストプラクティスと経営チームを公開し、長年にわたって大規模なアプリケーション展開アリババ経済のアプリケーションから来て、大規模なアリクラウドKubernetesから能力の確立は、顧客の降水のサービス数千人を求めています。Kruiseは、クラウドネイティブのコミュニティを活用し、学生が地域社会の育成、アリババクラウド元の統合の本質を実践し、業界のガイドラインオリジナルの生化学クラウドのベストプラクティスと回り道を避けます。

アリババのOpenKruiseは、オープンソースのクラウドKubernetesネイティブアプリケーションの自動化エンジンです。Kruiseコアが自動化されて、私たちは、その上でQoS制御、健康診断、移行、復元とを、展開など、Kubernetes・オートメーション・アプリケーションに異なる寸法を、解決するためのアップグレード、弾性スケーリング能力だろう。主にアプリケーションの展開、アップグレード、アプリケーション、アップグレード、操作および保守のためのコントローラコンポーネントの強化バージョンの、すなわち配備におけるKruiseオープンソースコンテンツ。以降、Kruiseはオープン弾性インテリジェントスケーリング容量成分を順次、およびQoSが好きな自己調整能力の応用であろう。

Kruiseコントローラー:最後にKubernetes「コントローラモード」

以下は、展開、管理、自動化さKubernetesコンポーネントのコントローラアプリケーション用に設定されKruiseコントローラを説明しています。

我々はすべて知っているように、コア原則Kubernetesプロジェクトは、「コントローラモード」です。

現在、Kubernetesプロジェクトは、これらのコントローラが豊富なアプリケーションの導入と管理機能を提供し、このような展開、Statefulset、DaemonSet、として、デフォルトのControllerコンポーネントのセットを提供してきました。しかし、ますます広い範囲Kubernetesを使用して、企業やシーンのビジネス需要の真の規模は、上流のコントローラ機能と一致していない、ますます一般的です。

アリババ例:内部アリババKubernetesクラスタ、いくつかのサービスが50 BUをカバーする何千ものアプリケーションが必要です。ボディボリュームは非常に大きく、規模と巨大な挑戦の高可用性です。同時に、アリクラウド上Kubernetesサービスも、法人顧客の何千ものアクセス収集し、顧客ニーズの多様性をサポートしています。これらのプラクティスの要求と最終的にはアリ経済、そして最終的に出生Kruiseオープンソースプロジェクトにつながりました。

Kruise最初のフェーズは、次の主要なオープンソースのコントローラで構成され、フォローアップをさらに追加します。

高度なStatefulSet:富のリリース戦略、StatefulSetのサポートインプレースアップグレード

高度なStatefulSetは、StatefulSetは、ネイティブ拡張され2つの新機能を追加しました。

  • プレースアップグレード(インプレース更新戦略)

アリババ本体質量シーンでこのスケールのローリング更新を行うとき、ネイティブStatefulSetは、巨大な価格をポッドを破壊し、再構築されます。

  • まず、すべて削除されたポッドのアプリケーションでは、不必要なオーバーヘッドをもたらすために予定されているポッドの数が多いと、リソースが占有されているので、通常は、予定されていないポッドの悪いことに、再スケジューリングに、再び再スケジュールする必要があります他の理由は、特性をアフィニティー。ポッドは通常、再構築することができますが、オリジナルの天然状態の喪失、新しいノードに再スケジュール、まだ追加のオーバーヘッドを持っています。
  • ネットワークトポロジの変化に、異なるマシン上に分散される可能性が高い再スケジューリング後のポッドは、我々はいくつかのアプリケーションに依存するが、動作しません保つためにIP、IPを再申請する必要があります。また、送信ネットワークトラフィックが不確実性を作成します。
  • 複数の容器のためのポッド、コンテナは、一般的に受け入れられない主容器のサイドカー復元結果を、アップグレード。

高度なStatefulSetコンテナ更新画像、ポッドを破壊することなく、可能にインプレースアップグレード機能の導入。このような利点は、効率性と安定性です。効率は明らかに、ポッドを再スケジュールする必要がある、または元のノードで実行されない、状態またはローカルストレージの一部を保持することができます。安定性を維持することは、本質的に同じ構造であるIP、ネットワークトポロジーとトラフィックに反映さ、安定性とアリババアリの雲の経済は常に非常に重要な指標となっています。

  • 最大構成の利用できない例を許可(最大使用不可)

コミュニティネイティブStatefulSetは、主に順次アップグレードを必要とするいくつかのステートフルなアプリケーションのために、同時にアップグレードプロセスの複数のインスタンスをアップグレードすることはできません。しかし、アリババのシーンで、顧客、およびアリクラウドコンテナプラットフォームから、多くのアプリケーションは、この問題は、低効率によって引き起こされ、順番シーケンシャルセマンティクスにアップグレードする必要はありませんことを学んできました。特に、巨大なアリババいくつかの用途のような、インスタンスのシナリオの数は、問題が特に顕著です。

MaxUnavailable関数は、並列アプリケーションインスタンスがアップグレードさせることにより、この問題を解決することであり、最大のインスタンスが制限値を超えない使用不能MaxUnavailable数のまま残ります。

画像

放送ジョブ:ジョブ・時間DaemonSetとして動作

ブロードキャスト仕事上のクラスタ内の各ノードのポッドの終わりまで実行されます。このポッドでBroadcastJobが最終的に終了する一方、そのDaemonSet除いDaemonSet同様のコミュニティは、常に、各ノード上で実行されているポッド長いサービスを維持しました。DaemonSetを比較し、もはやそのようないくつかの構成要素にノードをアップグレードなどの特定のシナリオに特に適用される、放送終了後にリソースを消費し、検出ノード構成の一部はそうで正しいとされていません。

画像

大規模なシナリオのサイドカー管理ツール:SidecarSet

サイドカーは、同じポッド内のメインコンテナや走行時のKubernetes第2の容器で概念です。サイドカー容器アセンブリは、収集容器をログに記録し、一般的にこのような容器の監視など、いくつかの基本的なサービスです。

同社では、コンテナとコンテナの基本コンポーネントの主な事業は、通常、開発、保守、および同時に同じファイルまたはYAML同じAPIリソースオブジェクトを変更する複数のチームを操作し、多くの場合、いくつかの競合を生成、および管理することは容易ではないために、異なるチームで構成されています。運用保守サービスコンテナのメインモードと二次包装は、デカップリングという考えをSidecarSet。ビジネスユーザーがアプリケーションを提出するときは、何のサイドカーは自動的に注入されたルールの作成責任に対応するコンテナサイドカーチームから指定されたコンテナが表示されません。そして、血管の運用・保守やアップグレード、不必要な混乱が生じ、一緒に結合をアップグレードすることなく、それぞれのコンテナの独自の定義をアップグレードの戦略に合わせて、それぞれ、高度なStatefulset場所のアップグレード機能、ビジネスチームとインフラチームを使って。Istio事実、コンテナー・ビジネスへの自動注入サイドカーコンテナのアイデアのような関数を使用するが、サイドカーコンテナ、その後の運用・保守をアップグレードする能力を欠いています。効果的に抽象化サイドカーコンテナを展開し、管理SidecarSet。

画像

オープンソースコミュニティのパートナーとサブのために募集されているOpenKruise!

ガイドラインKruiseコミュニティは、コア技術は、より強力な自動化機能を構築するためにKubernetesの概念に基づいています。現在、Kruiseはバッチで解放青緑色のように解放して、カナリアを解放、シーンや、リリース戦略としての機能の富の多くをカバーするためにコントローラのより多くを解放することを計画しています。

さらに重要なのは、OpenKruiseはアンブレラプロジェクト、OpenKruiseディフェンダーは、グローバルリクルートパートナーと貢献に向けた最もオープンな姿勢です。はい、私たちはあなたの貢献を楽しみにして、新しい自動化機能を構築することができOpenKruise、または共同でネイティブアプリケーションの進化と発展を促進するために協力しているクラウドオーケストレーション機能をKubernetes。

オリジナルリリースタイム:2019年6月25日
著者:未来が来た
Yunqiコミュニティパートナーから、「アリ・テクノロジー」情報については、「関係もアリ技術を。」

おすすめ

転載: yq.aliyun.com/articles/706458