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を最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in ...

あまり一般的ではないが便利な CSS 属性操作の完全ガイド

1. カスタムテキスト選択 ::選択{ 背景: 赤; 色: 黒; } 2. ビデオコントロールからダ...

ブラウザのキャッシュを防ぐために、js または css の後に ?v= バージョン番号を追加します。

コードをコピーコードは次のとおりです。 <span style="font-size...

JavaScript の onblur および onfocus イベントの詳細な説明

HTML ページでは、ボタンやテキスト ボックスなどの視覚要素にフォーカスを設定したり、フォーカスを...

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景Shell の mysql-client を介して MySQL データベースにログインする場合、...

MySQL ソート機能の詳細

目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...

CSSを使用してAndroidシステムの読み込みアニメーションを実装する

Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...

PSSHを使用してLinuxサーバーを一括管理する

pssh は、多数のマシンでのバッチ ssh 操作に使用される、Python で実装されたオープン ...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...

要素の幅(高さ)の適応を実現するCSSおよびCSS3の柔軟なボックスモデル

1. CSSは左の固定幅と右の適応幅を実現します1. ポジショニング <!DOCTYPE ht...

MySQL/MariaDB でピボット テーブルを実装する方法のサンプル コード

前回の記事では、Oracle でピボット テーブルを実装するいくつかの方法を紹介しました。今日は、同...

JS ES の新機能、変数分離割り当て

目次1. 配列の分離割り当て1.1 配列分離割り当てとは何ですか? 1.2 配列分離割り当てに失敗し...

Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明

1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...

Linux リモート開発に vs2019 を使用する方法

通常、Linux プログラムを開発する場合、次の 2 つのオプションがあります。 Linux上で直接...