Kubernetes: デプロイメントの新時代

Kubernetes: デプロイメントの新時代

序文

前回はDockerチュートリアルを紹介しました。次に、Kubernetes への扉を開けてみましょう。

1.公式サイト

出典: kubernetes.io

2. Kubernetes とは何ですか?

公式紹介:

Kubernetes は、宣言型の構成と自動化を容易にするコンテナ化されたワークロードとサービスを管理するために Google が 2014 年にオープンソース化した、移植可能で拡張可能なオープンソース プラットフォームです。

Kubernetes には、大規模かつ急速に成長しているエコシステムがあります。 Kubernetes 向けのサービス、サポート、ツールは幅広く利用可能です。

簡単に言えば、Kubernetes はコンテナ オーケストレーション ツールです。

ビジネス規模が十分に大きくなると、さまざまなサービスを実行するためのコンテナが多数必要になります。多数のサービスを一括管理するにはどうすればよいでしょうか?

以前Dockerを学習していたときに、Dockerの公式ツールであるDocker-composeを紹介しましたが、これはスタンドアロンのコンテナ管理ツールであり、クラスターをサポートしていません。公式では別のクラスタ管理ツールであるDocker Swarmもリリースされていますが、Kubernetesを使うと、それらはすべて弟分のような感じになります。

2.1 イースターエッグ

Kubernetes という名前は、ギリシャ語で「操舵手」または「パイロット」を意味する言葉に由来しています。 k8s という略語は、k と s の間に 8 文字の関係があるためです。

3.展開時代の進化

3.1 従来の展開時代

サービスを展開する際には、サービスに必要なマシンの性能を大まかに見積もってから、対応する実際の物理マシンを購入し、サーバー Tomcat、データベース MySQL など、サービスに必要なソフトウェアをマシンにインストールします。

(1)導入には非常に時間がかかる:機械の購入、システムのインストール、ソフトウェアのインストールなど。

(2)高コストとリソースの無駄:通常、不十分なサービスパフォーマンスを防ぐために、予想よりも高いリソースを持つマシンを購入しようとしますが、これはコストを増加させるだけでなく、マシンリソースの無駄も引き起こします。

(3)拡張や移行が困難:実際の物理マシンであるため、拡張や移行がより面倒になります。

3.2 仮想マシン導入時代

誰もが VMware を使ったことがあると思います。 VMware を使用すると、コンピューター上に多数の仮想マシンを作成できます。物理マシンの時代では、複数のマシンが実際の物理マシン上で仮想化され、各マシンは独立したコンピュータとみなすことができます。

物理マシン時代と比較して、仮想マシンでは 1 台のマシン上に複数のマシンを作成し、リソースを最大限に活用し、マシンを分離することができます。マシンのパフォーマンスが不十分な場合は、ハイパーバイザーを通じていつでも拡張できます。

従来の導入時代と比較して、仮想化テクノロジーは物理サーバー上のリソースをより有効に活用でき、アプリケーションを簡単に追加または更新できるため、スケーラビリティが向上し、ハードウェア コストが削減されるなどの利点があります。

ただし、各仮想マシンにはオペレーティング システムなどの追加機能をインストールする必要があり、追加費用がかかります。

3.3 コンテナ導入時代

コンテナは VM に似ていますが、分離プロパティが緩和されており、アプリケーション間でオペレーティング システム (OS) を共有できます。したがって、コンテナは軽量であると考えられます。コンテナは VM に似ており、独自のファイル システム、CPU、メモリ、プロセス スペースなどを備えています。コンテナは、オペレーティング システムをインストールする必要のない仮想マシンと考えることができます。コンテナ化テクノロジーは仮想マシンよりも柔軟かつコンパクトで、物理マシンのリソースをより効率的に利用できます。

コンテナの展開には次の利点があります。

  • アジャイルなアプリケーションの作成と展開: VM イメージを使用する場合と比較して、コンテナ イメージの作成の容易さと効率性が向上します。
  • 継続的な開発、統合、およびデプロイメント: 信頼性が高く頻繁なコンテナ イメージのビルドとデプロイメントをサポートし、ロールバックが高速かつ簡単 (イメージの不変性による) です。
  • 開発と運用の分離に重点を置く: デプロイ時ではなくビルド/リリース時にアプリケーション コンテナ イメージを作成し、アプリケーションをインフラストラクチャから切り離します。
  • 可観測性: オペレーティング システム レベルの情報とメトリックだけでなく、アプリケーションの健全性やその他の指標信号も表示できます。
  • 開発、テスト、本番環境全体で環境の一貫性が保たれます。クラウドと同じようにラップトップでも実行できます。
  • クラウドと OS ディストリビューション間の移植性: Ubuntu、RHEL、CoreOS、オンプレミス、Google Kubernetes Engine、その他あらゆる場所で実行できます。
  • アプリケーション中心の管理: 仮想ハードウェア上での OS の実行から、論理リソースを使用して OS 上でのアプリケーションの実行へと抽象化のレベルを上げます。
  • 疎結合、分散、弾力性、解放性に優れたマイクロサービス: アプリケーションは、単一の大きなマシン上で全体として実行されるのではなく、動的にデプロイおよび管理できる小さな独立した部分に分割されます。
  • リソースの分離: 予測可能なアプリケーション パフォーマンス。
  • リソースの利用:高効率、高密度。

4.なぜ Kubernetes が必要なのでしょうか?

