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つの人気のビッグデータ技術の詳細な分析を提供

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

推薦する

Baidu によって K-ed されたウェブサイトに関する著者の経験の簡単な分析

ウェブサイトが成功する理由は一般的に同じですが、ウェブサイトがブロックされる理由はそれぞれ異なります...

WeChatパブリックアカウントを宣伝してフォロワーを増やす方法!

WeChatパブリックアカウントを運営する上で最も面倒なことは、ファンの数を増やすことです。WeCh...

YY音楽業界チェーン調査:隠れたリーダーが人気をコントロール

[はじめに] 多くのオンラインゲームユーザーは、特典を楽しむためにお金を払う習慣をすでに身に付けてい...

スクリーン支配とはどういう意味ですか?Baidu のスクリーン支配プロモーションの方法と戦略!

スクリーン支配は近年のSEOの流行語とみなされるべきです。最初は少し神秘的で「支配的」であり、多くの...

福建省通信管理局は226の違法・不法ウェブサイトを閉鎖し、78,900件の登録情報を抹消した。

今年初めから、福建省通信局はインターネット産業の主管部門としての職責を効率的に遂行し、インターネット...

10日間でホームページにキーワードを掲載する方法

寒い冬が到来し、今年も終わりに近づいている。SEO 担当者として他に何ができるだろうか? 諦めてラン...

WeChatモールの「テンプレート+カスタム開発」には2つの利点がありますが、どちらを選択しますか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますモバイル時...

中小規模の販売業者が陥りやすい検索トラップ

中小規模の販売者にとって、ダイヤモンドブースを設置する資金があまりない場合、電車やタオバオの顧客を通...

QingCloud、さらなるパフォーマンス向上を実現したプロフェッショナル向け強化ホスト「National Good Cloud」をリリース

エンタープライズレベルのフルスタッククラウドICTサービスプロバイダーであるQingCloud(qi...

TypechoブログのSEO修正

Typecho は、非常に優れた軽量ブログ システムです。WordPress の時代である今日、村長...

検索エンジンのブラックハット不正行為から逃れ、サイトランキングの自然な向上を促す(パート3)

また新しい日が始まりました。検索エンジンのブラックハットの不正行為から逃れ、サイトランキングの自然な...

USクラウドサーバー\US VPS推奨「トップ」マーチャント「Vultr」

Vultrは2009年に設立された、アメリカのChoopaデータセンター傘下のクラウドサーバーブラン...

より高いコンバージョン率を達成するための多面的なマーケティング

今日のインターネットの主要なトレンドの中で、O2O は業界関係者の間で最も頻繁に言及されるトピックで...

ハイブリッドクラウドの代表的な4つの応用例

クラウド コンピューティングの初期の頃、業界の専門家は、企業がより良い選択を行えるよう、パブリック ...