K8s のアップグレードにより Didi が 12 時間停止したのですか?

K8s のアップグレードにより Didi が 12 時間停止したのですか?

みなさんこんにちは。ジュン兄です。

少し前に起きた Didi の障害については、皆さんご存知だと思います。 P0 障害を 12 時間のサービス中断として分類することは不公平ではありません。

写真

障害レビュー

運用保守担当者がk8sをアップグレードした際、当初はバージョン1.12から1.20にアップグレードする予定だったが、操作ミスで間違ったバージョンを選択してしまい、クラスターを下位バージョンにダウングレードしてしまったという噂がネット上で流れている。

Didi のアップグレード計画については、以下のDidi Technologyブログでもご覧いただけます。

写真

アップグレードコストを削減するために、Didi はその場でアップグレードすることを選択しました。まずマスターをアップグレードし、次にノードをアップグレードします。 k8s の公式アーキテクチャを見てみましょう。

写真

マスター ノード (公式 Web サイトの図では CONTROL PLANE と呼ばれています) は、3 つの重要なコンポーネントで構成されています。

  • cloud-controller-manager: コンテナオーケストレーションを担当します。
  • kube-api-server: Node ノードの API 登録サービスを提供します。
  • スケジューラ: タスクのスケジュールを担当します。

ポッドは、ノードが kube-api-server に正常に登録された後にのみ実行できます。 Didi のブログからは、インプレース アップグレード方式が採用されていることがわかります。マスターをアップグレードした後、ノードは徐々にアップグレードされます。ノードには再登録プロセスがあります。ただし、このソリューションを選択する場合、運用および保守担当者はそれを繰り返し練習する必要があります。再登録にかかる時間は非常に短く、ユーザーはそれに気付かないでしょう。

ただし、マスターが間違ったバージョンを選択してダウングレードすると、kube-api-server が汚染され、ノードはマスターへの登録に失敗し、すぐにロールバックできなくなります。このようにして、ノードはクラスターによって不健全なノードとみなされ、上のポッドは強制終了され、サービスは停止します。

クラスター隔離

写真

この停止中に議論されたもう一つのホットな話題は、k8s クラスターの分離でした。これは、タクシー配車サービスや自転車サービスなど、複数のサービスが同時にダウンしたことから、それらはすべて同じクラスター上に存在し、分離のために別のクラスターが構築されていなかったことが示されました。これは、ブログで「最大クラスター サイズがコミュニティが推奨する上限の 5,000 ノードを大幅に超えている」と述べられている理由でもあるかもしれません。

もちろん、ビジネスが急成長していたときに、すぐにオンライン化してビジネスを立ち上げるために、1 つのクラスター上に複数のビジネスを構築した可能性もあります。その後、分割するという案もあったようですが、事業成長の余地が少なく、既存のクラスターを維持できることが判明したため、見送られました。

複数のクラスターに分割することによる利点は明らかで、ビジネスの分離、障害の分離、信頼性の向上などが挙げられます。このアップグレードを例に挙げてみましょう。まず、パイロットとして、ビジネス ボリュームが小さい、重要度の低いクラスターをアップグレードしました。アップグレードが成功したら、他のクラスターを 1 つずつアップグレードしました。

しかし、欠点も明らかです。運用と保守の複雑さが増し、コストが増加します。

アップグレードプラン

これまでの数年間、私は大規模なプラットフォーム再構築に何度か参加してきましたが、インプレースアップグレードには関わったことがありません。主な理由は、アーキテクトがインプレース アップグレード ソリューションを選択することにあまり積極的ではないことです。これらは主に以下の考慮事項に基づいています。

  • ビジネスシステムを現地で再構築してアップグレードすることは、それを打倒して再構築するほど徹底的ではありません。
  • ビジネスへの影響を最小限に抑えるために、通常はグレースケールリリースを通じてトラフィックを段階的に新しいバージョンに切り替えます。
  • 交換およびアップグレード計画により、チームの成果をよりよく示すことができます。

Didiのような大企業であれば、運用・保守チームには有名人が揃っていると思います。どのような解決策を採用する場合でも、繰り返し検証されている必要があります。おそらく間違ったバージョンを選択しなければ、その場でアップグレードしても問題はないでしょう。

コストを削減し、効率を高める

滴滴出行のWeiboでの謝罪コメント欄を読んだ後、多くの人が今回の事故の原因はコスト削減と効率化によるもので、コストの高い最前線の運行・保守要員を解雇し、コストの低い新人を維持したためではないかと推測した。

データから判断すると、Didiは確かにコスト削減と効率化を目的として過去2年間に人員削減を行ってきたが、これが事故の直接的な原因であるとは考えていない。

