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

推薦する

HTML フォームを送信するいくつかの方法_PowerNode Java Academy

方法1: 送信ボタンから送信する <!DOCTYPE html> <html>...

Vue3 Vue CLI マルチ環境設定

目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...

Vueはソースコード付きのリファレンスライブラリのメソッドを使用します

monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...

Tomcatがセッションを管理する方法の例

ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...

CSS3 フレックスレイアウトを使用して要素を均等に分散するサンプルコード

この記事では主に、CSS3 フレックスレイアウトを使用して要素を均等に配置する方法を紹介します。自分...

Linuxはlsofコマンドを使用してファイルのオープンステータスを確認します

序文Linux では「すべてがファイル」であることは誰もが知っているので、ファイルのオープン状態を確...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

Vueはツリー構造の追加、削除、変更、チェックのサンプルコードを実装します

実は多くの会社がユーザー権限ツリーに似た機能を持っています。最近、追加、削除、修正のツリー構造を書き...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル

yum か rpm か? yum によるインストール方法は非常に便利ですが、公式サイトから MySQ...

クールなIoT大画面機能を実現するHTML+VUEページング

効果デモ.html <html> <ヘッド> <メタ文字セット=&qu...

openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)

目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...

MYSQL 演算子の概要

目次1. 算術演算子2. 比較演算子3. 論理演算子4. ビット演算子5. 演算子の優先順位1. 算...

Dockerfile ビルド中に発生する「/bin/sh: pip: コマンドが見つかりません」という問題の解決方法

記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...

Win10システムにMySQL 8.0をインストールするときに発生する問題を解決する

Win10 システムに MySQL 8.0 をインストールする際に発生する問題と解決策は次のとおりで...