【クラウドネイティブ】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四半期および通期の業績を発表

推薦する

マーケティングプロモーション:ゲーミフィケーションマーケティングを実装するための5つのステップ!

情報爆発の時代に人々の注目を集めたいなら、あなたの商品は興味深く、特別なものでなければなりません。こ...

鉄道省のチケット予約ウェブサイトの SEO 原則の簡単な分析

最近の鉄道チケットのオンライン予約をめぐる論争により、チケットを探している多くの人々が大変イライラし...

ウェブマスターにとっての解決策はどこにあるのでしょうか?

私はウェブサイトに携わり、ウェブマスターとして1年間働いてきました。私の気持ちは、多くの新人ウェブマ...

モバイル製品はどのようにして収益を上げるのでしょうか?

モバイルインターネットの時代も本格的に到来し、従来の主流の収益モデルである広告を活用して、モバイルア...

DoeLashes が SEO 戦略を通じて熾烈な競争の激しいつけまつげ業界で抜きん出た存在となった方法

最近はブランドサイトやSEOに注目しているせいか、最近見たり友人と話したりするのは、ブランドサイトや...

Baidu Webmaster Community が登録を開始、SEO が軌道に戻る可能性がある

5月29日、一部のネットユーザーがBaiduウェブマスタープラットフォームにログインし、Baiduウ...

アリババクラウドはタイのTrue IDCや日本のJP GAMESなど海外企業30社近くと提携

アリババクラウドは9月22日、タイ・プーケットで開催されたアリババクラウド国際サミットで、タイのTr...

新しい最適化手法: 外部リンクリソースを拡張する方法

外部リンクは、ウェブサイトのキーワードランキングを向上させる上で重要な要素です。検索エンジンは現在、...

3 か月以内に新しいサイトを急速にランキングするための最適化テクニック

新しいウェブサイトを 3 か月以内にトップページにランクインさせたり、1 位にしたりしたい場合は、コ...

銀行業界は現在、クラウドへの移行をどのように進めているのでしょうか?

2021年7月15日午前、中国建設銀行でシステムクラッシュが発生し、通常の業務が行えなくなり、すべて...

AWS NAT ゲートウェイの使用開始

AWS(Amazon Web Services)のクラウドコンピューティング分野において、NAT ゲ...

ブランド効果プロモーション:Docin Libraryの運営

各 SEOER には独自の最適化方法があり、異なるターゲット グループを対象としています。検索エンジ...