【クラウドネイティブ】Minio on k8s 解説と実践操作

【クラウドネイティブ】Minio on k8s 解説と実践操作

1. 概要

MinIO は、GNU Affero General Public License v3.0 に基づいてリリースされた高性能オブジェクト ストレージです。 Amazon S3 クラウド ストレージ サービス API と互換性があります。 MinIO を使用して、機械学習、分析、アプリケーション データ ワークロード向けの高性能インフラストラクチャを構築します。

公式ドキュメント: https://docs.min.io/ 中国語ドキュメント: http://docs.minio.org.cn/docs/ GitHub アドレス: https://github.com/minio/minio/

2. オーケストレーションとデプロイメントを開始する

minio にはチャート パッケージがあるため、既存のチャート パッケージに基づいて変更します。

1) チャートパッケージをダウンロードする

 helmリポジトリbitnamiを追加しますhttps://charts.bitnami.com/bitnami
helm pull bitnami / minio --バージョン 11.10.16
tar - xf minio - 11.10 .16 .tgz

2) イメージを構築する

ここではイメージを再構築せず、リモート パッケージをローカル harbor リポジトリにプッシュするだけです。イメージの構築方法がわからない場合は、メッセージを残すか、プライベートメッセージを送信してください。

ドッカープル docker .io / bitnami / minio : 2022.11 .11 - debian - 11 - r0
docker タグ docker .io / bitnami / minio : 2022.11.11 - debian - 11 - r0 ​​myharbor .com / bigdata / minio : 2022.11.11 - debian - 11 - r0
docker push myharbor .com / bigdata / minio : 2022.11 .11 - debian - 11 - r0

docker pull docker .io / bitnami / minio -クライアント: 2022.11.7 - debian - 11 - r0
docker タグ docker .io / bitnami / minio -クライアント: 2022.11.7 - debian - 11 - r0 ​​myharbor .com / bigdata / minio -クライアント: 2022.11.7 - debian - 11 - r0
docker push myharbor .com / bigdata / minio -クライアント: 2022.11.7 - debian - 11 - r0

3) YAMLレイアウトを変更する

  • minio/値.yaml
画像
レジストリ: myharbor.com
リポジトリ: bigdata / minio
タグ: 2022.11.11 - debian - 11 - r0

クライアントイメージ:
レジストリ: myharbor.com
リポジトリ: bigdata / minio -クライアント
タグ: 2022.11.7 - debian - 11 - r0

# `スタンドアロン`または`分散`
モード:分散

# ログインアカウント、パスワード
認証:
ルートユーザー:管理者
ルートパスワード: "admin12345"

ステートフルセット:
## @param statefulset .replicaCountゾーンあたりのポッドの数( MinIO & reg ;分散モードのみ) 。偶数かつ ` >= 4 `ある必要があります
##
レプリカ数: 4

サービス
## @param service .type MinIO & reg ;サービスタイプ
##
タイプ: NodePort
ノードポート:
API : "31900"
コンソール: "31901"

持続性:
有効: true
ストレージクラス: "local-minio-stroage"
サイズ: 10Gi
地元
-名前:ミニオ- 0
ホスト: "local-168-182-110"
パス: "/opt/bigdata/servers/minio/data/data1"
-名前:ミニオ- 1
ホスト: "local-168-182-111"
パス: "/opt/bigdata/servers/minio/data/data1"
-名前:ミニオ- 2
ホスト: "local-168-182-112"
パス: "/opt/bigdata/servers/minio/data/data1"
-名前:ミニオ- 3
ホスト: "local-168-182-110"
パス: "/opt/bigdata/servers/minio/data/data2"
  • minio/テンプレート/pv.yaml
 { { -範囲.Values ​​.persistence .local } }
---
APIバージョン: v1
種類:永続ボリューム
メタデータ:
名前: { { .name } }
ラベル:
名前: { { .name } }
仕様:
ストレージクラス名: { { $ .Values ​​.persistence .storageClass } }
容量
ストレージ: { { $ .Values ​​.persistence .size } }
アクセスモード:
-一度だけ読み書き可能
地元
パス: { { .path } }
ノードアフィニティ:
必須
ノードセレクタ用語:
-一致する表現:
-キー: kubernetes.io/ホスト名
演算子:

- { { 。ホスト} }
---
{ { -終わり} }

4) 展開を開始する

 ssh ローカル- 168 - 182 - 110 mkdir - p / opt / bigdata / servers / minio / data / data { 1 .. 2 }
ssh ローカル- 168 - 182 - 111 mkdir - p / opt / bigdata / servers / minio / data / data { 1 .. 2 }
ssh ローカル- 168 - 182 - 112 mkdir - p / opt / bigdata / servers / minio / data / data { 1 .. 2 }

# --dry-run インストールをシミュレートする
# --debug デバッグを有効にする
# helm インストール--dry-run --debug minio ./minio -n minio --create-namespace

helm をインストール--debug minio ./minio -n minio --create-namespace

注記

チャート名: minio
チャートバージョン: 11.10 .16
アプリバージョン: 2022.11.11

**チャート展開されるまでしばらくお待ちください**

MinIO & reg ;クラスター内から次の DNS 名ポート経由でアクセスできます

ミニオ.minio .svc .cluster .local

資格情報を取得するには、次を実行します:

エクスポート ROOT_USER = $ ( kubectl get secret --namespace minio minio -o jsnotallow="{.data.root-user}" | base64 -d)
エクスポート ROOT_PASSWORD = $ ( kubectl get secret --namespace minio minio -o jsnotallow="{.data.root-password}" | base64 -d)

MinIO & reg ;に接続するにはクライアントを使用するサーバー:

- MinIO & reg を実行しますクライアント ポッドに、必要なコマンド(例: 'admin info' )を追加します