急速な成長段階では、システムを構築するために多くの技術者が必要になります。しかし、国内のインターネットの規模は基本的にピークに達しています。長年事業を運営していると、爆発的な成長はなくなり、システムは非常に安定します。このような状況では、会社にはそれほど多くの技術者は必要なく、メンテナンスのために何人かの人員を残しておけば十分です。

したがって、どの企業であっても、コスト削減や効率化は事業が安定した後に必ず経験しなければならない段階です。 Didi の 12 時間にわたる停止によって引き起こされた損失について考えてみましょう。技術者 1,000 人を雇用するコストよりも高くなる可能性はありますか?

私たち研究開発担当者は、急成長中の企業に入社する機会があれば、そのチャンスをつかんでもっと稼いで、解雇されたらのんびりするべきです。定年まで会社で働くのは難しすぎる。同時に、私たちが会社にもたらす価値も認識する必要があり、優れた技術力を持っているという理由だけで、私たちがその PPT エンジニアよりも価値があると考えてはいけません。

要約する

本稿では、ネット上で広まっている滴滴出行の失敗原因を踏まえ、アップグレード計画やコスト削減、効率化について分析する。いよいよ今年も終わりが近づいてきました。皆様がシステムをしっかりと維持し、年末の評価に影響するような重大な障害を回避できることを願っています。

<<:  クラウドネイティブ アプリケーションを構築するための 6 つのセキュリティのベスト プラクティス

>>:  インタビュアー: 2 フェーズ コミットと 3 フェーズ コミットの違いは何ですか?

推薦する

extravm: 50% オフ、米国/オランダ VPS、100G 防御、無制限トラフィック (帯域幅: 10G 入力/1G 出力)、月額 5 ドル - 2G RAM/2 コア (Ryzen)/30g NVMe

現在、extravm は、米国 (ロサンゼルス、ダラス、マイアミ、ピスカタウェイ)/オランダ (アム...

Kubernetes でのマルチクラスタ管理を簡素化する 3 つのステップ

Kubernetes の導入範囲は業界全体で急速に拡大しています。多くの企業では、世界中での運用ニー...

分散システムのアーキテクチャの探究

分散システムを扱う場合、コンテナを使用してサービスを構築するだけでは不十分です。アーキテクチャの選択...

ウェブサイト最適化のキーワード選択は重要ですが、最適化の取り組みはもっと重要です

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますウェブサイ...

新しいテクノロジートレンド: SaaS セキュリティ構成管理 (SSPM)

攻撃者や悪意のある行為が横行する今日のサイバー時代では、ほとんどの企業はクラウド構成のセキュリティを...

宝月中新小売フォーラム - 企業はどのように新しいマーケティングモデルに変革できるか?

月収10万元の起業の夢を実現するミニプログラム起業支援プラン要約:新しい消費時代と新しいモバイル イ...

VMware は、アジア太平洋地域におけるイノベーションと変革をリードする顧客を表彰する Customer Achievement Awards を授与します。

VMware は本日、VMware のサービスとテクノロジーを活用して優れたイノベーションと変革を達...

テンセントクラウド、中国海外グループ、如英知能が戦略的提携を結び、未来のスマートライフの新しい体験を共同で創造する

6月15日、テンセントクラウド、中国海外企業発展グループ株式会社(以下、「中国海外企業グループ」)、...

ブランドマーケティング手法、この4つのステップを活用しましょう!

人生において、私たちは他人の成功を見て、「成功を再現できるだろうか?」と自問することがよくあります。...

ウェブサイトのキーワードを最適化する方法の詳細な説明

はじめに:すでに受注していてうまくいっている方はこの記事を読み飛ばしていただいて構いません。この記事...

網易雲と杭州オリンピックスポーツ博覧センター浜江建設司令部がクリーンアジア競技大会を支援する重要な協力関係を締結

第19回アジア競技大会は2022年9月10日から25日まで中国杭州で開催される。アジア競技大会会場や...

コンテナの世界の愛と憎しみ

著者 |ルー・アイフェイDocker は過去 2 年間、論争に満ちてきました。たとえば、昨年末、K8...

フレンドリーリンクの誤解を避け、フレンドリーリンクを最大化する方法を分析する

最近、フレンドリーリンクに関する議論は比較的少なくなっています。多くのSEO最適化担当者は基本的に、...

gogirdがクラウドホスティングを導入

GoGrid は、実際の制御機能を提供する世界で唯一のクラウド サービス プロバイダーであると主張し...

WP Keyword Link を使用して WordPress の記事にリンクを自動的に追加する方法

WP Keyword Link は、キーワードの内部リンクと外部リンクを自動的に生成する WordP...