K8s 入門: K8s とは何か

K8s 入門: K8s とは何か

1. 概要

K8s 入門コースへようこそ。 Kubernetes (K8s または Kube とも呼ばれる) は、Google がリリースした業界で最も人気のあるコンテナ オーケストレーターです。この K8s チュートリアルは、K8s に関する一連の記事で構成されています。最初の部分では、K8s とは何か、そして K8s の基本的な概念について説明します。

このコースは初心者向けに設計されており、この技術をゼロから学ぶことができます。 K8s のすべての基本を説明し、これらの概念を理解できるようにします。

K8s の学習を始める前に、コンテナ エンジンとコンテナの基本を理解しておきましょう。

2. コンテナ エンジンとは何ですか?

コンテナ エンジンを使用すると、緩く分離された環境であるコンテナ内でアプリケーションをバンドルして実行できます。分離とセキュリティにより、単一のホスト上で複数のコンテナを操作できます。

コンテナ エンジンは、オペレーティング システムのカーネル リソース分離機能を活用し、同じオペレーティング システム上で複数のコンテナを実行できます。コンテナ エンジンは仮想マシン (VM) とよく比較されます。

一方、仮想マシンは、物理ハードウェア リソース抽象化レイヤーの上に実行可能コードを使用して、オペレーティング システム全体をカプセル化します。

3. コンテナとは何ですか?

コンテナ イメージは、アプリケーションのコードとデフォルト値、システム ライブラリ、実行に必要なすべての重要な設定を含む完全な実行可能プログラムを含む実行可能なソフトウェア パッケージです。

コンテナを使用することで、アプリケーションは基盤となるホスト アーキテクチャから分離されます。下の図に示すように、基盤となるマシンを活用して、コンテナ エンジン上で複数のコンテナを実行できます。これにより、さまざまなオペレーティング システムやクラウド シナリオでのコンテナーの展開が容易になります。

コンテナは、アプリケーションの拡張と展開を容易にすることで、企業の近代化を支援します。ただし、コンテナを使用して完全に新しいインフラストラクチャを構築すると、追加の問題と複雑さも生じます。

大規模から小規模まで、ソフトウェア組織によって毎日何千ものコンテナ インスタンスがデプロイされており、管理の課題がますます大きくなっています。それで、彼らはどうやってそれを実行するのでしょうか?

4. コンテナ オーケストレーションとは何ですか?

コンテナ オーケストレーションは、特に大規模な動的環境におけるコンテナのライフサイクル管理に関連しています。ソフトウェア チームは、コンテナー オーケストレーターを使用して、コンテナー管理のさまざまなタスクを制御および自動化します。

コンテナ オーケストレーターは、コンテナを使用するあらゆる環境で動作できます。同じプログラムを書き換えることなく、複数の環境に展開するのに役立ちます。

5. コンテナオーケストレーションツール

コンテナ オーケストレーション テクノロジーは、コンテナとマイクロサービス アーキテクチャを制御するためのフレームワークを提供します。コンテナのライフサイクル管理は、さまざまなコンテナ オーケストレーター ソリューションを通じて実現できます。 Kubernetes、Docker Swarm、Apache Mesos は、3 つの一般的なソリューション/オーケストレーション ツールです。

Docker Swarm は、インストールと構成が非常に簡単な Docker ネイティブ ツールです。 K8s では、etcd、flannel、docker エンジンなどのコンポーネントを構成するために多くの手動介入が必要です。

K8s は、他のツールと比較してさまざまな利点と機能的特徴を備えているため、業界を支配しています。

6. K8s とは何ですか?

K8s は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するために Google によって開発されたオープンソースのコンテナ オーケストレーター テクノロジーです。

K8s を使用すると、マイクロサービス アーキテクチャ アプリケーションのデプロイと管理が簡単になります。これは、クラスターの上に抽象化レイヤーを形成することで実現され、開発チームがアプリケーションをスムーズにデプロイできるようにします。K8s は主に次のタスクを処理します。

  • アプリケーションによるリソースの使用を制御および管理する
  • アプリケーションの複数のインスタンス間でリクエストを自動的に負荷分散します
  • リソースの使用状況とリソース制限を監視して、アプリケーションがリソースを過剰に消費するのを自動的に防ぎ、リソースを回復します。
  • ホスト リソースが使い果たされた場合やホストがクラッシュした場合に、アプリケーション インスタンスをあるホストから別のホストに移行することは実行可能なオプションです。
  • 新しいホストがクラスターに追加されると、追加のリソースが自動的に使用されます。

