2013 年に戻りましょう。単純な docker run postgre コマンドで Postgre のような複雑な従来のサービスを実行できるようになったとき、開発者は衝撃を受け、啓示を受けたように感じました。 Docker に代表される実用的なコンテナ技術の出現は、アジャイル インフラストラクチャへの扉が開かれようとしていることも示しています。その後、すべてが急速に発展し始めました。
しかし、この記事では、コンテナが Kubernetes の最も重要で価値のある部分ではないこと、そして Kubernetes が広い意味で単なるワークロード スケジューラではないことを説明します。さまざまな種類のワークロードを効率的にスケジューリングすることは、Kubernetes が提供する重要な価値の 1 つに過ぎず、それが成功の理由ではありません。 APIはコアです「ちょっと待ってください。Kubernetes は単なる API の集まりですか?」 「ごめんなさい、いつもそうなんですよ!」 Kubernetes の成功と価値は、ソフトウェア定義のインフラストラクチャ サービス (この記事で言及されている「インフラストラクチャ」は IaaS よりも大規模です) を記述および使用するために使用できる標準プログラミング インターフェイス (API) を提供することにあります。
これをさらに説明するために、Kubernetes 以前のシナリオを考えてみましょう。 Kubernetes以前: 各ベンダーが独自の車輪を再発明し、パッケージベンダーは異なるAPIを持っていたKubernetes 以前のインフラストラクチャは、基本的にさまざまな API、フォーマット、セマンティクスを備えた「クラウド」サービスの寄せ集めでした。
Terraform などのツールの登場により、ベンダー間で共通のフォーマットが提供されていますが、元の構造とセマンティクスは依然として多様であり、AWS 用に記述された Terraform 記述子は Azure では使用できません。 Kubernetes の登場: 標準化されたクロスベンダー API、構造、セマンティクスそれでは、Kubernetes が最初から提供してきたもの、つまりさまざまなリソース要件を記述するための標準 API について見てみましょう。例えば:
これらの API はパブリック/プライベート クラウドおよびクラウド ベンダーにまたがっており、各クラウド ベンダーは Kubernetes の構造とセマンティクスをそれぞれのネイティブ API に接続します。したがって、Kubernetes はソフトウェア定義のインフラストラクチャ (つまり、クラウド) を管理するための標準インターフェースを提供すると言えます。つまり、Kubernetes はクラウド サービスの標準 API フレームワークです。 Kubernetes API 拡張機能: CRDコア インフラストラクチャ (Pod/Service/Volume/ServiceAccount/…) を宣言するためのベンダー間の標準構造とセマンティクスのセットを提供することが、Kubernetes の成功の基盤となります。これに基づいて、CRD (カスタム リソース定義) を通じてこの構造をあらゆるインフラストラクチャ リソースに拡張します。 CRD は 1.7 で導入され、クラウド ベンダーと開発者は Kubernetes の spec/impl プログラミング フレームワークを独自のサービスに再利用できるようになりました。 CRD を使用すると、ユーザーは Kubernetes API によって事前定義されたコンピューティング、ストレージ、ネットワーク サービスを宣言できるだけでなく、データベース、タスク ランナー、メッセージ バス、デジタル証明書など、クラウド ベンダーが考えつくあらゆるものを宣言できます。 Operator Framework や SIG API Machinery などのプロジェクトの登場により、これらの CRD を簡単に作成および管理できるツールが提供され、ユーザーの作業負荷が最小限に抑えられ、標準化が最大限に高まります。 たとえば、Crossplane などのプロジェクトは、コア Kubernetes コントローラーが独自のコントローラーを使用してネットワーク カードやディスクなどのカスタム リソースを管理するのと同じように、RDS データベースや SQS キュー リソースなどのベンダー リソースを Kubernetes API にマッピングします。 Google や RedHat などの Kubernetes ディストリビューターも、ベース Kubernetes ディストリビューションにカスタム リソース タイプをますます多く含めるようになっています。 まとめKubernetes の中核は API フレームワークであると言われていますが、この API フレームワークが完璧であるという意味ではありません。実際、Kubernetes モデルは事実上の標準となっているため、後者の点は (あまり) 重要ではありません。開発者はそれを理解し、多数のツールが積極的にそれに接続し、主流のメーカーはすでにそれをネイティブにサポートしています。多くの場合、ユーザーの受け入れと相互運用性が、他のどの側面よりも製品の成功を決定します。 Kubernetes リソース モデルの人気が高まるにつれ、Kubernetes リソースのセットを使用してソフトウェア定義のコンピューティング環境全体を記述できるようになりました。 docker run を使用して単一のプログラムを起動するのと同じように、kubectl apply -f を使用して、分散アプリケーションをデプロイして実行できます。その際、プライベート クラウド上にあるか、パブリック クラウド上にあるか、またはどのクラウド ベンダー上にあるかを気にする必要はありません。 Kubernetes API フレームワークはこれらの詳細を保護しています。 したがって、Kubernetes はコンテナではなく API に関するものです。 |
<<: クラウドネイティブに殺されなかった運用担当者がSREに転身…
>>: クラウドコンピューティング2022年上半期レビュー:全体的なパターンは変わらず、イノベーションは引き続き出現
最近、この問題について考えていました。インターネット業界の標準化が進むにつれて、ますます多くのいわゆ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています1. シン...
クエストモバイルが今年2月に実施した調査によると、月間アクティブユーザー数が11億人を超えたWeCh...
モバイルインターネットの強力な影響から生まれた製品チェーンは、これまで業界関係者に衝撃を与えてきまし...
現在、コストの削減、セキュリティの強化、管理の改善、パフォーマンスの向上など、Oracle の自律型...
質問 1: Xiong Zhang アカウントホームページの操作位置、背景画像、カスタム列を取得して...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス1. インターネット業界...
今年 7 月、私はいくつかの海外ドメイン名再販業者からの最新のプロモーション情報を共有し、誰もがお金...
1997年の3平方メートルの「寒流かき氷」から20年以上後の「万店王」まで、沈没市場の神であるミック...
中国インターネットネットワークインフォメーションセンター(CNNIC)による2008年中国検索エンジ...
国慶節の休暇前、誰もが、制作に3億元近くかかった列車のチケット予約サイトについて不満を漏らしていた。...
ブログプロモーションを行う医療SEO担当者は、Sina Blogと39 Blogをよくご存知だと思い...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますこれらのデ...
メタディスクリプションは、ウェブサイトのページの説明文であり、検索エンジンがページの主なコンテンツを...
[51CTO.com からのオリジナル記事] 最近、ZStack はネットワーク アーキテクチャ V...