生産におけるKubernetesの成功事例。 パート1:eBayの4200か所とTessMaster

インフラストラクチャプロジェクトの初期に頻繁に発生し、急速に人気を博しましたが、多くの人はKubernetesを見てその能力と成熟度を評価するだけでしたが、他の人は最初の「大人」を受け入れて、運用(全体または一部)に移行し、テストし、立ち上げました操作経験。 この記事では、Kubernetesを生産に使用している有名企業の世界的慣例からの例のレビューサイクルを開始します。







:すべての例は、OpenShift(Red Hat)やTectonic(CoreOS)などの派生物ではなく、オリジナルのKustreamnetesアップストリームディストリビューションの使用について説明しています。



eBayから始めましょう。eBayの専門家はKubernetesと2年以上真剣に取り組んでおり、この点で大きな進歩を遂げています...



2015:始まり



そのため、2015年に最大規模のeBayオンラインストアの1つ(利益で世界のトップ10のインターネット企業の1つ) Kubernetes を導入し始めました 。 KubeCon 2015カンファレンスでeBayクラウドチームのAshwin Raveendranが語ったように、当時15万台以上のサーバーを持っていた彼の会社は、OpenStackクラウドベースのオープンソースプラットフォーム上でのKubernetes実装の最初の公開例の1つでした。





(OpenStack Day Seattle 2015 でのeBayプレゼンテーションでのOpenStack 上のKubernetesからのスライド)



KubernetesをeBayに適応させる初期段階は、「アプリケーションを展開するためにコンテナーに切り替えるだけでなく、社内のアプリケーションのライフサイクルを変更することでもありました」。これは開発者のニーズに応えたものでした。 同時に、eBayは「実行可能環境としてコンテナーを使用し、これらのコンテナーを管理するためにOpenStack上のKubernetesを使用して、より柔軟な展開モデルに移行する計画」について話しました。 eBayのKubernetesのインストールは内部名Tess.IOを取得しましたが、このフォーク(?)の機能に関する公開情報は見つかりませんでした。 (Tess.IOコードを開くeBayの計画に関する報告はありません。同社のGitHubアカウントに 、Kubernetesコードベースのフォークがあり、2015年以降は更新されていません。)



2016年:最初の結果



Tess.IOの最初の言及から1年後、同社のクラウドインフラストラクチャディレクター(Suneet Nandwani)から、7つのKubernetesクラスターがeBayで動作し、各クラスターが約100台の物理サーバーに対応していることがわかりました。 彼らと連携するために、同社はOpenStackと統合されたTessMasterと呼ばれる単一の管理インターフェースを準備しました。



これまでのところ、ソースなしで小さなREADMEとしてのみGitHubに公開された新しいeBayプロジェクトは、オーケストレーションツール(Docker Swarm、Kubernetes、Apache Mesos)をクラウドプラットフォームに統合するためにOpenStackが提供する公式APIであるOpenStack Magnumの代替として位置付けられました。 Magnumは、 Heat (インフラストラクチャとアプリケーションのライフサイクルを管理するためのOpenStackの主要なオーケストレーションサービス)を使用して、オペレーティングシステムイメージを調整し、クラスター構成の仮想マシンまたはベアメタルで実行します。



2016年のSuneet Nandwaniの言葉から:

「Kubernetesの適応に非常にコミットしました。 eBayの開発チームは、開発環境とテスト環境用のDockerコンテナーを愛しており、KubernetesはDockerをサポートおよび制御しています。 開発環境とテスト環境に加えて、コンテナ内で本番アプリケーションの実行を開始しました。 各アプリケーションは、さまざまなコンポーネントと依存関係を実装するコンテナのセットで表されます。 [..]今年、Kubernetesで4つのアプリケーションを開始しました。 アプリケーションがどのように機能し、開発者がどのような柔軟性を持っているかについて、大きな可能性を見出しています。」


2016年末現在、eBayで生産されている約2,000個のコンテナがKubernetesで管理されており、この数を「近い将来に数万個に」増やすことを約束しました。



KubernetesまたはApache Mesos?



このケースをさらに興味深いものにしているのは、eBayとKubernetesに関する最初のニュースの1年半前、2014年4月に同社のエンジニアが、Kubernetesの直接のライバルであるApache Mesos(およびMarathon、ZooKeeper、ジェンキンス):







