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

推薦する

マーケティングと人生は切り離せない。「犬の皮の絆創膏」の流行には注意

「マーケティング」は人々の日常生活の一部になっているだろう。朝、仕事に行くと、街のいたるところにポス...

テンセントはiOS 6で敗退、アップルはSina Elite Interactiveを選択

【報道】マイクロブログ戦争では、新浪がリードし、テンセントが追随した。テンセントはQQをプラットフォ...

Windows BitLocker による安全なディスク暗号化

ノートパソコンのユーザーは、次のような懸念を抱いているはずです。不可抗力によりノートパソコンが紛失し...

hosteons: US VPS、無料 DA パネル、無料 Windows ライセンス、年間 36 ドル、1G メモリ/1 コア (Ryzen9 3900X)/15g NVMe/2T トラフィック

最近、hosteons はサーバーをアップグレードし、古い AMD シリーズ プラットフォームを廃止...

「虎」のドメイン名が人気。中国の起業家で元編集長がHuxiu.comを設立

ドメイン名ニュース: Hupu.com が新しいドメイン名を有効化して間もなく、Weibo で、Ch...

DevOps における継続的テストを最適化するためのベストプラクティス

翻訳者 |李睿校正:孫淑娟ますます多くの企業がデジタル変革に乗り出すにつれ、DevOps の考え方に...

キーワードランキングが下がった場合の対処法

私はウェブサイト運営に3年間携わってきました。キーワード順位が下がった場合の対処法をお伝えします。賛...

hostdoc: 500Gbps の高セキュリティ VPS、年間 £10.99 から、オプションで 7 つのデータセンター

Hostdocは年末にイギリスで登録されました(資格は確認できます)。主な事業はVPSです(共有ホス...

WeChatゲームミニプログラムレポート:ミニプログラムユーザーの80%がミニゲームをプレイしている

最近、 QuestMobileは「 WeChatゲームミニプログラムレポート」を発表し、 WeCha...

コンテンツ+内部リンク+外部リンクが連携して、ウェブサイトを素早くインデックスに登録します。

ウェブサイトの登録は、私たちウェブマスターがウェブサイトを構築するための最も基本的な要件です。ウェブ...

ウェブサイトのコンテンツや外部リンクは、人々があなたを知らないことによる問題ではなく、あなた自身があなたを知らないことによる問題です。

今夜(4月11日)、私は自分のブログ本文からエクスポートされたリンクを注意深く数えてみたところ、その...

モモ版「Douyin」がリリース。動画ソーシャルアプリ「Duiyan」は人気になれるか?

今年、 Momoの新年の大ヒット作「Duiyan APP」が先日正式にリリースされました。今回、Mo...

百度検索がICP申請情報の表示を開始、一部の病院関連の検索も表示

BaiduオンラインウェブサイトICP申請のヒント新浪科技は11月14日朝、百度からの公式ニュースに...

網易有道がオンライン教育を混乱させ、新東方などがYY無料プラットフォームに反撃する可能性

原題:NetEase Youdaoがオンライン教育を破壊し、伝統的な機関を引き付けて適切な焦点を見つ...

SharkTech: 10Gbps 無制限トラフィック サーバーが 500 ドル値下げ、40Gbps 防御が無料に

Sharktech、10Gbps 帯域幅サーバー、無制限トラフィックサーバー、スーパープロモーション...