Longhorn クラウド ネイティブ コンテナ分散ストレージ - エアギャップ インストール

Longhorn クラウド ネイティブ コンテナ分散ストレージ - エアギャップ インストール

[[420203]]

Longhorn は、マニフェスト ファイル、Helm チャート、または Rancher UI を使用して、エアギャップ環境にインストールできます。

目次

  • 前提条件
  • マニフェストファイルの使用
  • Helmチャートの使用
  • Rancherアプリの使用
  • トラブルシューティング

前提条件

  • Longhorn コンポーネント イメージを独自のレジストリにデプロイします。
  • Kubernetes CSI ドライバー コンポーネント イメージを独自のレジストリにデプロイします。

知らせ:

  • 必要なすべてのイメージの完全なリストは longhorn-images.txt にあります。まず、次のコマンドを実行してミラー リストをダウンロードします。

https://raw.githubusercontent.com/longhorn/longhorn/v1.1.2/deploy/longhorn-images.txt を実行します。

  • 上記の longhorn-images.txt リストをすばやく取得するためのスクリプト save-images.sh を提供しています。 --images フラグに tar.gz ファイル名を指定すると、スクリプトは指定されたファイル名にすべての画像を保存します。次の例では、スクリプトは Longhorn イメージを取得し、それを longhorn-images.tar.gz ファイルに保存します。その後、そのファイルをエアギャップ環境にコピーできます。一方、ファイル名を指定しない場合は、スクリプトはミラー リストをコンピューターに取得するだけです。
  1. https://raw.githubusercontent.com/longhorn/longhorn/v1.1.2/scripts/save-images.sh を実行します。
  2. chmod +x イメージを保存.sh
  3. ./save-images.sh --image-list longhorn-images.txt --images longhorn-images.tar.gz  
  • Longhorn イメージをプライベート レジストリにプッシュするための別のスクリプト load-images.sh も提供しています。 --images フラグに tar.gz ファイル名を指定すると、スクリプトは tar ファイルからイメージをロードしてプッシュします。それ以外の場合は、ローカル Docker でイメージを見つけてプッシュします。次の例では、スクリプトはlonghorn-images.tar.gzファイルからイメージをロードし、それをプッシュします。
  1. wget https://raw.githubusercontent.com/longhorn/longhorn/v1.1.2/scripts/をロード-images.sh
  2. chmod + x load-images.sh
  3. ./ load -images.sh --image-list longhorn-images.txt --images longhorn-images.tar.gz --registry <プライベートレジストリ>  
  • スクリプトを使用するその他のオプションについては、フラグ --help を参照してください。
  1. ./save-images.sh --help  
  2. ./load-images.sh --help  

マニフェストファイルの使用

Longhorn 展開マニフェスト ファイルを取得する

  1. https://raw.githubusercontent.com/longhorn/longhorn/v1.1.2/deploy/longhorn.yaml を取得します。

Longhorn 名前空間の作成

  1. kubectl はlonghorn-system という名前空間を作成します

プライベート レジストリに認証が必要な場合は、longhorn-system 名前空間に docker-registry シークレットを作成します。

  1. kubectl -n longhorn-systemシークレット docker-registry <SECRET_NAME>を作成します--docker-server=<REGISTRY_URL> --docker-username=<REGISTRY_USER> --docker-password=<REGISTRY_PASSWORD>  
  • longhorn-driver-deployer デプロイメント
  • longhorn-manager デーモンセット
  • longhorn-ui デプロイメント
  • 次のリソースの imagePullSecrets.name にシークレット名 SECRET_NAME を追加します。

例:

  1. APIバージョン: アプリ/v1
  2. 種類: デプロイメント
  3. メタデータ:
  4. ラベル:
  5. アプリ: longhorn-ui
  6. 名前: longhorn-ui
  7. 名前空間: longhorn-system
  8. 仕様:
  9. レプリカ: 1
  10. セレクタ:
  11. 一致ラベル:
  12. アプリ: longhorn-ui
  13. テンプレート:
  14. メタデータ:
  15. ラベル:
  16. アプリ: longhorn-ui
  17. 仕様:
  18. コンテナ:
  19. -名前: longhorn-ui
  20. イメージ: longhornio/longhorn-ui:v0.8.0
  21. ポート:
  22. - コンテナポート: 8000
  23. 環境:
  24. -名前: LONGHORN_MANAGER_IP
  25. 値: "http://longhorn-backend:9500"  
  26. イメージプルシークレット:
  27. - name : <SECRET_NAME> ##ここにSECRET_NAMEを追加
  28. サービス アカウント名: longhorn サービス アカウント

