Kubernetes で Minecraft を実行する

Kubernetes で Minecraft を実行する

休暇中に、ずっと前から話題になっていたMinecraftを子供たちにインストールしてみました。それを体験するために、オープンソースランチャーHMCLをインストールしました。実は、このゲームには長い間注目してきましたが、時間がかかりすぎると感じています。しかし、子供たちが一緒に遊んでくれと頼んできたので、私は自分のサーバーを構築する方法を調べ始めました。 GitHub は、誰かがすでに Minecraft サーバー コンテナ イメージを作成しており、最初に Docker を使用して HomeLab にデプロイされ、その後マルチプレイヤー接続でプレイされていたことを発見しました。

遊び方がわからなかったため、数回試しただけで他の子供たちに殴り殺されてしまいました。後になって、「平和モード」というものがあることを知りました。退屈なので、パブリック クラウドにデプロイする方法を勉強しましょう。

  • 私の HomeLab は一年中稼働しています。重要なデータがないので、ハードウェアの安定性やデータのバックアップには投資していません。ゲームデータを失ったことで責められるのではないかと心配です。データ損失を回避するためにパブリッククラウドオブジェクトストレージを使用する
  • 外出中にたまにプレイする場合は、自宅でプレイするためにVPNに接続する必要があります。
  • 一緒に遊ぶことで友達とつながることもできる
  • 一番の理由は、昨年 Microsoft MVP に参加した際に Azure クレジットをいただいたので、使わないのはもったいないと思ったからです。

上記の理由から、Azure にサーバーを展開し、8c16g 仮想マシンを開いて k3s をインストールすることにしました。データは blog-csi-driver を通じて Azure Blob Storage に永続的に保存されます。

さあ始めましょう!

k3sをインストールする

バージョン 1.23 をインストールするには、次のコマンドを実行します。

エクスポート INSTALL_K3S_VERSION = v1 .23 .8 + k3s2
curl - sfL https : //.k3s.io取得します| sh - s - --disable traefik --write-kubeconfig-mode 644 --write-kubeconfig ~/.kube/config

k3s をインストールした後、BLOB ストレージ用の CSI ドライバーをインストールする必要があります。ドキュメントによると、動的構成にストレージ アカウントを使用するには、ドライバーはバージョン v0.9.0 以降を使用する必要があります。

CSIドライバーをインストールする

 curl - skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.19.0/deploy/install-driver.sh|bash-s v1.19.0 blobfuse - proxy--

ストレージクラスを作成する

まず、Azure ポータルにログインし、ストレージ アカウントにアカウントを作成します。仮想マシンと同じリージョンを選択することを忘れないでください。ネットワーク権限で、仮想ネットワークへのアクセスのみを許可するように選択します。作成が完了すると、アカウントのアクセス キーからキーを取得できます。

以前のアカウント名とキーを使用して secert を作成するには、次のコマンドを実行します。

 kubectl create secret generic azure - secret --from-literal azurestorageaccountname=[アカウントをここに入力] --from-literal azurestorageaccountkey=[キーをここに入力] --type=Opaque

次のステップは、シークレットを使用して StorageClass を作成することです。

 kubectl を適用-f - << EOF
---
apiバージョン:ストレージ.k8s .io / v1
種類:ストレージクラス
メタデータ:
名前:ブロブ-ヒューズ
プロビジョナー: blob .csi .azure .com
ボリューム拡張を許可する: true
パラメータ:
csi .storage .k8s .io /プロビジョナー-シークレット-名前: azure -シークレット
csi .storage .k8s .io / provisioner - secret - namespace :デフォルト
csi .storage .k8s .io /ノード-ステージ-シークレット-名前: azure -シークレット
csi .storage .k8s .io /ノード-ステージ-シークレット-名前空間:デフォルト
終了

PVCを作成する

StorageClass が作成されたので、PersistentVolumeClaim を作成し、上記の StorageClass ​blob-fuse​​ ​ の使用を指定できます。

 kubectl を適用-f - << EOF
APIバージョン: v1
種類: PersistentVolumeClaim
メタデータ:
名前:マインクラフト- PVC
仕様:
ストレージクラス名: blob - fuse
アクセスモード:
-読み書き多数
リソース
リクエスト:
ストレージ: 100 Gi
終了

Minecraft サーバーを展開する

Deployment を使用して、NodePort サービスをデプロイおよび作成します。使用したイメージは​itzg/minecraft-server:java17​​ ​です。関連する設定については、公式ドキュメントを参照してください(また殴られるのが怖かったので、ピースフルモードを有効にしました)。

 kubectl を適用-f - << EOF
