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

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

推薦する

buyvm-4月在庫満杯リマインダー(在庫継続放出)ストレージVPSが利用可能

buyvm.net は、VPS を使っている人なら誰でも多かれ少なかれ知っているはずです。価格面での...

moonvm: 台湾の VPS、HENET データセンター、600Mbps の直接接続帯域幅、月間 20T のトラフィック、月額 99 ドル

moonvm は、henet と APOL データ センターから選択できる台湾の VPS、主に台湾の...

テンセントクラウドの胡立明氏:テクノロジー、アジリティ、エコロジーを統合し、デジタルファイナンスを全面的にサポート

5月22日、テンセント・ファイナンシャル・クラウドのゼネラルマネージャー胡立明氏が、2019年テンセ...

ウェブサイトの最適化のどの詳細がユーザーエクスペリエンスに影響しますか?

ご存知のとおり、ウェブサイトの最適化プロセスで私たちが常に提唱してきた最適化方法は、通常のホワイトハ...

データをクラウドに移行するための 5 つの考慮事項

業界におけるクラウド移行に関する議論は、主にクラウド サービスを活用するためにアプリケーションを再設...

クラウドコンピューティングとエッジコンピューティングがデータセンターに与える影響

クラウド コンピューティングでは、ストレージやコンピューティング能力などのコンピューティング サービ...

ウェブサイトをリアルタイムで更新できるリアルタイムテクノロジーが1億ドルの投資を受ける

数日前、どんなウェブサイトが「リアルタイム」と呼べるのかと尋ねられました。 Weibo の「XX 件...

ピンドゥオドゥオの「内部論理」は変化した

明らかな認識の一つは、私たちがよく知っているPinduoduoが変化しているということです。 Pin...

なぜ人々はクラウド内の個人データを懸念するのでしょうか?

人々は日常の仕事や生活の中で、パーソナライズされたオンライン広告を頻繁に目にしますが、これらの広告が...

LG、米国に新たなクラウドコールセンターを発表

海外メディアによると、LGは米国に新たなクラウドコールセンターを開設すると発表した。この動きは、アフ...

SEOを「競争」の観点から見る

SEO に関して言えば、ホワイトハット SEO だけでも、ソフトな記事の書き方、ウェブサイトの構造化...

パーソナライズされた検索がトレンドになりつつあります。どのように最適化すればよいでしょうか?

Googleが登場したとき、検索エンジンがインターネットの世界を変えることができるとは誰も思っていま...

hosthatch Swiss VPS はいかがでしょうか?チューリッヒデータセンターVPSの簡単なレビュー

Hosthatch は、チューリッヒにデータセンターを持つスイス VPS (スイス クラウド サーバ...

ステージの設定方法とマイクロブログマーケティングの実行方法

私の周りの友人たちもどんどんインターネット起業家軍団に加わり、その多くがWeiboマーケティングの機...

Baiduへの掲載を加速させるいくつかの方法を公開

私も初心者で、数え切れないほどのゴミサイトを作ってきました。また、それらを Baidu に素早くイン...