Kubernetes の応用分野の概要

Kubernetes の応用分野の概要

Kubernetes は、アプリケーションの移植性とハイブリッド クラウド/マルチクラウドの展開をサポートする柔軟性により、コンテナ オーケストレーション戦争のリーダーとなっています。オープンでスケーラブルなコンセプトと相まって、周囲のコミュニティは非常に活発です。既存の調査結果から判断すると、Kubernetes はコンテナ オーケストレーション分野の標準となっています。しかし、まだ成熟しておらず、改善の余地がまだたくさんあります。そのいくつかを次に示します。

1. クラスターフェデレーション

Kubernetes は集中型のコンテナ管理ツールです。水平的に言えば、クラスター管理ツールには分散型と共有型も含まれます。 YARN や Kubernetes などの代表的な分散コンテナ管理ツールとの違いは、YARN のホストマシンがコンテナを管理するマスターとして機能することです。割り当て速度は非常に速いです。 Kubernetes はクラスターを単位として使用するため、リソースの割り当てがより適切になります。共有管理はGoogle社内のBorgで使用されており、より高度な配布方法であると言われています。

現在、最も人気のあるコンテナ管理ツールはKubernetesです。ストレージなどのボトルネックにより、クラスターの規模が大きい場合は、複数のクラスターに分割して個別に管理する必要があります。複数のクラスターを 1 つのクラスターのように統合管理するために、業界ではクラスター フェデレーションの概念が考案されました。これは、基盤となる複数のクラスターを外部的には 1 つのクラスターのように動作させることです。この技術はまだ十分に成熟しておらず、この分野では大きな発展の可能性があります。

2. スケジューラ

Kubernetes のスケジューラ モジュールはあまり開発されていないため、Kubernetes にパッチを提出する意思のある学生はこの部分から始める必要があります。提出したパッチは採用される可能性が高く、貢献者の 1 人になることができます。

大企業で実際に利用されています。多くの場合、車輪の再発明によりこの部分が書き直されます。

3.etcd

Kubernetes はストレージに etcd を使用するため、Kubernetes の容量ボトルネックが直接発生します。多くの企業がこの点に関して最適化を行っています。 Alibaba は etcd の上に Tair キャッシュのレイヤーを追加しました。 JD は etcd を mysql に置き換えました。

4. DNS

Kubernetes の DNS は大企業ではほとんど使用されません。大企業では一般的に、独自のサービス登録および検出メカニズムと命名規則を持っているためです。

5. ビタミンA

Kubernetes のポッドレベルの自動拡張は、コンテナで使用できるリソースの量を拡張するために、HPA の水平拡張と VPA の垂直拡張の 2 つのレベルに分かれています。 HPA 容量を水平方向にスケールアウトするのは簡単です。コンテナを縮小してから、より大きな構成で拡張するだけです。 VPA を垂直にスケーリングすることはインプレース アップグレードとも呼ばれますが、これは面倒です。 k8s コンテナ自体が docker プロセスだからです。 VPA はプロセスの再起動を必要としないアップグレードです。

6. プラグイン

Kubernetes にはコアとなる機能は多くありません。多くの機能はプラグインの形で提供されており、ユーザーはインターフェースを実装して独自のプラグインを作ることができます。

7. コンテナオーケストレーション

上記のすべてが成熟した後でも、Kubernetes には依然として最大の問題が残っています。リソース活用の問題を解決するために生まれました。そのため、アルゴリズムや AI レベルを通じてリソースの利用率をさらに向上させる必要があります。したがって、Kubernetes 関連の開発者にとって、Go 言語とアルゴリズムの学習は必須のスキルです。

以下もご興味があるかもしれません:
  • クラウドネイティブテクノロジー Kubernetes (K8S) の紹介
  • Kubernetes 環境に単一ノードの Redis データベースをデプロイする方法
  • Python3 kubernetes api の使用例
  • Kubernetes に Spring Cloud Data Flow をデプロイする方法
  • Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル
  • kindとDockerを使用してローカルKubernetes環境を起動する
  • Kubernetes オブジェクトボリュームの詳細な使用方法
  • CentOS で Rancher2 をインストールし、Kubernetes クラスターを構成するためのグラフィック チュートリアル
  • クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明

<<:  MySQL のメモリ使用量と CPU 使用率が高い場合のテストと解決策

>>:  言及すべき8つのMySQLの落とし穴を共有する

推薦する

Vue 開発ツリー構造コンポーネント (コンポーネント再帰)

この記事では、Vue開発ツリー構造コンポーネントの具体的なコードを例として紹介します。具体的な内容は...

Reactのref属性を深く理解する方法

目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...

CentOS 7 で RPM を使用して mysql5.7.13 をインストールする

0. 環境この記事のオペレーティング システム: CentOS 7.2.1511 x86_64 My...

JS を使用してクリップボード内の Excel コンテンツを解析する方法

目次序文1. イベントとクリップボードを貼り付ける2. クリップボード内のコンテンツ形式3. HTM...

ウェブページ経由で jar パッケージを Nexus にアップロードする方法

Maven を使用してプロジェクトを管理する場合、jar パッケージをプライベート ウェアハウスにア...

一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録

目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...

RPM パッケージを使用して MySQL 5.7.18 をインストールするチュートリアル

システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...

MySQLの共通関数の概要

序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...

MySQLの分離レベルとロックメカニズムの詳細な説明

目次簡単な説明: 1. 取引の4つの特徴2. 複数の同時トランザクションによって発生する問題3. ト...

Linux システムの busybox に mkfs.vfat コマンドを移植する

オーディオおよびビデオ ファイルを保存するためのディスク寿命を延ばすには、ディスクをフォーマットする...

docker を使用した pxc クラスターのインストールに関する詳細なチュートリアル

目次序文事前準備ディレクトリを作成するcustom.cnf を作成する証明書を作成するpxc クラス...

CSS3 フィルター属性の使い方の紹介

1. はじめにフロントエンドページのアニメーション効果を記述する場合、filter 属性は多かれ少な...

MacでのMySQL初期化パスワード操作

Macでデータベースを操作する際に個人が遭遇するデータベース起動の問題の簡単な記録1. Apple-...

CSS の clip-path プロパティの使用方法の詳細な説明

クリップパスの使用ポリゴン値は複数の座標点で構成されます。最初の値は x 方向、2 番目の値は y ...

Linux で独自の Nexus プライベート サーバーを構築する方法

この記事では、Linuxサーバー上でDockerを使用してNexusプライベートサーバーを構築する方...