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を導入する必要がある

推薦する

Google SEO の 12 の重要なポイント

1. サーバーは安定して稼働する必要がある2. 適切なドメイン名を選択し、ウェブサイトのパスとファイ...

産業用不動産ウェブサイト運営の3つの要素の詳細を理解し、ウェブサイトの成功を支援します

わが国の経済の急速な発展に伴い、実体のある企業が大量に出現し始めています。このような背景から、多くの...

Rancher がエッジ コンピューティング エコシステムをリードする Kubernetes オペレーティング システム、k3OS をリリース

業界トップのコンテナソフトウェアプロバイダーであるRancher Labs(以下、Rancher)は...

Windows で分散キュー Celery のハートビート ポーリングを設定する手順を説明します。

[[385390]] 1 はじめにみなさんこんにちは。私はボス・ウーです。 Celery の公式説明...

ウェブサイトの収集が不安定になる理由をご存知ですか?

私のように、多くのウェブマスターがGGとBaiduのインデックスを分析したことがあると思います。この...

Baidu 入札と SEO アウトソーシング サービスのどちらがより重要ですか?

ちなみに、百度は最近体調が悪く、まず6月28日にくしゃみをし、その後7月13日には一日中咳をしていま...

量子コンピュータで初めて時間の「逆流」を実現

英国インディペンデント紙の最近の報道によると、米国、スイス、ロシアの科学者からなる国際研究チームが、...

ホスティングレビュー無料Googleドメイン招待

Google がドメイン名ビジネスを開始したことをご存知ですか? Google ドメインの特徴は何で...

ウェブサイトの直帰率を下げる要因の簡単な分析

ウェブサイトページの直帰率とは、ウェブサイトの 1 ページを読んだ後にページを閉じるユーザーの割合を...

A5最適化チーム: 総合ウェブサイトSEO診断マニュアル

現在、企業のウェブサイトは最も一般的なタイプのウェブサイトです。中小企業も、非常に費用対効果の高い方...

ライブストリーミングeコマースは「1ムーあたり1万キロ」の時代に突入したのか?

「国民が大胆になればなるほど、土地の生産性は高まる」。この言葉は、インターネット時代の電子商取引ライ...

プロモーションのヒント: 新規ユーザーをどのように定義しますか?

月給5,000~50,000のこれらのプロジェクトはあなたの将来です諸葛軍は次のように語りました。「...

Hostus - もっと安くできますか? 年間5ドル/7ドル/データ無制限

Hostus は 2009 年に設立され、3 年間にわたり VPS を運営してきました。主に ope...

Jingan「高速クラウドサーバー」レビュー、高性能/BGPネットワーク/クラウド

先月、私はJingan Kuaiyun VPSに注目し、Kuaiyun VPSのレビューを書きました...

モバイルエッジコンピューティングは爆発的な成長を遂げると予想されている

モバイル エッジ コンピューティングを使用することの最も重要な意味は、効率的なデータ処理とタイムリー...