7. 市場が K8s を推奨するのはなぜですか?

K8s は、Cloud Native Computing Foundation (CNCF) と Google Foundation によって開始された最初のプロジェクトであり、Linux に次いで最も急速に成長しているオープンソース ソフトウェア プロジェクトです。

なぜこれほど多くの企業がコンテナ オーケストレーションのニーズを満たすために K8s に依存しているのでしょうか?理由はたくさんあります:

  • 移植性と柔軟性: K8s はさまざまなインフラストラクチャと環境設定で実行できるため、高い互換性を備えています。他のほとんどのオーケストレーターにはこのような柔軟性がありません。特定のランタイムまたはインフラストラクチャにロックされます。
  • オープンソース: CNCF は、完全にオープンソースでコミュニティ主導のプロジェクトである K8s を管理しています。多くの重要な企業スポンサーがいるが、プラットフォームを「管理」したり、その方向性を指示したりする企業はひとつもない。
  • マルチクラウド互換性: K8s は単一のクラウド上でワークロードをホストできるだけでなく、複数のクラウドにワークロードを分散することもできます。 K8s を使用すると、環境をあるクラウドから別のクラウドに簡単に拡張することもできます。他のオーケストレーターもマルチクラウド アーキテクチャをサポートできますが、K8s はマルチクラウド互換性の点でそれらを完全に上回っています。
  • マーケットリーダー:ほとんどの企業が K8s を使用しています。 Red Hat の調査によると、K8s は顧客(88%)に広く使用されており、特に実稼働環境(74%)で使用されています。

8. K8s アーキテクチャ

K8s は、適切に設計された分散システムの例です。クラスター内のすべてのマシンを単一のリソース プールの一部として扱います。

K8s には、他の成熟した分散システムと同様に、ヘッドノードとワーカーノードの 2 つのレイヤーがあります。

ヘッドノードまたはマスターノードは、コントロールプレーンとワーカーノードアプリケーションで構成されます。 K8s クラスターは、多数のヘッドノードとワーカーノードで構成されます。

K8s では、アプリケーションの構造を説明するために多くの用語が導入されています。各用語についてご説明します。

9. K8s コンポーネント

ヘッドノード/マスターノードとワーカーノードは、オーケストレーターの安定した動作を確保するために独自のコンポーネントで構成されています。

コントロールプレーン

コントロール プレーンは、管理者とユーザーがさまざまなノードを管理する場所です。 HTTP 呼び出しを介してコマンドを受信するか、システムに接続してコマンド ライン スクリプトを実行します。名前が示すように、K8s がアプリケーションと対話する方法を制御します。

API サーバー

API サーバーは、K8s クラスターへの REST インターフェースを提供します。ポッド上でアクティブ化されたすべてのサービスとその他のオブジェクトは、プログラム可能な方法でエンドポイントと対話できます。

スケジューラ

スケジューラは各ノードにタスクを割り当てる役割を担います。リソース容量を監視し、ワーカーノードのパフォーマンスが許容範囲内に維持されるようにします。

コントローラーマネージャー

K8s コントローラー マネージャーは、K8s コア制御ループを管理するサービスです。クラスターの共有状態が適切に機能していることを確認する役割を担います。

その他

K8s は、分散キー値ストレージを提供するデータベースである Etcd を使用して、クラスターの全体的なステータスに関する情報を共有します。

ノード

ノードは、ポッドを実行する物理マシンまたは仮想マシンです。コントロール プレーンは、ポッドの実行に必要なサービスを含むクラスター内の各ノードを管理します。

ポッド

K8s ポッドは、K8s 管理コンテナ セットの最小単位です。各ポッドには、ポッド内のすべてのコンテナに割り当てられる単一の IP アドレスがあります。ポッド内のコンテナ メモリとストレージ リソースは共有されます。アプリケーションにプロセスが 1 つしかない場合、ポッドにもコンテナーが 1 つあります。

クベレット

Kubelet はワーカーノードのコンポーネントです。そのタスクは、ポッドとそのコンテナの実行ステータスを追跡することです。これは、ポッドの YAML または JSON 記述ファイルに関連付けられています。 Kubelet はポッドの仕様をチェックし、ポッドが正常かどうかを判断します。

