Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Alibaba CloudのCNCFコミッターによるKubernetes周辺サービスを紹介する

Alibaba CloudのCNCFコミッターによるKubernetes周辺サービスを紹介する

Hironobu Ohara

October 29, 2021
Tweet

More Decks by Hironobu Ohara

Other Decks in Technology

Transcript

  1. AlibabaにいるCNCF TopPJ 貢献者たち 3 OpenYurtのPMC・コミッター Kubernetesをエッジコンピューティングに 拡張しながら、スケーリング、配信、管理、 監視するプラットフォームを設計、開発 Xinsheng(新胜) FluidのPMC・コミッター

    Kubernetesベースでデータ集約アプリ ケーション向けの分散オーケストレーション およびアクセラレーションを設計、開発。 Cheyang(车漾) kubevelaのPMC・コミッター Kubernetesでマイクロサービスベースの ハイブリット・マルチクラウドを構築デプロイ できるプラットフォームを設計、開発。 TianYuan (天元) DragonflyのPMC・コミッター Kubernetesに基づく分散オーケストレーション システムとしてP2PベースのImage配信 プラットフォームを設計、開発。 Bade(巴德) OpenKruiseのPMC・コミッター Kubernetesを使った大規模アプリケーション 自動化管理エンジンを設計、開発。 Jiuzhu(酒祝) KubeDLのPMC・コミッター KubernetesでDeep Learningを より簡単かつ効率的に行う プラットフォームを設計、開発。 Qiusuo(求索) Alibaba Groupの強固なインフラ基盤を支える CNCF仲間入りのコンテナベースのOSSを開発し、今も貢献中
  2. AlibabaにいるCNCF TopPJ 貢献者たち 4 OpenYurtのPMC・コミッター Kubernetesをエッジコンピューティングに 拡張しながら、スケーリング、配信、管理、 監視するプラットフォームを設計、開発 Xinsheng(新胜) FluidのPMC・コミッター

    Kubernetesベースでデータ集約アプリ ケーション向けの分散オーケストレーション およびアクセラレーションを設計、開発。 Cheyang(车漾) kubevelaのPMC・コミッター Kubernetesでマイクロサービスベースの ハイブリット・マルチクラウドを構築デプロイ できるプラットフォームを設計、開発。 Tianyuan (天元) DragonflyのPMC・コミッター Kubernetesに基づく分散オーケストレーション システムとしてP2PベースのImage配信 プラットフォームを設計、開発。 Bade(巴德) OpenKruiseのPMC・コミッター Kubernetesを使った大規模アプリケーション 自動化管理エンジンを設計、開発。 Jiuzhu(酒祝) KubeDLのPMC・コミッター KubernetesでDeep Learningを より簡単かつ効率的に行う プラットフォームを設計、開発。 Qiusuo(求索) Alibaba Groupの強固なインフラ基盤を支える CNCF仲間入りのコンテナベースのOSSを開発し、今も貢献中 今回はこれについて もう少し深堀紹介します ※Sandbox、Incubation Projectを含む
  3. KubeVela 5 Tian Yuan (天元) https://kubevela.io/ https://github.com/oam-dev/kubevela KubeVelaは、プラットフォームビルダー向けのシンプルで使 いやすく、拡張性の高いクラウドネイティブプラットフォーム構 築エンジン。

    最終目標はプラットフォームチームが、さまざまなビジネスシ ナリオに適しており、Kubernetesネイティブの方法でユー ザーと直接向き合うことができるクラウドネイティブプラット フォームを迅速かつ効率的に作成できるようにすることです。 例:アプリケーションPaaS、データベースPaaS、AIPaaS または継続的デリバリーシステムの構築など。 機能と環境は「テンプレート」によって抽象化されるため、 Kubernetesを学ぶことなくKubernetesをシームレスに 使用することができます。
  4. Dragonfly 6 Bade(巴德) https://d7y.io/en-us/ https://github.com/dragonflyoss/Dragonfly Dragonflyは、クラウドネイティブ空間におけるアプリケー ションのイメージ配信の問題を解決することを目的とした P2Pファイル配信プラットフォーム。 Kubernetesネイティブの大規模アプリケーションなどにお いて、アプリケーションの更新やファイルのやりとりに時間が

    かかることや、成功率が低い問題、帯域の浪費などの問 題から開発。 ファイルとImageの配布機能を統合し、 P2P形式でファ イル配布を行うため、Alibaba は11月11日独身の日に Dragonflyを使ったKubernetesネイティブの大規模アプ リケーションを運用。
  5. OpenKruise 7 Jiuzhu(酒祝) https://openkruise.io/ https://github.com/openkruise/kruise OpenKruiseは、大規模アプリケーション向けの Kubernetes自動管理エンジン。 Alibaba Cloudが長年培ってきたコンテナ化とクラウドネイ ティブ技術から生まれたもので、Alibaba

    Cloudの社内の 本番環境で大規模に適用するためのKubernetesを ベースにした標準的な拡張コンポーネントです。 OpenKruise の機能の1つにimpress updateがあり、 リリース時にコンテナを再作成・スケジュールする事なく Pod のイメージのみをアップグレードする事ができます。 Alibaba Cloudの環境ではこの機能を利用し、従来の アップグレードよりも展開速度が80%以上向上。
  6. OpenYurt 8 Xinsheng(新胜) https://github.com/openyurtio/openyurt https://openyurt.io/en-us/ OpenYurtは、Kubernetesの強力なコンテナアプリケー ションオーケストレーション機能を活用しながら、 「クラウドエッジインテグレーション」として変更は"最小限"に しつつアプリケーションの配布、配信、制御に関するクラウド エッジインテグレーション。

    OpenYurtは、ユーザーが大規模なエッジおよびエンドリ ソース上の大規模アプリケーションの配信、維持、制御の 問題を解決するのに役立ちます。 OpenYurtを設計した当初は、ユーザーエクスペリエンスを 一貫したものにすること、ユーザーのO&Mの負担を増やさ ないこと、そして「kubernetesネイティブにエッジに拡張 する」という、ユーザーにとって本当に便利なものにすること を重視としていました。
  7. Fluid 9 Cheyang(车漾) https://github.com/fluid-cloudnative/fluid https://fluid-cloudnative.github.io/ Fluidは、ノード(computing)とストレージの分離を必 要とするシナリオ(AIやビッグデータなど)にて、ストレージ からデータを抽象化する効率的なレイヤーです。 データアフィニティスケジューリングと分散型キャッシュエンジ ンアクセラレーションにより、ノード(computing)とスト

    レージ間のデータアクセスを高速化します。 データをストレージから独立して管理し、Kubernetesの 名前空間を介してリソースを分離することで、データを安全 に分離することができます。 そのため、異なるストレージからのデータをノード (computing)と連携させることで、異なるストレージ ごとのばらつきによるデータサイロを解消することができます。
  8. KubeDL 10 Qiusuo(求索) https://github.com/kubedl-io/kubedl https://kubedl.io/ KubeDLは、深層学習のトレーニングやサービングのワー クロードをKubernetes上でより簡単かつ効率的に実行 するレイヤーです。 1つのコントローラで深層学習のトレーニングとサービング のワークロードをサポートし、メンテナンスのオーバーヘッド

    を削減することができます。 その他に、メタデータの永続性、ファイルの同期、スケ ジューリングの改善、ホストネットワーク上で動作するト レーニングワーカー、ダッシュボード、MLモデル提供のため の自動設定、モデルのバージョニングとリネージなど、多く の機能がサポートされているため、深層学習を使った 大規模で多様な本番利用やKubeflow/MLflowの ようなプロジェクトでも柔軟にサービス構築することができ ます。
  9. Kubernetesを中心としたサービス基盤シナリオがマルチク ラスタやマルチクラウド、ハイブリッドクラウド環境だった場合 でも、単一のKubernetesクラスター・プラットフォーム上と 同じように、マルチクラスターやハイブリッド環境での機能開 発を容易に行えるようにするプラットフォーム。 マルチクラスター、ハイブリッド環境におけるリソース、アプリ ケーション、コンフィグレーション、ポリシーなどのオブジェクト のライフサイクル管理に対応することを目的としています。 Kubernetesでスケールアップをする場合、 Kubernetes

    の現在の規模を定量化することが困難なので、リソース割 り当てが効率よくないというスケーラビリティの問題に対し、 複数のKubernetesクラスタの分散を事前にプラニング評 価しながら、マルチクラスタフェデレーションを行うので、ス ケーラビリティの問題を排除してくれます。 Open Cluster Management 11 Fengyong (冯泳) https://open-cluster-management.io/ https://github.com/open-cluster-management-io
  10. sealer 12 Zhongyi (中奕) https://github.com/alibaba/sealer sealerは分散アプリケーション用のパッケージ化された配 信プラットフォーム。 分散アプリケーションとそのデータベース・ミドルウェアの依存 関係をパッケージ化することで、複雑なアプリケーションの 配信の問題を解決するために開発。

    Cluster Imageと呼ばれ、そこにはkubernetesが組み 込まれており、分散アプリケーションの配信における一貫性 の問題を解決します。 Cluster Imageは、レジストリにプッシュすることで他の ユーザーと共有することができますし、非常に一般的な分 散型ソフトウェアを公式リポジトリで見つけて直接使用する こともできます。
  11. Inclavare Containers 13 Qianyue (乾越) https://inclavare-containers.io/ https://github.com/alibaba/inclavare-containers Inclavare Containersは、機密コンピューティングシナリ オのためのオープンソースコンテナランタイムです。

    Inclavare Containersは、機密コンピューティングのため の高い利用障壁を払拭し、ユーザーのワークロードに複数 の異なるEnclaveフォームを提供することで、より多くの選 択肢と柔軟性を提供します。 Alibaba CloudとAnt Groupが主導し、インテルやその 他のパートナーと協力して業界で初めて構築されました。 現在金融等、セキュリティ要件が厳しい業界向けに頻繁に 利用されています。 https://openanolis-downloads.oss-cn- beijing.aliyuncs.com/meetup/Inclavare- Containers_Overview_rev11.pdf
  12. Vineyard 14 Xiheng (溪恒) https://v6d.io/ https://github.com/AliyunContainerService/terway Vineyardは、クラウドネイティブ環境におけるビッグデータ 分析シナリオのエンド・ツー・エンドのワークフローにインメモリ データ共有を提供するために設計された分散型エンジン。 大きなデータを処理する際、タスク間で中間データを共有

    するために、通常、HDFS、S3、OSSなどの分散ファイル システムやオブジェクトストレージシステムが使用されます。 このエンド・ツー・エンドのワークフローにおけるタスク間の データ共有をより効率的にするために、Vineyardによるイ ンメモリーマッピングによってシステム間で素早いデータ共有 を提供します。
  13. 中国のk8sサービス基盤開発事情 16 AWS k8s(EKS)でサービス基盤を作るときは、 Alibaba Cloudのk8s(ACK)で作って、 そのテンプレート(yaml)をコピーして AWS k8s(EKS)へデプロイするのが主流 AWS

    k8s (EKS)はウィザードもなく、 またクラスタタイプやノードタイプの設定がないため、 Alibaba Cloudのk8s(ACK)で作って その結果をコピーしたほうが安全だったのもある Alibaba Cloud Container Service for Kubernetes copy