マニフェストファイルに次の変更を適用します

  • longhornio/longhorn-manager
  1. イメージ: <REGISTRY_URL>/longhorn-manager:<LONGHORN_MANAGER_IMAGE_TAG>
  • longhornio/longhorn-エンジン
  1. イメージ: <REGISTRY_URL>/longhorn-engine:<LONGHORN_ENGINE_IMAGE_TAG>
  • longhornio/longhorn-share-manager
  1. イメージ: <REGISTRY_URL>/longhorn-instance-manager:<LONGHORN_INSTANCE_MANAGER_IMAGE_TAG>
  • longhornio/longhorn-ui
  1. イメージ: <REGISTRY_URL>/longhorn-ui:<LONGHORN_UI_IMAGE_TAG>
  • CSI_ATTACHER_イメージ
  • CSI_PROVISIONER_イメージ
  • CSI_NODE_DRIVER_REGISTRAR_イメージ
  • CSI_RESIZER_イメージ
  • CSI_SNAPSHOTTER_イメージ

longhorn-driver-deployer デプロイメントの Kubernetes CSI ドライバー コンポーネント環境変数を変更して、プライベート レジストリ イメージを指すようにします。

  1. -名前: CSI_ATTACHER_IMAGE
  2. 値: <REGISTRY_URL>/csi-attacher:<CSI_ATTACHER_IMAGE_TAG>
  3. -名前: CSI_PROVISIONER_IMAGE
  4. 値: <REGISTRY_URL>/csi-provisioner:<CSI_PROVISIONER_IMAGE_TAG>
  5. -名前: CSI_NODE_DRIVER_REGISTRAR_IMAGE
  6. 値: <REGISTRY_URL>/csi-node-driver-registrar:<CSI_NODE_DRIVER_REGISTRAR_IMAGE_TAG>
  7. -名前: CSI_RESIZER_IMAGE
  8. 値: <REGISTRY_URL>/csi-resizer:<CSI_RESIZER_IMAGE_TAG>
  9. -名前: CSI_SNAPSHOTTER_IMAGE
  10. 値: <REGISTRY_URL>/csi-snapshotter:<CSI_SNAPSHOTTER_IMAGE_TAG>
  • Longhorn イメージをプライベート レジストリ イメージを指すように変更します。

例:

  1. APIバージョン: アプリ/v1
  2. 種類: デプロイメント
  3. メタデータ:
  4. ラベル:
  5. アプリ: longhorn-ui
  6. 名前: longhorn-ui
  7. 名前空間: longhorn-system
  8. 仕様:
  9. レプリカ: 1
  10. セレクタ:
  11. 一致ラベル:
  12. アプリ: longhorn-ui
  13. テンプレート:
  14. メタデータ:
  15. ラベル:
  16. アプリ: longhorn-ui
  17. 仕様:
  18. コンテナ:
  19. -名前: longhorn-ui
  20. image: <REGISTRY_URL>/longhorn-ui:<LONGHORN_UI_IMAGE_TAG> ##イメージを追加 ここにタグを付けてください
  21. ポート:
  22. - コンテナポート: 8000
  23. 環境:
  24. -名前: LONGHORN_MANAGER_IP
  25. 値: "http://longhorn-backend:9500"  
  26. イメージプルシークレット:
  27. -名前: <SECRET_NAME>
  28. サービス アカウント名: longhorn サービス アカウント

変更したマニフェストファイルを使用して Longhorn を展開する

  1. kubectl を適用 -f longhorn.yaml

Helm Chartの使用

v1.1.2では、Longhornは自動的にプレフィックス。プライベート レジストリからイメージをプルするには、registryUrl パラメータを設定するだけです。

注意: registryUrl をプライベート レジストリに設定すると、Longhorn はそのレジストリからのみイメージをプルしようとします。すべての Longhorn コンポーネントのイメージがレジストリにあることを確認してください。そうでないと、Longhorn はイメージを取得できません。

デフォルトの画像名を使用する

ここで推奨されているようにイメージ名を維持する場合は、次の手順に従うだけです。

Longhorn リポジトリをクローンします。

  1. git クローン https://github.com/longhorn/longhorn.git

chart/values.yaml内

Longhorn はこの情報を使用してシークレットを自動的に生成し、それを使用してプライベート レジストリからイメージを取得します。

  1. デフォルト設定:
  2. レジストリシークレット: <SECRET_NAME>
  3.  
  4. プライベートレジストリ:
  5. レジストリ URL: <REGISTRY_URL>
  6. レジストリユーザー: <REGISTRY_USER>
  7. registryPasswd: <レジストリパスワード>
  8. レジストリシークレット: <レジストリシークレット名>
  • プライベート レジストリ URL を指定します。レジストリに認証が必要な場合は、プライベート レジストリ ユーザー、プライベート レジストリ パスワード、およびプライベート レジストリ シークレットを指定します。

