Linux
 Computer >> コンピューター >  >> システム >> Linux

UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

DevOpsは、ソフトウェアエンジニアと開発者がアプリケーションを開発およびデプロイする方法を大きく変えました。この革命の中心にあるテクノロジーの1つは、Kubernetesです。

MicroK8s(MicroKates)を使用してUbuntuにKubernetesのローカルインスタンスをインストールする方法を見てみましょう。この設定を行うと、安全で信頼性が高く、拡張性の高い方法でコンテナアプリケーションを簡単にホストできます。

なぜMicroK8sを使用するのですか?

Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化することでDevOpsの運用を合理化するのに役立つオープンソースプラットフォームです。 Kubernetesは一般にK8sとも呼ばれ、 kの間の8文字を数えることに由来する名前です。 およびs Kubernetesという名前で。 MicroK8sをMicroKubernetesインスタンスと考えてください。

Ubuntuを実行するほとんどのパブリックおよびプライベートの本番環境グレードのクラウド環境では、コンテナー化されたアプリの管理にCharmedKubernetesを使用しています。ただし、Charmed Kubernetesの課題は、リソースを大量に消費し、適切に構成するには十分なレベルの知識が必要なことです。

そこでMicroK8sが登場します。MicroK8sは小型で軽量のアップストリームKubernetesであり、開発者のPC、IoTデバイス、または仮想マシンを必要とせずにネイティブにエッジデバイスで実行できます。 MicroK8sはクロスプラットフォームであり、IntelアーキテクチャとARMアーキテクチャの両方で実行できます。

MicroK8sは、最小限の摩擦でKubernetesに慣れるための最良の方法の1つです。これは、Cloud Native Computing Foundation(CNCF)によってアップストリームで認定されたKubernetesであり、Kubernetesの実装が、指定された業界標準に準拠し、相互運用可能であることを保証します。

ステップ1:UbuntuへのMicroK8sのインストール

snapコマンドを使用してUbuntuにMicroK8を簡単にインストールできます。

sudo snap install microk8s --classic

または、UbuntuSoftwareCenterを使用してGUIからMicroK8をインストールすることもできます。 microk8sを検索するだけです 次に、インストールをクリックします ボタン。

UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

ステップ2:MicroK8用のファイアウォールを構成する

ポッド間およびインターネットとのシームレスな通信を確保するには、ファイアウォールのコンテナネットワークインターフェースで着信および発信通信を有効にする必要があります。

ポッドは、Kubernetesで展開可能な最小のコンピューティングユニットです。共有ストレージやネットワークリソースなどを備えた単一またはグループのコンテナにすることができます。

sudo ufw allow in on cni0 && sudo ufw allow out on cni0

次に、次のコマンドを実行します。

sudo ufw default allow routed

詳細UFWを使用してUbuntuファイアウォールを構成する方法

ステップ3:ユーザーをMicroK8sグループに追加する

現時点では、 sudoを使用する必要があります ほとんどのMicroK8sコマンドを実行するコマンド。これは本番サーバーでは優れたセキュリティ対策ですが、開発マシンでは必要ない場合があります。

sudoの使用を避けるために、ユーザーをMicroK8sグループに追加します。

sudo usermod -aG microk8s $USER

また、現在のユーザーを〜/ .kubeの所有者にします ディレクトリ。

sudo chown -f -R $USER ~/.kube

変更を有効にするには、次のコマンドを実行してユーザーグループをリロードします。

newgrp microk8s

詳細:Linuxでユーザーグループを管理する方法

ステップ4:重要なアドオンを有効にする

デフォルトでは、MicroK8sには、エッジデバイスとIoTデバイスで最小限のフットプリントを実現するための最小限の機能が含まれています。ただし、MicroK8sサービスを管理するためにいくつかの重要なアドオンをインストールできます。 microk8s を使用して、DNS、ダッシュボード、およびストレージのアドオンを有効にします コマンド。

microk8s enable dns dashboard storage

DNSアドオンは他のサービスで必要になる場合があるため、常に有効にすることをお勧めします。

ダッシュボードアドオンは、MicroK8sのサービスの概要をグラフィカルに提供します。サービスの管理にも使用できます。

次のコマンドを実行すると、使用可能なMicroK8sアドオンのリストを表示できます。

microk8s status

