Kubernetes ソースコード分析: リソースと API

Kubernetes ソースコード分析: リソースと API

この記事は、Kubernetes の基本原理をより深く理解するために、学習目的で Kubernetes ソースコードを分析する一連の記事です。

この記事では、マスターブランチ (https://github.com/kubernetes/kubernetes) を使用して、主に kubernates の関連コンポーネントを紹介します。ご興味があれば、ネットワークシリーズや展開シリーズも参考にしてください。

ご存知のとおり、Kubernetes は API ベースのインフラストラクチャです。 Kubernetes のすべての概念は、さまざまなリソースに抽象化されています。私たちがよく知っていてよく使用するデプロイメント リソース、サービス リソース、configmap リソース、statefulset リソース、サービス アカウント リソースなど、さまざまなリソースにはさまざまな機能があります。 Kubernetes の世界では、さまざまなリソースに対するすべての操作は API に基づいて完了します。 Kubernetes は、リソースに対する基本的な操作を完了するための一連の RESTfull API を提供します。

リソースの分割には基本的に 2 つの次元があります。1 つは名前空間に基づき、もう 1 つはコア リソースであるかどうかに基づきます。まず、名前空間に基づくディメンションを見てみましょう。

  • リソース インスタンスが名前空間で定義されている場合、つまり、名前空間レベルに属している場合、このリソースは、共通デプロイメント、サービス、ポッドなど、現在の名前空間に基づくリソース オブジェクト インスタンスと見なすことができます。
  • リソース インスタンスが Kubernetes クラスター全体で定義されている場合、つまりクラスター レベルに属している場合、このリソースは、共通ノード、クラスター ロール、クラスター ロール バインディング、永続ボリュームなどの非名前空間リソース オブジェクト インスタンスと見なすことができます。

次に、そのリソースがコアリソースであるかどうかという観点から、コアリソースと非コアリソースに分けることができます。

  • 共通のコア リソースには、pod、podtemplate、service、endpoint、configmap などがあります。これらのリソースは、Kubernetes の最も基本的な機能を提供します。たとえば、ポッドはコンピューティング機能を提供し、サービスとエンドポイントはネットワークとアクセス機能を提供し、構成マップは構成機能を提供します。
  • デプロイメント、ステートフルセット、デーモンセットなどの非コア リソースは、より高度な機能を提供します。コア以外のリソースの場合、Kubernetes はグループとバージョンに基づく管理概念を提供し、異なるリソースを同じグループにグループ化します。同じグループ内では、同じリソースに異なるバージョンが存在します。このリソースの構成と構造は、Kubernetes 機能の進化と変更、つまり、さまざまなリソース バージョンを通じてリソース機能を進化および強化するのに非常に役立ちます。

Kubernetes は標準の RESTfull API を提供するため、API の観点から見ると、上記のさまざまなディメンションに基づくさまざまなリソースの操作 API テンプレートは次のようになります。

  • Item1 と Item2 は、コア リソースの操作定義形式です。どちらも URI パス プレフィックスとして /api を使用します。コア リソースにはグループの概念はありませんが、バージョンの概念があるため、バージョン パス変数 ${version} があります。
  • 項目 1 は名前空間に基づくコア リソースに対する操作であるため、定義には名前空間パス変数 ${namespace-name} が含まれます。
  • Item2 は名前空間ベースではないコア リソースに対する操作であるため、定義には名前空間パス変数がありません。
  • 項目 3 と項目 4 は、URI パス プレフィックスとして /apis を持つ、コア以外のリソースの操作定義です。
  • iems3 は、名前空間に基づくコア以外のリソースの操作定義であるため、アクセス パスには、グループ、バージョン、および名前空間のパス変数定義 (つまり、${group-name}、${version}、および ${namespace-name}) が含まれます。
  • Items4 はクラスター全体のコア以外のリソースに基づく操作であるため、定義にはグループ パス変数とバージョン パス変数 ${group-name} と ${version} が含まれますが、名前空間パス変数は含まれません。

さらに、Kubernetes リソースは通常、RESTfull API に直接基づいてではなく、YAML ファイルに基づいて操作します (結局のところ、YAML ファイルは人間よりもユーザーフレンドリーです)。ただし、YAML ファイルの背後では、RESTfull API に変換されます。一般的に、YAML ファイルの形式は次のとおりです。

一般的に、リソースの典型的な YAML ファイルは、タイプ メタ、オブジェクト メタ、および仕様の 3 つの部分に分かれています。

  • タイプ メタは通常、リソースのグループ バージョンと種類情報を定義します。これは、API アクセス パスで定義された ${group-name}、${version}、${resource-kind} などのパス変数に直接対応します。
  • オブジェクト メタは通常、リソース名、それが属する名前空間、ラベルなどのメタデータ情報を定義します。これらは、API アクセス パス内の ${namespace-name} や ${resource-name} などのパス変数に直接対応します。
  • 仕様は一般に、リソースの特定のプロパティと特性を定義します (リソース仕様が異なれば必ず異なります)。また、リクエスト本文の形式で API に対応します。

とりあえずここで止めておきます。次回は、引き続き、リソース内の型メタやオブジェクトメタなどの重要な情報の定義をソースコードの観点から整理していきます。

この記事はWeChatの公開アカウント「TA码字」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合はTAの公式アカウントまでご連絡ください。

<<:  HUAWEI Cloud GaussDB(openGauss用):業界の悩みを解決し、Huaweiの消費者向けクラウドデータベースを分散型クラウドへと変革する支援

>>:  Kafka のパーティションリーダーを変更する方法

推薦する

Baiduのセキュリティリスク警告を削除する方法

9月3日のアップデートで、百度はウェブサイトのセキュリティリスク警告機能を正式に追加しました。ハッカ...

SEO のエキスパートと SEO の敗者を分ける 8 つの領域

SEO 業界は標準化されていません。SEO エンジニアの中には、高額の給与を稼ぎ、大規模な Web ...

Kuaichuhaiが広州で第1回GGCCグローバルゲームマッチメイキングカンファレンスを開催

カンファレンスは、テーマサミット、製品マッチメイキングミーティング、B2B協力展示エリア、エリートプ...

おすすめの大手ブランド米国サーバー: zenlayer、30% 割引、9 つのオプション データ センター、CN2 GIA、10Gbps 帯域幅、月額 118 ドルから

世界的に有名なデータセンターである Zenlayer は、米国でも独自の事業を展開しています。主に米...

百度は山大文学の訴えに応えて著作権のある小説を検索結果の一番上に表示

著作権のある小説が百度の検索結果のトップに表示される(写真提供:テンセントテクノロジー)テンセントテ...

品質を向上させ、入札を簡単にマスターするためのクリエイティブ最適化のコツ

品質は、検索エンジンマーケティング (SEM) において非常に重要な要素です。アカウント全体の最適化...

VMware と NVIDIA が企業に AI をもたらす次世代ハイブリッド クラウド アーキテクチャを発表

VMworld 2020 において、VMware と NVIDIA は、AI 向けのエンドツーエンド...

datarealm-$5/KVM/512M メモリ/10G ハードディスク/1T トラフィック/アリゾナ (西海岸)

Datarealm は比較的古い IDC で、仮想ホスティング、VPS、サーバーなどのサービスを提供...

クラウドデスクトップ時代の新しい標準、デュアルエンジン

電気モーターは加速が速く、環境にも優しいですが、航続距離には限界があります。ガソリンエンジンは燃料補...

おすすめ: Pacific Host - 30% オフ / 仮想ホスト / VPS / サーバー

割引コード: ホリデー、生涯 30% 割引、仮想ホスティング、VPS、サーバー、商用ホスティングを一...

スマート名刺ミニプログラムは販売を可能にし、より便利にします

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

ポータルサイトのローカルサイトは「役に立たない」ものになりつつある。ローカルサイトはどこへ向かうのか?

「人員削減?局閉鎖?」最近、「捜狐が広東と上海の局を閉鎖し、関係する従業員を直接解雇する」というニュ...

Xiaomiはどのように宣伝していますか?

最近、Founder SecuritiesでXiaomiとTencentを比較した興味深いXiaom...

ウェブサイトのランキングはマーケティングの最終目標ではありません。訪問者に焦点を当てることが最善の方法です。

SEMは重要ですか?ウェブサイトのプロモーションを行う際、SEO についてよく話します。実際、SEO...

#BlackFriday# desivps: 年間 26.99 ドル、ロサンゼルス VPS、1Gbps 帯域幅、無制限トラフィック、月 1 回の無料 IP 変更

desivps は今年、ブラックフライデーのプロモーションを実施し、公式には販売されていない「無制限...