カスタム画像名の使用

カスタムイメージ名を使用する場合は、次の手順に従います。

Longhornリポジトリをクローンする

  1. git クローン https://github.com/longhorn/longhorn.git

chart/values.yaml内

注意: プライベート レジストリ プレフィックスは含めないでください。自動的に追加されます。たとえば、イメージが example.com/username/longhorn-manager の場合、次の表では username/longhorn-manager を使用します。

  • Longhorn イメージとタグを指定します。
  1. 画像:
  2. ロングホーン:
  3. エンジン:
  4. リポジトリ: longhornio/longhorn-engine
  5. タグ: <LONGHORN_ENGINE_IMAGE_TAG>
  6. マネージャー:
  7. リポジトリ: longhornio/longhorn-manager
  8. タグ: <LONGHORN_MANAGER_IMAGE_TAG>
  9. ユーザ:
  10. リポジトリ: longhornio/longhorn-ui
  11. タグ: <LONGHORN_UI_IMAGE_TAG>
  12. インスタンスマネージャー:
  13. リポジトリ: longhornio/longhorn-instance-manager
  14. タグ: <LONGHORN_INSTANCE_MANAGER_IMAGE_TAG>
  15. シェアマネージャー:
  16. リポジトリ: longhornio/longhorn-share-manager
  17. タグ: <LONGHORN_SHARE_MANAGER_IMAGE_TAG>
  • CSI ドライバー コンポーネントのイメージとタグを指定します。
  1. シーエスアイ:
  2. 添付者:
  3. リポジトリ: longhornio/csi-attacher
  4. タグ: <CSI_ATTACHER_IMAGE_TAG>
  5. プロビジョナー:
  6. リポジトリ: longhornio/csi-provisioner
  7. タグ: <CSI_PROVISIONER_IMAGE_TAG>
  8. ノードドライバレジストラ:
  9. リポジトリ: longhornio/csi-node-driver-registrar
  10. タグ: <CSI_NODE_DRIVER_REGISTRAR_IMAGE_TAG>
  11. リサイズ:
  12. リポジトリ: longhornio/csi-resizer
  13. タグ: <CSI_RESIZER_IMAGE_TAG>
  14. スナップショット作成者:
  15. リポジトリ: longhornio/csi-snapshotter
  16. タグ: <CSI_SNAPSHOTTER_IMAGE_TAG>
  • プライベート レジストリ URL を指定します。レジストリに認証が必要な場合は、プライベート レジストリ ユーザー、プライベート レジストリ パスワード、およびプライベート レジストリ シークレットを指定します。 Longhorn はこの情報を使用してシークレットを自動的に生成し、それを使用してプライベート レジストリからイメージを取得します。
  1. デフォルト設定:
  2. レジストリシークレット: <SECRET_NAME>
  3.  
  4. プライベートレジストリ:
  5. レジストリ URL: <REGISTRY_URL>
  6. レジストリユーザー: <REGISTRY_USER>
  7. registryPasswd: <レジストリパスワード>

Longhornのインストール

  • ヘルム2
  1. helm をインストールします。/chart --name longhorn --namespace longhorn-system  
  • ヘルム3
  1. kubectl で名前空間 longhorn-systemを作成します
  2.  
  3. helm をインストール longhorn ./chart --namespace longhorn-system  

Rancherアプリの使用

デフォルトの画像名を使用する

上記の推奨どおりにイメージ名を維持した場合は、次の手順に従うだけです。

  • プライベート レジストリ設定セクションで、以下を指定します。

Longhorn はこの情報を使用してシークレットを自動的に生成し、それを使用してプライベート レジストリからイメージを取得します。

  • プライベートレジストリ URL
  • プライベートレジストリユーザー
  • プライベートレジストリパスワード
  • プライベートレジストリの秘密名

カスタム画像名の使用

  • カスタム画像名を使用する場合は、「デフォルトの画像を使用する」を False に設定し、画像の名前を指定します。

注意: プライベート レジストリ プレフィックスは含めないでください。自動的に追加されます。たとえば、イメージが example.com/username/longhorn-manager の場合、次の表では username/longhorn-manager を使用します。

  • プライベート レジストリ URL を指定します。レジストリに認証が必要な場合は、プライベート レジストリ ユーザー、プライベート レジストリ パスワード、およびプライベート レジストリ シークレット名を指定します。 Longhorn はこの情報を使用してシークレットを自動的に生成し、それを使用してプライベート レジストリからイメージを取得します。

トラブルシューティング

Helm/Rancher インストールの場合、ユーザーがプライベート レジストリに認証するためのシークレットを送信し忘れると、longhorn-manager DaemonSet の作成に失敗します。