apiバージョン:アプリ/ v1
種類:デプロイメント
メタデータ:
作成タイムスタンプ: null
ラベル:
アプリ:マインクラフト
名前:マインクラフト
仕様:
レプリカ 1
セレクター:
マッチラベル:
アプリ:マインクラフト
戦略 { }
テンプレート
メタデータ:
作成タイムスタンプ: null
ラベル:
アプリ:マインクラフト
仕様:
コンテナ:
-画像: itzg / minecraft -サーバー: java17
名前: minecraft -サーバー
環境:
-名前: EULA
: "TRUE"
-名前: ONLINE_MODE
: "FALSE"
-名前:難易度
価値平和
-名前: PVP
: "false"
-名前: UID
: "0"
-名前: GID
: "0"
-名前:メモリー
: "4G"
リソース { }
ポート:
-コンテナポート: 25565
プロトコル: TCP
ボリュームマウント:
-名前:永続的-ストレージ
マウントパス: /データ
巻数:
-名前:永続的-ストレージ
永続ボリュームクレーム:
クレーム名:マインクラフト- PVC
---
APIバージョン: v1
種類:サービス
メタデータ:
ラベル:
アプリ:マインクラフト
名前:マインクラフト
仕様:
ポート:
-ポート: 25565
プロトコル: TCP
ターゲットポート: 25565
セレクター:
アプリ:マインクラフト
タイプ: NodePort
終了

テスト

クライアントを起動し、マルチプレイヤー ゲームにサーバーを追加します。アドレスは仮想マシンのパブリック IP で、ポートはサービスの NodePort です。

セルフホスティング-Minecraft

そうすれば楽しい時間が過ごせますよ。

<<:  クラウド コンピューティングの利点を探る: IaaS、PaaS、SaaS から GCP、AWS、Microsoft まで

>>:  eBPF ソケット レベル リダイレクトのカーネル実装の詳細を図解

推薦する

西安湘市はアマゾン ウェブ サービス (AWS) と提携し、北西部地域の顧客をクラウド変革に導く

クラウドコンピューティングの時代を迎え、従来のシステムインテグレーターやソフトウェア開発者がどのよう...

海外でのゲームプロモーションにおいてKOLとの最適な連携を実現するにはどうすればよいでしょうか?

マーケティングプロモーションは、海外でのゲームのプロモーション企画、公開、運営に欠かせない要素です。...

WeChatファンを素早く追加する方法をいくつか紹介します

新しいメディアソーシャルツールとして、WeChatの価値はWeiboをはるかに上回っています。ユーザ...

チップ不足、エッジコンピューティング、IoTが2022年のIT変革を推進する

Forrester Research は調査の中で、多くの IT プロフェッショナルがモノのインター...

ユーザーの真のニーズを深く理解することで、半分の労力で2倍の結果を達成できます。

今日、ウェブサイトが成功したいのであれば、ユーザーが本当に必要としているものを研究するために、より多...

dedipathロサンゼルスデータセンターのKVMシリーズVPSの簡単なレビューで、dedipathのVPSがいかに優れているかを説明します。

Dedipath は誰もがよく知っている企業です。同社はニューヨーク、ロサンゼルス、ラスベガス、ジャ...

共同購入取引額は初めて20億を突破したが、回復は依然として困難:加盟店のリソースは限られている

共同購入市場の規模は回復しているものの、この成長を維持できるかどうかの方が懸念される。独立系共同購入...

Baidu インデックス ツールのアップグレードはウェブマスターにとって朗報でしょうか?

8月28日、Baidu Webmaster Platformは発表を発表しました。過去2日間、含まれ...

Webmaster.comからの日報:タオバオはO2Oに注力しており、共同購入サイトの数は500に減少

1. Sina Weibo: ユーザーエクスペリエンスの悪化と商業化の学習能力の欠如Sina Wei...

Xiamiが企業ウェブサイトのSEOのやり方について語る

今日、グループの誰かが私に、企業ウェブサイトの SEO をどのように行うかを尋ねました。企業ウェブサ...

SEO 担当者にとって 360 度検索の重要性は何ですか?

最近、検索業界で最も人気のあるニュースは、360 SearchとBaiduの間のいわゆる「3B」戦争...

滴滴出行、テンセントの1000万ドル投資に反応「資金調達の主張は単なる噂」

4月26日、タクシー配車アプリ「滴滴出行」がテンセントから1500万ドルの巨額投資を受けたとメディア...

LightCloud - 国慶節 12% オフ/高防御 VPS+CN2 ネットワーク+ゴールデン シールド ファイアウォール「言葉では言い表せない」

LightCloudは現在、フランス、カナダ、韓国、香港のデータセンターでホスティングサービスを運営...

ウェブサイト分析: レスポンシブナビゲーションメニューを設計するための 5 つのルール

概要: この記事では、より難しいレスポンシブ Web デザイン、つまりレスポンシブ ナビゲーション ...