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

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

推薦する

四川省は1,000以上の未登録ウェブサイトを一掃し、42,000以上の登録記録を抹消した。

記者が四川省の関係部門から得た情報によると、国家インターネット情報局、工業情報化部など9つの省庁がイ...

Bステーションの拡張と抑制

最近、Bilibili(略してB Station )が香港で二次上場を模索しているというニュースが出...

大規模SaaSプラットフォーム製品アーキテクチャの設計アイデア

「アーキテクチャ」を検索すると、組織構造、ビジネス アーキテクチャ、データ アーキテクチャ、技術アー...

フェスティバルのホットスポットを活用したブランドマーケティング戦略!

この2か月間には、教師の日、中秋節、10月初旬の国慶節など多くの祝日があり、インターネットにはあらゆ...

主要な IoT テクノロジー: エッジ コンピューティングにおけるクラウドネイティブ コンテナ テクノロジーの応用

クラウドネイティブとは何ですか?クラウド コンピューティング アプリケーションの普及に伴い、クラウド...

リースウェブ - 1g メモリ KVM/40g ハードディスク/500g トラフィック/月額 7 ドル

リースウェブは、1997 年に設立された、歴史のある有名なインターネット アプリケーション プロバイ...

#再入荷# hostkvm: 香港 VPS (大帯域幅)、Windows 搭載、メモリ 2g、わずか 68 元

香港の湾仔データセンターにあるHostkvmのVPSが再入荷しました(前回11月10日に再入荷した際...

ネガティブケース分析はユーザーエクスペリエンスを向上させる方法を教えます

焦点となるトピックはランキングからコンバージョン率に移りました。多くのウェブマスターが、ランキングが...

ステーションBの主な変数

Bilibiliのコミュニティ生態とコンテンツは、中国でもトップクラスであると言えます。中編動画コン...

Appleの声明:iCloudデータ暗号化ベンダーはアクセスできない

「AppleのiCloud中国ユーザーのデータが中国電信のクラウドストレージに移された」というニュー...

アジャイル開発により、ニーズに迅速に対応できるAプラスプラットフォームソケット接続を実現

「世界を圧倒した囲碁ゲーム『アルファ碁』の開発者とそのチームは、囲碁がそれほど上手ではなかったかもし...

Shopex モールのウェブサイトの SEO 最適化に関する経験の共有

Shopexオンラインストアシステムは、中国で最も広く使用されているオンラインストアシステムです。そ...

#12.12# moonvm: 香港のダイナミック VPS、デュアル ISP IP、ワンクリック IP スイッチ、月額 98 ドル、4G メモリ/6 コア/15g SSD/専用 1Gbps 帯域幅

moonvm は、ダブル 12 の特別プロモーションを開始しました。香港のダイナミック VPS、HK...

検索エンジンのキーワードソースとウェブサイト収益の関係を解釈する

検索エンジンの検索キーワードはどのようにして出てくるのでしょうか?もちろん、ネットユーザーがGoog...