ステップ5:MicroK8sダッシュボードの表示

ダッシュボードアドオンを有効にしたので、WebブラウザからMicroK8sダッシュボードに簡単にアクセスできます。

まず、ダッシュボードポッドのIPアドレスが必要です。次のコマンドを実行して取得できます:

microk8s kubectl get all --all-namespaces
UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

上記のコマンドの出力から、 kubernetes-dashboardに気付くでしょう。 サービスはIPアドレス10.152.183.35で実行され、TCPポート443でリッスンしています。このIPアドレスはランダムに生成されるため、ダッシュボードサービスで使用されているものとは異なる場合があることに注意してください。

ブラウザで、リストされているIPアドレスに移動します。この場合、 https://10.152.183.35:443になります 。正しいURLを指していることを確認してください。

セキュリティ上の理由から、Kubernetesダッシュボードは、サインインするための認証の詳細を要求します。次のコマンドを実行すると、デフォルトのダッシュボードトークンにアクセスできます。次に、 kubernetes.io/service-account-tokenをコピーします 提示してトークン入力に貼り付けます。

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

ダッシュボードには、MicroK8のワークロード、サービス、構成、クラスターなどの概要が表示されます。

UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

ステップ6:MicroK8sを使用したサービスの作成

MicroK8の動作を確認するために、2つのポッドを含むマイクロボットサービスのデプロイメントを作成しましょう。 kubectlを使用してポッドを作成します コマンド:

microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1

以下のコマンドを使用して、マイクロボットポッドをスケーリングします。

microk8s kubectl scale deployment microbot --replicas=2

マイクロボットの展開を公開するためにサービスを作成します。

microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service

これで、 service / microbot-serviceという名前で2つのマイクロボットポッドがデプロイされました。 。次のコマンドを実行すると、マイクロボットサービスおよびその他のサービスの詳細を表示できます。

microk8s kubectl get all --all-namespaces
UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

マイクロボットサービスはNodePortで実行されているため、PCのブラウザからアクセスできます。この場合、サービスはランダムに生成されたポート30353で実行されています。

ブラウザで、URL http:// localhost:30353、にアクセスします。 ここで30353 上記の出力にリストされているポート番号です。正しいポート番号を使用していることを確認してください。

UbuntuでMicroK8sを使用してローカルKubernetesインスタンスを設定する方法

KubernetesとDocker:どちらを選択する必要がありますか?

このガイドでは、最小限のフットプリントのKubernetesをPCまたはエッジデバイスにローカルにインストールする方法について説明しました。 Kubernetesは多くの開発者のワークフローの一部であり、本番環境で大規模なコンテナ化されたアプリケーションをデプロイするために広く使用されています。

Kubernetesは、コンテナのグループを管理または調整するために使用されます。 Dockerコンテナ、簡単に。一方、スタンドアロンDockerは、主に単一のコンテナーを管理するために使用されます。 DockerとKubernetesのどちらを使用するかは、チームの能力と本番環境にデプロイするソフトウェアのサイズによって異なります。


  1. Kibanaのローカルインスタンスを設定する方法

    今日は、リモートElasticsearchクラスターに接続するためのKibanaのローカルインスタンスのセットアップについて説明します。 ObjectRocket for Elasticsearchインスタンスには、無料のホストされたKibanaインストールが含まれていますが、ローカルマシンでKibanaを実行すると、柔軟性が向上する場合があります。また、ホストされたKibanaを提供しない環境またはサービスで実行している場合、このウォークスルーは、マシンに対してローカルでKibanaを簡単に実行するのに役立ちます。 Kibanaのローカルインスタンスを実行する理由 他のKibanaユーザー

  2. Face ID で別の顔を設定する方法

    iPhone XでFace IDシステムが登場したとき、人々は興奮し、ティム・クックはそれを「スマートフォンの未来」と呼んだ。新しいシステムにより、ユーザーは自分の顔でデバイスのロックを解除できるようになりました。ただし、Face ID を使用して電話のロックを解除するために設定できる顔は 1 つだけであるという欠点がありました。 確かに、それはより多くのセキュリティを提供するので良いことです.誰もあなたの携帯電話のロックを解除することはできませんが、緊急の場合、この機能は非常に便利です。しかし、iOS 12 ではこの問題は処理されています。 Face ID の 2 人称を設定するには、次