kubectl run --namespace minio minio-client \
--rm --tty -i --restart='しない' \
--env MINIO_SERVER_ROOT_USER=$ROOT_USER \
--env MINIO_SERVER_ROOT_PASSWORD=$ROOT_PASSWORD \
--env MINIO_SERVER_HOST=ミニオ \
--image myharbor.com/bigdata/minio-client:2022.11.7-debian-11-r0 -- 管理者情報 minio

MinIO & reg ;にアクセスするにはウェブUI :

- MinIO & reg を入手します URL :

NODE_PORT をエクスポートします $ ( kubectl get --namespace minio -o jsnotallow="{.spec.ports[0].nodePort}" services minio)
NODE_IP をエクスポートします $ ( kubectl get nodes --namespace minio -o jsnotallow="{.items[0].status.addresses[0].address}")
echo "MinIO® Web URL: http://$NODE_IP:$NODE_PORT/minio"

チェック

 kubectl get pods  svc - n minio - wide を実行します。 

5) テスト検証

Web ログイン: リンクの説明を追加 http://local-168-182-110:31901/ アカウント/パスワード: admin/admin12345

バケットを作成してファイルをアップロードする

MCクライアント

 # メモを表示
ヘルムはミニオのメモを取得します-ミニオ

# クライアントを起動する
エクスポート ROOT_USER = $ ( kubectl get secret --namespace minio minio -o jsnotallow="{.data.root-user}" | base64 -d)
エクスポート ROOT_PASSWORD = $ ( kubectl get secret --namespace minio minio -o jsnotallow="{.data.root-password}" | base64 -d)

kubectl run --namespace minio minio-client \
--rm --tty -i --restart='しない' \
--env MINIO_SERVER_ROOT_USER=$ROOT_USER \
--env MINIO_SERVER_ROOT_PASSWORD=$ROOT_PASSWORD \
--env MINIO_SERVER_HOST=ミニオ \
--image myharbor.com/bigdata/minio-client:2022.11.7-debian-11-r0 -- 管理者情報 minio

6) アンインストール

 helm アンインストール minio - n minio

ssh ローカル- 168 - 182 - 110 rm - fr / opt / bigdata / servers / minio / data / data { 1 .. 2 } /*
ssh local-168-182-111 rm -fr /opt/bigdata/servers/minio/data/data{1..2}/*
ssh local-168-182-112 rm -fr /opt/bigdata/servers/minio/data/data{1..2}/*

Git アドレス: https://gitee.com/hadoop-bigdata/minio-on-k8s

<<:  Kubernetes スケジューラはどのように機能しますか?

>>:  VMware、2023年度第4四半期および通期の業績を発表

推薦する

分散使用に Redis を使用するのはなぜですか?

ビジネスアプリケーションを作成するプログラマーの多くは、実際の開発で Redis を使用する際に S...

国内のクラウドコンピューティング製品の中で最高のものはどれですか?比較のための5つの次元

この記事は製品に関する記事であり、対象顧客はクラウド コンピューティング製品マネージャーと標準的なク...

データセンター管理者が直面するさまざまな仮想化テクノロジーの選択方法

すべての破壊的技術と同様に、サーバー仮想化は静かに登場し、その後爆発的に普及し、最終的にはエネルギー...

Baidu のマッチングアルゴリズムがウェブサイトのランキングに与える影響

多くのウェブマスターの友人は私と同じだと思います。彼らは時々 SEO ブログ、SEO フォーラム、ま...

あなたのウェブサイトのユーザーは「忠実」ですか?

ウェブサイトの忠誠心、この用語にはあまり馴染みがないかもしれません。しかし、これは古いユーザーの心の...

アプリ チャネルを効果的に宣伝するにはどうすればよいでしょうか? 3ステージ!

APPチャネルのプロモーションは、プロモーション戦略、実装、効果レビューという 3 つの段階を経る必...

0ping: 月額 9 ユーロ、ドイツの VPS、8G RAM/2 コア (Threadripper)/60g NVMe/20Gbps 帯域幅

0ping.eu は 2009 年に設立され、主にドイツのデータ センターで VPS ビジネスを運営...

spinservers: サンノゼ VPS - 40% オフ、月額 5.6 ドル、2G メモリ/2 コア/20g SSD/2T トラフィック/1Gbps 帯域幅

spinservers は、中国の中秋節期間中に、サンノゼ データ センターの VPS プロモーショ...

ソーシャル メディア運用: ソーシャル マーケティングの 7 つの大罪

140語の要約:ソーシャル メディアで成功するには、避けるべきよくある間違いがいくつかあります。これ...

キャンパスのモバイルインターネット:受け入れがたい問題

モバイル インターネット分野の起業家にとって、大学市場は常に彼らが注目する大きな市場でした。しかし、...

Xiaomiのスマホが教えてくれた4つのこと

Xiaomi の携帯電話は、必ず話題になります。Xiaomi の携帯電話の研究開発、プロモーション、...

検索エンジンの信頼度が下がったウェブサイトを回復する方法

ウェブサイトの降格は、多くのウェブマスターが直面する問題です。ウェブサイトが降格されると、一部のウェ...

SEO最適化とプロモーションにおけるTKDの書き方

月収10万元の起業の夢を実現するミニプログラム起業支援プランSEO 最適化、トラフィックの転換、プロ...

quickweb - 年間 15 ドルの VPS - 全面的に値下げ

quickweb は 2008 年に設立され、ニュージーランドに登録された VPS 企業です。中国人...

Baidu の顔を変える SEO に不安を感じないで

SEOVIPのウェブサイトがリニューアルされ、レイアウトスタイルが変わった後の微妙な変化について書き...