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 へ

推薦する

limitlesshost-ロシア VPS/$7/1g メモリ/25g ハードディスク/1T トラフィック

limitlesshost.net は 2009 年に設立されたホスティング会社です。Web サイト...

本当に 1 年後には Web サイトの最適化をあきらめなければならないのでしょうか?

数か月前、私は浙江省のフォーラム ウェブサイトのウェブマスターを務めているウェブマスターに会いました...

インテリジェントな運用と保守における分散アクティブ知覚の実践

はじめに: 企業のデジタル化により、運用と保守のインテリジェントな変革が不可避になりました。 Cre...

ウェブマスターネットワークニュース:北京のインターネットユーザーが海外のウェブサイトで噂を広め、国を中傷したとして拘束される

1. 北京のネットユーザーが海外のウェブサイト「博訊」で噂を流布し、国家の名誉を傷つけたとして拘束さ...

#元旦# メガレイヤー: 香港/アメリカ/フィリピン/シンガポール、CN2/CUII回線、199元VPS-16Gメモリ/8コア/240gSSD/3IP、399元e3専用サーバー

クリスマスと元旦を祝うため、Megalayer は新しいプロモーションを開始しました。このプロモーシ...

kubbur: 月額 5 ユーロ、10Gbps 帯域幅、無制限トラフィック VPS、ニューヨーク\ロンドン データ センター

Kubbur は毎年設立される新しい会社です。オフィスはアイスランドにあり、英国に登録されています。...

クラウド インフラストラクチャ ソフトウェア: 仮想化とコンテナー、どちらが勝つでしょうか?

従来の IT アーキテクチャでは、オペレーティング システムはコンピューターのハードウェアとソフトウ...

マーケティングのアイデアをお探しですか?スティーブ・ジョブズが語るマーケティングの最高峰とは

原題: マーケティング手法を見つけるのに苦労しているとき、スティーブ・ジョブズは最高レベルのマーケテ...

オンラインアライアンスプロモーションでターゲット顧客を追跡する方法の簡単な分析

多くの人はオンラインアライアンスプロモーションを理解していません。まずは百度百科事典のオンラインアラ...

外部リンクの王様として知られる機密情報ネットワークから外部リンクを取得する際に従うべき5つの原則があります。

ほとんどのウェブサイトが良いランキングを獲得するには、主に内部リンクと外部リンクに依存します。内部リ...

Pacificrack: イースター VPS、年間 14.55 ドル、2G メモリ/2 コア/100g SSD/7T トラフィック

Pacificrack は今年のイースターに安価な VPS をお送りします。これは、Cloudcon...

Kubernetes でのマイクロサービス アーキテクチャの実装

[編集者注] この記事は、マイクロサービス メッシュ シリーズの第 2 部です。最も人気のあるマイク...

ramhost Atlanta KVM が SSD キャッシュを追加

Ramhost は設立されてから 4 年になります。本日、同社がペースを速め、キャッシュに SSD ...

2019 年の Hyper-V 監視ツールとソフトウェアのトップ 10

仮想化の広範な使用は、エンタープライズ インフラストラクチャにおける最も重要なトレンドの 1 つです...

K8S の混乱から熟練へ: この記事を読めば、クラスター ノードがオフラインになることはなくなります。

はじめに: まったく未知の問題や未知のシステム コンポーネントのトラブルシューティングは、多くのエン...