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

推薦する

JavaScript はスローモーションアニメーションのカプセル化と使用法を説明します

プロセス分析の実装(1)繰り返して電話をかけるには?答え: 関数をカプセル化して一度だけ呼び出すコー...

Zabbix Agent2を使用してOracleデータベースを監視する方法

概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...

画像の盗難を防ぐために Nginx で Referer を設定する方法

サーバーの画像が他のウェブサイトからホットリンクされると、サーバーの帯域幅とアクセス速度に影響します...

MySQL での外部キーの作成、制約、削除

序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...

自動ウェブページ更新と自動ジャンプのサンプルコード

ウェブページの自動更新: <head></head> の間に次のコードを追加...

自己終了XHTMLタグを書くときに注意すべきこと

XHTML の img タグはいわゆる自己終了タグであり、XML では完全に合法です。 XHTMLの...

Reactの3つの主要属性における状態の使用の詳細な説明

目次クラスコンポーネント機能コンポーネントsetStateの落とし穴React では多くの場所でデー...

CSS3 のエラスティック レイアウトでの em の使用の概要: 1em は何ピクセルですか?

私は長い間 CSS を使用してきましたが、Web 要素の関連属性を設定するために常に「px」を使用し...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

Vue大画面表示適応方法

この記事では、vueの大画面表示適応の具体的なコードを参考までに紹介します。具体的な内容は以下のとお...

VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法

今日は、サンダーファイタータイピングゲームを実装します。ゲームプレイは非常に簡単です。それぞれの「敵...

MySQL の日付型の単一行関数コードの詳細な説明

MySQL の日付型単一行関数: CURDATE()またはCURRENT_DATE()は現在の日付を...

Vueでjsonpを使用する方法

目次1. はじめに2. インストール3. 使用4. vueファイルの使用1. はじめに最近、手書き入...

nginx で同時接続リクエストの数を制限する方法

導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...