MicroK8s で数分で単一ノードの Kubernetes インスタンスをデプロイ

MicroK8s で数分で単一ノードの Kubernetes インスタンスをデプロイ

[51CTO.com クイック翻訳] アプリケーションやサービスを開発していて、それをテストする必要がある場合など、Kubernetes の単一ノード インスタンスを作成したい場合があります。本番環境にリリースする前に、Kubernetes テスト プラットフォームにデプロイしてみませんか?おそらく、Kubernetes 開発スキルの向上に一生懸命取り組んでいることでしょう。開発とテストに使用する最適なインスタンスの 1 つは、完全な Kubernetes クラスターではなく、単一のノードです。

[[275523]]

しかし、この単一のノードをどうやって起動して実行するのでしょうか?それを実行する方法はたくさんあります。 Minikube ルートを使用することも、完全な単一ノードの標準 Kubernetes インストールを起動することも、Microk8s (https://microk8s.io/) を使用することもできます。

Canonical が管理する Microk8s は、非弾性で Rails ベースの単一ノード Kubernetes ツールであり、主にオフライン開発、プロトタイピング、テストを対象としています。 Microk8s には次の機能が含まれています。

  • イスティオ
  • GPGPUバインディング
  • デイリービルド
  • ローカルストレージ
  • ローカルレジストリ
  • 更新する
  • ダッシュボード
  • メトリクス
  • アップグレード
  • イングレスDNS
  • 適合

Microk8s はスナップ パッケージとして作成されているため、インストールして使用するには、この特定のユニバーサル パッケージ形式をサポートする Linux ディストリビューションが必要です。 Ubuntu Desktop 19.04 ディストリビューションで Microk8s を起動して実行する方法を紹介します。

インストール

Microk8s のインストールは非常に簡単です。ただし、インストールする前に、ディストリビューションが更新されていることを確認してください。プロセスが完了したら、ターミナル ウィンドウを開いてコマンドを実行します (図 A)。

図A. コマンドラインからMicrok8sをインストールする

  1. sudo スナップインストール microk8s --edge --classic

コマンドが完了したら、Microk8s を起動する必要があります。これは次のコマンドで実行されます。

  1. sudo microk8s.start

コマンドは、サービスが開始され、ポッドのスケジューリングが有効になっていることを報告します。

追加サービスのインストール

Microk8s を便利にするには、いくつかの追加サービスをインストールする必要があります。基本的なサービスである kube-dns と Microk8s ダッシュボードをインストールしましょう。ダッシュボードは、Kubernetes を操作および管理できる Web ベースのダッシュボードです。 Kube-dns は、クラスター上で DNS ポッドとサービスをスケジュールし、kubelete (各ノードで実行されているマスター ノード エージェント) を構成して、個々のコンテナーに DNS サービス IP アドレスを DNS リゾルバーとして使用するように指示します。

これら 2 つのサービスをインストールするには、ターミナル ウィンドウに戻って次のコマンドを実行します。

  1. sudo microk8s.enable dnsダッシュボード

次のような他のサービスを有効にすることもできます。

  • ストレージ - ホスト上のストレージを使用できるようにします。
  • Ingress - Ingress コントローラを作成します。
  • gpu — nvidia-docker ランタイム環境と nvidia-device-plugin-daemonset を有効にします。
  • istio - コア Istio サービスを有効にします。
  • レジストリ - プライベート Docker レジストリをデプロイします。

追加のサービスが必要であると判断した場合は、Microk8s を起動して実行した後、いつでも戻って microk8s.enable コマンド (追加するサービスを指定して) を実行できます。

ダッシュボードをインストールしたら、アクセスできるアドレスを見つける必要があります。これを行うには、次のコマンドを実行します。

  1. sudo microk8s.kubectl ですべての名前空間を取得します。

上記のコマンドは、いくつかの名前空間とそれに関連付けられたアドレスを出力します。

B. Microk8sダッシュボードのアドレスを見つける

service/kubernetes-dashboard に関連付けられている IP アドレスを見つけます。

ダッシュボードにアクセスする

これで、Web ブラウザー (Microk8s を実行している同じマシン上) を開いて、https://IP_ADDRESS (IP_ADDRESS は kubernetes-dashboard の IP アドレス) を指定できます。

この時点で、ダッシュボードにアクセスするにはトークンが必要であることがわかります。そのトークンはどうやって見つけるのですか?まず、次のコマンドを使用して、Microk8s に利用可能なすべてのシークレットを一覧表示するように要求する必要があります。

  1. sudo microk8s.kubectl -n kube-system シークレットを取得する

これにより、すべてのサービス名がリストされ、それにシークレット名が追加されます。ご覧のとおり (図 C)、Kubernetes ダッシュボードがリストに含まれています。

C. 機密情報を含むサービスを一覧表示する

対応するサービスのシークレット トークンを取得するには、次のコマンドを実行します。

  1. sudo microk8s.kubectl -n kube-system でシークレット kubernetes-dashboard-token-fv247 を記述します。

インストールした Kubernetes Dashboard インスタンスに関連付けられているキーと一致するように、fv247 エントリを変更してください。

上記のコマンドは長い文字列を表示します。文字列をコピーして、Web ブラウザに戻ります。ダッシュボード トークン ウィンドウ (図 D) で、トークンを選択し、コピーしたトークンをトークンの入力テキスト フィールドに貼り付けます。

図D. Kubernetesダッシュボードのトークン入力ウィンドウ

「SIGN IN」をクリックすると、Kubernetes ダッシュボードが表示されます (図 E)。

E. GIMPを使用して作成する

この時点で、Web ベースのダッシュボードから Kubernetes を管理できます。ジョブ、ポッド、レプリカ、スケジュールなどを作成します。右上隅の「作成」ボタンをクリックすると、YAML または JSON ファイルの内容を直接書き込んだり貼り付けたりすることができます。たとえば、NGINX デプロイメントを作成するとします。次の内容をエディターにコピーし (図 F)、「アップロード」をクリックします。

  1. APIバージョン: v1
  2. 種類: レプリケーションコントローラ
  3. メタデータ:
  4. 名前: nginx
  5. 仕様:
  6. レプリカ: 2
  7. セレクタ:
  8. アプリ: nginx
  9. テンプレート:
  10. メタデータ:
  11. 名前: nginx
  12. ラベル:
  13. アプリ: nginx
  14. 仕様:
  15. コンテナ:
  16. - 名前: nginx
  17. 画像: nginx
  18. ポート:
  19. - コンテナポート: 80

図 F. NGINX デプロイメント用の YAML ファイルのアップロード

YAML ファイルがアップロードされたら、[ワークロード] > [ポッド] をクリックすると、実行中としてリストされます (図 G)。

図 G. NGINX のデプロイメントが稼働中

Microk8s を使用して Kubernetes の単一ノード インスタンスを起動して実行し (そしてシンプルな Pod をデプロイする) ために必要なことはこれだけです。このツールは、独自の Kubernetes アプリケーションとサービスをすぐに開発するのに役立ちます。

元のタイトル: MicroK8s を使用して単一ノードの Kubernetes インスタンスを数秒でデプロイする、著者: Jack Wallen

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  Cloud+ CommunityとKuaishouが共同で、5つの人気のビッグデータ技術の詳細な分析を提供

>>:  エッジコンピューティングのコストを計算する方法

推薦する

小紅書でブランドマーケティングを促進する6つの方法

今日は、小紅書について私がまとめたちょっとした知識のポイントと、友人がよく困惑する質問、そしてノート...

SEOキーワードリサーチの実施方法

キーワード調査は、SEO 最適化作業の最も重要な部分です。コピーライティングや Web サイト アー...

ユーザーの購買意欲に影響を与えるいくつかの要因がコンバージョン率を向上させる可能性がある

ウェブサイトがオンラインになってから最初の訪問者が到着し、その後一定量のトラフィックが確保された後、...

tripodcloud: クリスマス + 新年、素晴らしい CN2 GIA VPS、3 つのネットワークへの直接接続

Tripodcloudは、クリスマスと新年を前に特別にいくつかの新しいサーバー(E5-2690v2、...

ウェブサイトのキーワードランキング低下の分析

ウェブサイトのキーワードのランキングは、SEO 担当者にとって常に最も関心の高い問題であり、ウェブマ...

VMware は、企業が生成 AI の力を簡単に活用できるよう支援します。

2023 年 8 月 23 日、VMware Explore 2023 カンファレンスにおいて、VM...

相互リンク: リンクリソースを見つける方法

数日前、私は「架橋の詳しい説明:架橋とは何か」と「架橋の詳しい説明:架橋の機能」を書きましたが、反応...

ブランドマーケティングプロモーション、H5 をどうやって作るのか?

H5の作り方は?職場での具体的な実践から得た私の考えやアイデアに基づき、事例と組み合わせて、H5 の...

VeryCD はすべての共有リソースリンクを削除し、eMule は変革の過程にある可能性があります

最近、多くのネットユーザーが、いつも利用しているダウンロード Web サイト VeryCD のすべて...

ボストンニュース:あなたのスイートスポットはどこですか?

インターネットの発展により、オンライン検索の機会はますます増えています。しかし、従来の企業が競争に遅...

デジタル経済におけるクラウドコンピューティングとビッグデータ技術の応用

クラウド コンピューティングとビッグ データ テクノロジーはデジタル経済の一部です。デジタル経済とは...

SEOアウトソーシングサービスはますます人気が高まっています

検索エンジンのアルゴリズムが何度もアップグレードされ、改善されるにつれて、中国の SEO 市場はます...

SEORは完璧なSEO運用チームを構築する方法を知る必要があります

ウェブサイトの運用をより大規模かつ包括的にしたい場合、完璧な SEO 運用チームが不可欠です。ビジネ...