コンテナ化されたデプロイメントの時代に入ると、管理すべきコンテナが多数発生します。本番環境では、コンテナがシャットダウンされないようにしたり、シャットダウン後すぐにコンテナを再起動できるようにしたり、コンテナの実行状態を監視したり、コンテナの負荷分散などを行ったりする必要があります。Kubernetes はこれらすべてを実現するのに役立ちます。

  • サービス検出と負荷分散

Kubernetes は、DNS 名または独自の IP アドレスを使用してコンテナを公開できます。コンテナに大量のトラフィックが流入する場合、Kubernetes はネットワーク トラフィックの負荷を分散して分散し、デプロイメントを安定させます。

  • ストレージオーケストレーション

Kubernetes を使用すると、ローカル ストレージ、パブリック クラウド プロバイダーなど、選択したストレージ システムを自動的にマウントできます。

  • 自動デプロイメントとロールバック。
  • Kubernetes を使用すると、デプロイされたコンテナの望ましい状態を記述でき、制御された速度で実際の状態を望ましい状態に変更できます。たとえば、Kubernetes を自動化できますデプロイメント用の新しいコンテナを作成するには、既存のコンテナを削除し、そのすべてのリソースを新しいコンテナに使用します。
  • 梱包計算を自動的に完了します

Kubernetes では、コンテナごとに必要な CPU とメモリ (RAM) を指定できます。コンテナがリソース要求を指定すると、Kubernetes はコンテナのリソースの管理についてより適切な決定を下すことができます。

  • 自己治癒

Kubernetes は、障害が発生したコンテナを再起動し、コンテナを置き換え、ユーザー定義のヘルスチェックに応答しないコンテナを強制終了し、準備ができるまでクライアントにサービスをアドバタイズしません。

  • キーと構成の管理

Kubernetes を使用すると、パスワード、OAuth トークン、SSH キーなどの機密情報を保存および管理できます。ホット デプロイメントと同様に、コンテナ イメージを再構築することなく、またスタック構成でシークレットを公開することなく、シークレットとアプリケーション構成をデプロイおよび更新できます。

5. Kubernetes 学習ウェブサイト

(1)公式サイト:https://kubernetes.io/

(2)中国コミュニティ:https://www.kubernetes.org.cn

<<:  「斉魯地」で成長企業のビジネスイノベーションが開花

>>:  Tekton シリーズの実践 - Jenkins から Tekton へ

推薦する

SEO を学ぶ際に新しいウェブマスターが必ず読むべき 4 つの重要なリンク

SEO は現代社会においてウェブマスターにとって必須のコースとなっていますが、ウェブマスターにとって...

#11.11# BandwagonHost VPS、サイト全体で11%オフ、サイト全体で25%オフ、米国cn2 gia + 香港cn2 gia

BandwagonHost がついに今年の Double Eleven 割引を実施しました。市場のす...

ソフトコピーライティングの芸術:公然と板張りの道路を修復しながら、秘密裏に陳倉を渡る

ソフト記事プロモーションは、最近のSEOプロモーターがよく使用するプロモーション方法です。多くのSE...

virtovo-$3.5/Kvm/512m メモリ/50g ハードディスク/1T トラフィック/G ポート/フロリダ

ヴィルトーヴォ、これは良いですね!なぜ良いと言うのですか?なぜなら、以前誰かがトラフィック攻撃を実行...

テンセント、QQトルネードクラウドストリーミングサービスを停止

テンセントは最近、QQ Tornadoのウェブサイトで、QQ Tornadoクラウド再生サービスが停...

周紅一:ビッグデータ時代のユーザー情報セキュリティの3つの原則

数年前、レイ・カーツワイルは『The Singularity Is Near』という本を書きました。...

7つの主要なB2Cホームページナビゲーションバーデザインの比較分析

非常に明確な目的を持つユーザーは、検索機能を使用してすぐに購入を完了しますが、ユーザーがショッピング...

ミ・メンが撮影した「ミ・メン」のビデオ広告がエアチャイナで紹介された。これはセルフメディアブランドマーケティングの始まりに過ぎない。

ミミ・メンさんは、他人のために何十本もの広告を書いた後、ついに自分自身のビデオ広告を撮影し、春節の旅...

Letbox-Storage VPS/5.75 USD/KVM/2 GB RAM/300 GB HDD/3 TB Flow/ロサンゼルス

Letbox は、特別オファー、数量限定、優れた価格性能比の 2 つのストレージ VPS を作成しま...

hostdare-$15/年/cpanelホスティング/20gハードドライブ/無制限トラフィック/quadranet

Hostdare は、米国で安価な仮想ホスティング、cpanel パネル、完全に独立したサーバー、Q...

メールマーケティングプロモーションのヒント

Eメールダイレクトマーケティング(EDM)は、企業が特定のソフトウェア技術とインターネットをキャリア...

百度の「知心検索」は美容整形サイトのSEOにどのような影響を与えるのでしょうか?

2013年10月16日の夜、上海で開催された百度ウェブマスタープラットフォームの高級サロン「百度ナイ...

自身の経験に基づいて、新しいウェブサイト立ち上げの初期段階の最適化戦略を分析する

オンラインマーケティングとウェブサイトプロモーションの人気が高まるにつれて、多くの初心者が独自のオン...

ブランドマーケティング革新の方法論!

Heytea、Sandunban、Nayukiなど、最近人気が出ている新しい消費者ブランドを数えてみ...

weloveservers-1g メモリ VPS/年間 19 ドル 仮想ホスト + ディストリビューション ホストが 25% オフ

weloveservers は年末にいくつかの特別プロモーション製品をリリースしました。1G メモリ...