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

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

推薦する

hostdare-アジア最適化/10% オフ/0.25 USD/512M メモリ/30g SSD/1T トラフィック/Alipay 対応

hostdare.com のアジア最適化 VPS は特別プロモーションを実施しており、初月は 10%...

企業サイトのコンテンツ量を増やすための質の高いオリジナル記事作成のポイント

記事を書くのに1~2時間かかります。私の目的は、皆さんに価値ある有意義な情報を提供し、私自身の経験や...

信頼性の高い設計により VMware 環境の障害を防止

ESXi ホストでは高度な機能と管理のために vCenter が必要ですが、vCenter がなくて...

なぜ企業もWeiboマーケティングを行う必要があるのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス1. なぜWeiboを使...

Oneprovider ロサンゼルス 50% オフ VPS シンプルレビュー

最近、米国のいくつかのデータセンターにある Oneprovider.com の VPS がセール中で...

ベテランが段階的に外部リンクスペシャリストを「育成」する方法

SEO スーパーバイザーは、最適化プランの全体的な構築だけでなく、より重要な最適化アイデアのカバーに...

企業向けショッピングモールシステム構築の3つのポイントを簡単に説明します。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています以前は、シ...

共有の例は、高品質の外部リンクがウェブサイトのBaiduランキングに有益であることを証明しています

多くのウェブマスターにとって、外部リンクは毎日行うべきタスクの 1 つです。自分のサイトが毎日リンク...

Baidu による旅行ウェブサイトのプロモーションに関する経験と洞察

2012年に旅行会社にSEOスーパーバイザーとして入社してから1年以上が経ちました。いろいろな思いが...

Yuehuai SEO: Baidu は家出をしてウェブマスターとして K-ed されました。自分の身は自分で守らなければなりません

傷を癒す最良の薬は時間です。時間が経つにつれ、Baidu に K された多くのウェブマスターと SE...

かつては数百万の価値があったヤオミンのドメイン名が、現在わずか90元で販売されているが、誰も興味を持っていない

かつては数百万の価値があったヤオ・ミンのドメイン名は、現在、わずか90元で所有者の手の中で朽ち果てて...

IoT 向けクラウドとエッジ コンピューティングを統合する 3 つのステップ

過去数年間で、モノのインターネットは急速に成長しました。ムーアの法則によれば、チップあたりのトランジ...

クラウドコンピューティングとエッジコンピューティング

クラウド コンピューティングとエッジ コンピューティングの違いについて議論する際には、データ処理の実...

ブランドマーケティングを活用する方法を本当にご存知ですか?

多くのブランドは、マーケティングカレンダーを参考にして適切なノードを選択し、年間マーケティング計画を...