さらに、eBayはMesosを使用している組織の現在のリストにまだあります。 ただし 2016年12月28日付のInformationWeek資料では、同じSuneet Nandwani(eBayのクラウドインフラストラクチャおよびプラットフォームのディレクター)の言葉を参照しており、2015年に既存のオーケストレーションソリューションから選択したと主張しています*。 開発者はコードのテストと配信の際にコンテナの利便性を高く評価していたにもかかわらず、「既存のインフラストラクチャ内でDockerを単独で起動するのは非常に困難でした」ため、便利なメンテナンスが必要でした。 当時はDocker Swarmはありませんでした。ApacheMesosとKubernetesの選択は後者に有利になりました。このシステムは、Dockerコンテナとともに内部テストの結果に基づいて最も成熟したソリューションと見なされたためです。



*この記事は2016年を示していますが、別のSuneetプレゼンテーション(以下を参照)+ Tess.IO開発者の1人のプロファイルは、eBayでのKubernetesの積極的な使用(Tess.IOの作成)が2015年以前に始まったことを示しています。







2017年:現在と展望



Suneet Nandwani 、2017年5月にボストンで開催されたOpenStack Summitで講演し、eBayのKubernetesはプライベートOpenStackクラウド上で引き続き実行され、現在4,200ポッドで178個のアプリケーションを提供していると述べました。







:eBayのOpenStackクラウド全体(2017年5月現在)には、16.7万の仮想マシンと4000のアプリケーションがあり、トラフィックの95%を処理しています。 これは、世界最大のOpenStackインストールの1つです!



同じレポートの一部として、eBayのスペシャリストがKubernetesを選択した理由について詳しく説明しました。 それらは呼ばれました:





EBayのエンジニアは、Kubernetesでステートフルアプリケーションとステートレスアプリケーションの両方を起動します。特定のアプリケーションには、人工知能プラットフォーム、ネットワーク管理自動化ソリューション、ElasticSearch、Apache Kafka、分散NoSQLソリューションなどがあります。



Kubernetesの実装および運用中に発生した主な問題のグループは、このスライドにリストされています。







Kubernetesの実装の初期段階でそれらを克服する方法の技術的な詳細は、eBayレポートの2015 Cloud-Scale Kubernetes (KubeCon 2015のAshwin Raveendran)に記載されています。 そして、これらの問題のいくつかに対するより完全な解決策は、当社製品の開発で見つかりました。



テスマスター



eBayで作成された前述のTessMasterソリューションは、さまざまなプロバイダー(パブリック/プライベートクラウド環境、ベアメタル)によってホストされるKubernetesクラスターのライフサイクル全体の管理を提供することを目的としています。 仮想化(つまり、鉄のサーバーに加えてインフラストラクチャを形成するVM)から、TessMasterは現在OpenStackとVirtualBoxをサポートしています。



TessMasterは、エンドユーザー(DevOpsエンジニア)向けに、インフラストラクチャ全体(Kubernetesクラスター)を視覚化するWebインターフェイスを提供します。 地域、アベイラビリティーゾーン、ネットワークパス(devやprodなど)ごとに分類されています。 各クラスターについて、使用されるリソースと使用可能なノードが表示されます。クラスター内の仮想/物理サーバーとノードのリストを表示するために「移動」できます。文字通り数回クリックするだけでノードの数を変更できます(つまり、Kubernetesクラスター構成を変更して確認できます)明らかに、リアルタイムで、この変更がどのように適用されるか)。







TessMasterプレゼンテーションの最大の利点は、eBayが開発を数か月以内に「オープンソースプロジェクト」として公開することです。」 イベントが5月に開催されたことを考えると、このイベントは近い将来に予想されるはずです。 次に、Webインターフェイスの他のタブの後ろに隠れているこの開発の他の機能について学びます。既存および潜在的な大規模なKubernetesユーザーは、大規模クラスターの便利な操作のための非常に興味深いツールを受け取ります。



PS



このシリーズの以下の記事を見逃さないように、またすでに利用可能な他の出版物に注意を払うように、ブログを購読してください。







サイクルからの他の記事






All Articles