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の落とし穴を共有する

推薦する

MySQLクエリキャッシュの簡単な使い方の詳細な説明

目次1. クエリキャッシュの実装プロセス2. クエリキャッシュを構成する3. クエリキャッシュを有効...

MySQL 文字セットの文字化けとその解決方法

序文文字セットは、一連のシンボルとエンコード規則です。Oracle データベースでも MySQL デ...

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行docker run -d --name consul -p 8500:8500 co...

Vue ブラウザログアウトの実装例

目次1. beforeunload イベント2. アンロードイベント3. ソースコードプロジェクトの...

TypeScript におけるインターフェースと型メソッドの正しい使用例

目次序文インタフェースタイプ付録: インターフェースとタイプの違い要約する序文インターフェースとタイ...

nginx リバース プロキシでの proxy_pass の実装

フォーマットはシンプルです: proxy_pass URL; URL には、送信プロトコル (htt...

Linux で crond ツールを使用してスケジュールされたタスクを作成する方法

序文Crond は Linux のスケジュール実行ツール (Windows のスケジュールされたタス...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

MySQL UPDATE ステートメントの非標準実装コード

今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...

Maven+Tomcat 基本イメージを構築する Docker の実装

序文Javaプログラミングでは、ほとんどのアプリケーションはMavenに基づいて構築されており、配信...

divの背景を透明に設定する方法の例

div の背景を透明にする一般的な方法は 2 つあります。 1. 不透明度属性を 0 ~ 1 の値に...

Vue コンポーネント (Vuex を含む) 間の値の転送に関する簡単な説明

目次父から息子へ:息子から父へ: Vuex を使用せずにコンポーネント間で値を渡す方法は、親から子、...

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...

詳細なLinuxインストールチュートリアル

(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...

Vue ElementUI で Excel ファイルを手動でサーバーにアップロードする方法の詳細な説明

目次概要プロパティ設定処理ロジック概要具体的な需要シナリオは次のとおりです。 Excel ファイルを...