Kube プロキシ

Kube-Proxy は、各ノードと API サーバー間の接続として機能するネットワーク プロキシおよびロード バランサーです。これはクラスター内のすべてのノードで実行され、内部と外部の両方からポッドに接続できます。

クベクトル

Kubectl は K8s 用のコマンドライン ツールです。アプリケーションのデプロイ、クラスター リソースの監視と制御、ログの表示に使用されます。

ユーザーの観点から見ると、Kubectl は K8s コントロール パネルです。すべての K8s 操作を実行できるようになります。技術的な観点から見ると、Kubectl は K8s API のクライアントです。

結論は

この記事では、コンテナ オーケストレーションの基本的な概念と K8s のアーキテクチャについて学習しました。今後の記事では、K8s の重要な主要機能と単一ノードの K8s インストールについて学習します。

翻訳者について

Fan Xiaobo、51CTO コミュニティ エディター、シニア ネットワーク セキュリティ エンジニア。 SDN、SD-WAN、VPN、NFV、その他のネットワーク関連テクノロジーに精通しています。レイヤー 2 およびレイヤー 3 のネットワーク転送に精通しています。 DPDK、VPP、OVS 高性能ネットワーク オープン ソース フレームワークに精通している。バドミントンと料理をするのが好きです。

原題: Kubernetes 入門 | Kubernetes とは何か、著者: MSM Sivam

<<:  クラウドコンピューティングにおけるビジネスアジリティの詳細な説明

>>:  企業は仕事の未来を推進するためにDaaSを導入する必要がある

推薦する

クラウドコンピューティングとオープンソーステクノロジーのつながり

今日、クラウドコンピューティングは本格的に普及しています。多くのIT大手の姿勢も抵抗から受容へと変化...

RedisやZooKeeperなどの分散ロックの原理に関する考察

まず、分散ロックの原理は、私たちが普段話しているロックと基本的に同じです。目的は、複数のスレッドが同...

2019年のデジタル中国指数レポートが発表され、デジタル経済の次の成長点は産業によって牽引されるだろう

5月21日、2019年テンセントグローバルデジタルエコシステムカンファレンスが昆明で盛大に開幕した。...

ウェブサイトの降格の理由と解決策

ウェブサイトを構築しているときに、ランキングが 40 位から 80 位に上がったのに、突然ランキング...

マルチエントリーパフォーマンスストレステストのキラー:ワンストップストレステストプラットフォーム OPM の背後にあるテクノロジーを明らかにする

課題アリババの「双十一」は世界的なスーパープロジェクトとなった。このスーパープロジェクトでは、フルリ...

我々の出口はどこにあるのでしょうか?

Baidu では、seo という単語に関連する検索結果が 70,200,000 件も表示されます。こ...

Baidu プロモーションと検索最適化の品質を向上させる方法

品質の最適化はアカウント最適化の重要な手段であり、クリック価格を下げてランキングを上げ、全体的なプロ...

seo3.0 で実行すべき 8 つの検索エンジンの詳細

1. ボトムインターレースバック接続初期のSEO担当者の多くがこれを行っていたのは、検索エンジンの初...

ブランドは春節マーケティングをどのように実施すべきでしょうか?

2017年と比較すると、2018年の春節マーケティングは精彩を欠いていました。毎年1月下旬になると、...

クラウドファースト戦略はあなたに適していますか?

リスクを回避する方法を理解し、自分に合った戦略を立てることが重要です。新しいアプリケーション開発のほ...

注: Baidu Webmaster Platformの「ハッキングアラートと不正行為アラート」機能が本日正式にリリースされました

A5ウェブマスターネットワークは6月5日に報道した。百度ウェブマスタープラットフォームの公式ニュース...

servercrate-128M メモリ/128M vswap/3gSSD/G ポート/半年 $6.95

servercrate は 2008 年に設立されたホスティング プロバイダーです。今日は、SSD ...

cleanvps-256Mメモリxen月額支払い3.98米ドル

Cleanvps は、公式によると 4 年の歴史があるとのことですが (これを追求する必要はありませ...

企業は14のクラウド関連職種を募集中

パンデミック中にクラウドの導入が大幅に増加した後、企業はクラウド インフラストラクチャのセキュリティ...

分散システムのアーキテクチャについて話しましょう

今日は、Xiaojiao が分散システムのアーキテクチャ ルーチンについてお話します。ルーチンについ...