クラウド内のコンテナ用の永続ストレージの設定

クラウド内のコンテナ用の永続ストレージの設定

コンテナの永続ストレージは、クラウドでワークロードを実行するユーザーを含むエンタープライズ ユーザーの間で一般的な要件です。

コンテナ インスタンスは一時的なものです。コンテナが 1 つ破壊されると、何も残りません。その結果、永続性を必要とするワークロード(状態と作業成果物の保存、または共有データベースへのアクセス)は、外部システムと対話する必要があります。

このニーズを満たすために、Docker や Kubernetes などの管理プラットフォームや、AWS、Azure、Google のクラウド コンテナー管理サービスでは、ストレージ ボリューム、ネットワーク ファイル システム、データベースに接続するためのメカニズムが提供されています。

クラウド内のコンテナに永続ストレージを実装する方法は多数あるため、管理者は独自のストレージ ニーズに最適なオプションを選択する必要があります。

CaaS と Kubernetes の背景

Container-as-a-Service (CaaS) サービスは、その利便性、移植性、セキュリティ、スケーラビリティ、パフォーマンス、柔軟性により、セルフホスト型 Kubernetes インストールの代替としてますます人気が高まっています。クラウド サービス プロバイダーのネイティブ サービスを使用できるクラウド ホスト コンテナーの汎用性は、プライベート コンテナー インフラストラクチャよりもオンライン サービスを好む組織にとって大きな魅力となります。

Kubernetes は、クラスター管理プラットフォームとして選ばれるようになりました。これは、Amazon Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS)、Google Kubernetes Engine (GKE) などのサービスを通じて利用できます。ただし、クラウド ユーザーには、Amazon Elastic Compute Cloud などの専用コンピューティング インスタンス、または AWS Fargate、Azure Container Instances、GKE Node Auto-provisioning を介したオンデマンド コンテナ インスタンスを使用してクラスター ノードを構成するためのオプションがまだいくつかあります。

管理者がクラスター ノードをどのように展開するかに関係なく、Kubernetes コントロール プレーンは、クラウド ストレージ サービスによって作成されたものも含め、永続ボリュームやファイル共有に接続するいくつかの方法を提供します。

Kubernetes ストレージ オプション

Kubernetes は柔軟性が高く、多数のストレージ プラットフォームをサポートしているため、Kubernetes でストレージを使用するのは混乱を招く可能性があります。実際には、Kubernetes ストレージは概念的に単純であり、ポッド (名前空間、ボリューム、およびその他の設定を共有する 1 つ以上のコンテナー) を外部ボリュームに接続するだけです。ボリュームは次のようになります。

  • 論理ディスクとマウント ポイント。
  • Amazon Elastic Block Store (EBS) や Azure Disks などのブロック ストレージ サービス。
  • NFS、Ceph (CephFS) などを実行するストレージ アレイ、または Amazon Elastic File System (EFS) や Google Cloud Filestore などのクラウド ファイル サービスからのネットワーク ファイル共有。

Kubernetes のドキュメントによると、ボリュームは、ポッド内のコンテナからアクセスできる、データが含まれる可能性のある単なるディレクトリです。管理者が使用する特定のボリューム タイプによって、ディレクトリの名前、それをサポートするメディア、およびその内容が決まります。

複数のストレージ タイプをサポートする柔軟性は、Cloud Foundry、Kubernetes、Mesos、Nomad などのコンテナー オーケストレーターにブロック ストレージとファイル ストレージを公開するための標準である Container Storage Interface (CSI) に由来しています。ポッドは .spec.volumes ファイルの設定を使用してボリュームをマウントしますが、管理者はボリュームをネストすることはできません。ボリュームをマウントしたり、他のボリュームへのシンボリック リンクを持つことはできません。 Kubernetes ドキュメントで指定されているように、サポートされている各ボリューム タイプには異なるキーワードがあります。たとえば、EBS の場合は awsElasticBlockStore、Azure Files の場合は azureFile、SAN iSCSI ボリュームの場合は iscsi などです。

管理者は多くの場合、ポッドのセットの展開とスケーリングを管理するための API である StatefulSets と呼ばれる Kubernetes 機能を備えた永続ボリュームを使用します。一意で永続的な ID、永続的なホスト名、そして秩序立った自動ローリング コード更新を提供します。 Kubernetes のドキュメントによると、StatefulSet 内の個々の Pod は失敗する可能性がありますが、永続的な Pod 識別子は、既存のボリュームを、失敗した Pod を置き換える新しい Pod と一致させるのに役立ちます。

コンテナ内で実行されるアプリケーションは、ほとんどの言語で利用可能な Open Database Connectivity ドライバーを使用して、IP 経由で外部データベースに接続することもできます。管理者が AKS を Azure Database for PostgreSQL に接続すると、Azure などの一部のクラウド サービスでは、ネットワーク パフォーマンスを最大化し、データベースのオーバーヘッドを最小化するための指示が提供されます。

