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が新しいロゴを変更

9月2日、Googleは新しいロゴの発表を行いました。新しいロゴはサンセリフフォントを使用し、サブタ...

IoT ソリューションを導入する企業にとってクラウド コンピューティングが重要なのはなぜですか?

今日のデジタル世界では、あらゆるアプリケーションやデバイスがクラウドでデータを保存または処理している...

電子商取引ウェブサイトのマーケティングのための実践的な戦略(パート 1)

5 か月前、私はマイクロブログを投稿しました。「マーケティング業界の権威であるケロッグの統合マーケテ...

knownhost: 月額 5 ドル、2 つの IP、1G メモリ/1 コア/20g SSD/1T トラフィック、シアトル/アトランタ/アムステルダム

2006年から運営されている、アメリカの有名なマネージドホスティング会社です。仮想ホスティング、VP...

SEOについて語るにはまだ時期尚早です。国内のSEO業界はまだ発展の可能性があります。

SEOに注目している方なら、最近アメリカの有名な経済雑誌Forbesに掲載され、A5とchinazに...

淘宝網を生態学的災害から救うのは誰か?

BATの3大巨頭のうち、百度はテクノロジーに力を入れており、テンセントはソーシャルネットワーキングに...

Hivelocityはどうですか?ロサンゼルスデータセンターのクラウドサーバーの簡単なレビュー

Hivelocityはどうですか?ハイベロシティロサンゼルスはどうですか?世界的に有名なデータセンタ...

Penguin Esports は停止、ゲームライブストリーミングは前進!

2019年4月7日、Penguin Esportsは2019年6月7日23時59分をもって運営を終了...

Ctrip ホテル検索エンジン AWS クラウド実践

著者について: Gong Xian、Ctrip のシニア バックエンド開発エンジニア。 Ctrip ...

新しいウェブサイトを検索エンジンに認識させ、インデックスさせる方法

多くの初心者ウェブマスターにとって、ウェブサイトをうまく最適化する方法や、ウェブサイトの主要キーワー...

あなたは有能な SEO 担当者ですか?

最近、私は仕事を探していて、私の求職の方向は、より人気のあるウェブサイト編集者であるWebエディター...

2012年の5度の苦難の時期を経て、共同購入は安定: ウェブサイトの数はほぼ半減

業界の偽りの繁栄を経験した後、共同購入は徐々に混乱から抜け出し、昨年は安定した状態になりました。共同...

Redis分散ロックの正しい実装原理の進化とRedissonの実用的な概要

[[437124]] Redis 分散ロックは SET コマンドを使用して実装できますか? CAP ...

最も安い VPS: 2018 年にネットユーザーによって評価された最も安い VPS のリスト (レビューと評価付き)

最も安い VPS は、誰もが常に探して購入しています。動的で最も安い VPS、米国で最も安い VPS...