Kubernetesシークレットを作成する

  1. kubectl -n longhorn-systemシークレット docker-registry <シークレット名>を作成します--docker-server=<レジストリ URL> --docker-username=<レジストリ ユーザー> --docker-password=<レジストリ パスワード>  

レジストリ シークレット設定オブジェクトを手動で作成します。

  1. APIバージョン: longhorn.io/v1beta1
  2. 種類: 設定
  3. メタデータ:
  4. 名前: レジストリシークレット
  5. 名前空間: longhorn-system
  6. 値: <SECRET_NAME>

kubectl apply -f レジストリシークレット.yml

Longhorn を削除して再インストールします。

  • ヘルム2
  1. helm アンインストール ./chart --name longhorn --namespace longhorn-system  
  2.  
  3. helm をインストールします。/chart --name longhorn --namespace longhorn-system  
  • ヘルム3
  1. helm アンインストール longhorn ./chart --namespace longhorn-system  
  2.  
  3. helm をインストール longhorn ./chart --namespace longhorn-system  

推薦する:

日付を意図的に使用して Longhorn バージョンとの関連付けを回避するため、イメージ タグ、特にインスタンス マネージャー イメージ タグ (v1_20200301 など) を操作しないことを強くお勧めします。

Longhorn コンポーネントのイメージは、Dockerhub の longhornio アカウントでホストされています。たとえば、longhornio/longhorn-manager:v1.1.2 です。イメージをプライベート レジストリにプッシュする場合は、アカウント名 longhornio を同じにしておくことをお勧めします。これにより、不要な構成の問題を回避できます。

<<:  Longhorn、エンタープライズクラスのクラウドネイティブコンテナ分散ストレージ - カスタマイズされたデプロイメントデフォルト

>>:  一般的なコンテナイメージ構築ツールとソリューションの紹介

推薦する

Dianpingのオープンプラットフォームに対する開発者の見解:歓迎するが拒否も

数か月にわたる準備を経て、Dianping はプラットフォーム (developer.dianpin...

OVH: US OpenStack クラウド サーバーが 30% オフ、月額 8.74 ドル、4G メモリ/2 コア/80g SSD/500M 帯域幅

OVH についてはおそらく説明の必要はないでしょう。 1 つ目の特徴は、超高防御力です。基本的に、1...

ユーザーエクスペリエンスと収益性の調和とバランスを実現する方法

ウェブサイトで優れたユーザー エクスペリエンスを提供することは、検索エンジンの高要件ですが、ウェブサ...

キーワードツール SEOChat

SEO Chat キーワード提案ツールは SEO Chat から進化しました。キーワード提案ツールは...

tmhhost: ロサンゼルス CN2 独立サーバー 簡単評価、高速ウェブサイト構築マシン

tmhhost について皆さんがよく知っているのは、香港トリプルネットワーク cn2 gia、香港 ...

医療業界の現状とSEOの実態の解釈

私はSEOに携わるようになってからずっと医療業界で働いています。医療業界に長く携わってきて、一番感じ...

最近人気のスパルタンホストシアトルVPS(トリプルネットワークユニコムAS4837)の簡単なレビュー

今年の2月頃から、Spartanhostという中途半端なVPSベンダーが突如現れ、安価なVPSを好む...

ウェブマスターネットワークからの毎日のレポート:Dangdangの偽の共同購入ビジネスが再編される

ダンダンの2つの「偽販売」事件は、電子商取引業界における偽造品の苦痛を露呈したオンライン小売市場のシ...

SEO Baiduウェブマスタープラットフォームとの直接対話が再開

改良された Baidu Webmaster プラットフォームがリリースされました。インターフェースの...

ウェブマスターは自動外部リンクを使用する際には注意する必要がある

ここ数日、Nian Bin は多くの SEO 担当者が「自動外部リンク ツール」や「自動外部リンク」...

キーワードランキングの向上とSEOの習得が鍵です!

Amazon セラーとしてこのプラットフォームで成功するかどうかは、次の 2 つの要素にかかっていま...

疑似オリジナリティを好む人が知っておくべきこと

私は医療業界で検索エンジンマーケティングに携わっています。医療業界のプロモーションや編集に携わったこ...

Kubernetes 1.24 リリース — 新機能

Kubernetes 1.24 は、当初 4 月 19 日にリリースされる予定でしたが、5 月 3 ...

ウェブサイトの最適化についてはさまざまな意見があります。左に行くべきでしょうか、それとも右に行くべきでしょうか?

SEO に初めて触れたとき、私はとても好奇心が強く、ベテランのウェブマスターの意見を聞くために一日中...

生成 AI とクラウド ネイティブは期待が膨らんでいる時期にあります。それらは企業変革よりも重要ですか?

今年、業界には「AI記者会見でない記者会見はもう存在しない」というジョークがある。そうです、ほぼすべ...