他のクラウド データベース サービスでは、サイドカー プロキシを使用して接続方法をサポートします。たとえば、Google Cloud SQL Proxy は、GKE アプリケーションを Cloud SQL インスタンスにリンクするための安全で信頼性の高い方法です。 Google は、外部データベースのサービス エンドポイントの作成や、マネージド データベース サービスのポート マッピングでの Uniform Resource Identifier の使用など、外部サービスを Kubernetes にマッピングするためのベスト プラクティスを提供しています。

CaaS オファリングでは既存のストレージ インターフェイスが使用され、クラウド ブロックおよびファイル サービス用の CSI ドライバーがあるため、Pod デプロイメントではプライベートの自己管理型ストレージ ボリュームと共有またはクラウド リソースのいずれかを選択できます。

最も一般的な CSI ドライバー オプションには次のものがあります。

  • Amazon EKS EBS CSI ドライバー
  • Amazon EKS EFS CSI ドライバー
  • Azure ディスク CSI ドライバー
  • Azure ファイル AKS CSI ドライバー
  • GCP GKE 永続ディスク CSI ドライバー
  • GCP GKE ファイル ストレージ接続
  • GKE 用 GCP Cloud SQL プロキシ

同様に、Kubernetes Pod は NFS CSI ドライバーを使用してプライベート NAS に接続できます。 Dell EMC CSI プラグイン、NetApp Trident、Pure Storage Portworx など、いくつかのエンタープライズ ストレージ プロバイダーが、Kubernetes 向けに設計された CSI およびストレージ ソフトウェアを提供しています。

*元のリンク: https://searchstorage.techtarget.com/tip/Set-up-persistent-storage-for-containers-in-the-cloud

<<:  Docker ノート: Docker コンテナの通信パラメータ - リンクパラメータの紹介

>>:  Cockpit で仮想マシンを管理する方法

推薦する

iniz: ロサンゼルス AMD Ryzen VPS、月額 4 ドル、1G メモリ/1 コア/15g NVMe/2T トラフィック/20G DDoDS 防御

もしinizが2017年7月にロサンゼルスに新しいAMD RyzenシリーズのVPSが追加されたとい...

マット・カッツ:PRに重点を置かない

Googleはインターネット業界で広まっているリンク取引を懸念し、ページランクの更新を中止したのでし...

BaiduとGoogleの最適化の違いについて簡単に説明します

Baidu は中国の検索エンジンのリーダーであり、Google は世界の検索エンジンのリーダーです。...

画像imgタグのalt属性とtitle属性の評価実験

SEO の最適化は時間がかかり、細心の注意を要するプロセスです。細部をきちんとやれば水を得た魚のよう...

ワンストップのクラウドネイティブ FinOps プラットフォーム - KubeFin

KubeFin : マルチクラウドおよびマルチクラスターのコスト分析とコスト最適化をサポートし、クラ...

新年の商品戦争:沈没市場でのアリババ、JD.com、ピンドゥオドゥオの最終決戦

新年の商品を準備することは、主要な電子商取引プラットフォームが逃すことのできない、プラットフォームの...

事例分析:アニメーションウェブサイトの最適化の扱い方

昨日、あるグループの友人から、ウェブサイトの最適化を手伝ってほしいと頼まれました。今は春節が近づいて...

検索エンジンは # (ハッシュ値) を含む URL をクロールしますか?

私のウェブサイトのさまざまなアドレスには、必然的に # が付いた URL がいくつかあります。通常、...

【ピークシーズン準備ガイド】新規セラー向け SEO ヒント (パート 3)

いよいよ、初心者セラー向け SEO 入門ガイドの 3 番目のレッスンです。この章では、SEO 戦略と...

日用品にロゴをデザインすると、その人気が大幅に高まります

月収10万元の起業の夢を実現するミニプログラム起業支援プラン日本人が想像力豊かなことは誰もが知ってお...

この記事を読んだ後、私は二度とDockerコンテナを知っているとは言わないでしょう

概要Linux システムでは、ファイルやディレクトリを操作するためにコマンドラインを使用する必要があ...

SEOフォーラム運営についての考察

Light Year SEO フォーラムの閉鎖から、Baidu によるスパム外部リンクの徹底的な取り...

cloudcone: 米国 VPS (ロサンゼルス)、年間 14.28 ドル、1G メモリ/2 コア/45G ハード ドライブ/4T トラフィック/1Gbps 帯域幅

Cloudcone は最近イースター イベントを開始し、1Gbps の帯域幅と IPv4 が組み込ま...

パートタイムでオンラインストアを運営する方法はまだあるか?オンラインストアの運営は商品の仕入れから始めるべき

パートタイムでオンラインストアを開設することは、現代のホワイトカラー労働者が家族を養うためにお金を稼...

WeChatモーメンツマーケティングが人気上昇中:「品質問題」と「アフターサービス問題」が頻発

学生時代のQQ SpaceやCampusから今日のWeiboやWeChatまで、インターネット時代の...