Portainerをmicrok8sクラスターにデプロイしてKubernetes開発を簡素化する方法 - TechRepublic

Portainerをmicrok8sクラスターにデプロイしてKubernetes開発を簡素化する方法 - TechRepublic
ソフトウェア会社のオフィスで働く、開発中のプログラマー。ウェブサイトのデザインとコーディング技術を開発。
画像: joyfotoliakid/Adobe Stock

Kubernetes開発者なら、ただ動作させるためだけに本格的なK8sクラスターを立ち上げなければならないことがどれほど大変か、よくご存知でしょう。Kubernetes向けの開発だけでも十分に大変なのに、マルチノードクラスターの展開に時間をかけなければならないとなると、日々の仕事に支障をきたしかねません。そこにWebベースのGUIを追加するとなると、さらに困難を極めます。

参照: 採用キット: バックエンド開発者 (TechRepublic Premium)

しかし、Canonical の Microk8s のおかげで、機能する Kubernetes クラスターの作成は難しくなくなり、私が愛用しているコンテナー管理ツールである Portainer の Web ベース GUI を活用すれば、すべてが大幅に簡単になります。

どれだけ簡単かお見せしましょう。

Portainerを展開するために必要なもの

Ubuntu Server 22.04を使ってデモを行うので、少なくとも3つのサーバーインスタンスとsudo権限を持つユーザーが必要です。以上です。

Microk8sのインストール方法

まず最初に、すべてのノードにMicrok8sをインストールします。これを行うには、各ノードにログインし、次のコマンドを実行します。

sudo snap install microk8s --classic

上記のコマンドをすべてのノードで必ず実行してください。

次に、次のコマンドを使用して、すべてのノード上の microk8s グループにユーザーを追加する必要があります。

sudo usermod -aG microk8s $USER

次のコマンドで .kube ディレクトリを作成します。

mkdir ~/.kube

次のコマンドを使用して、そのディレクトリに適切な権限を与えます。

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

ノードの設定方法

先に進む前に、ノードを設定する必要があります。まず、各ノードにホスト名を設定します。まずはコントローラーです。以下のコマンドで、このマシンにk8scontrollerという名前を付けます。

sudo hostnamectl set-hostname k8scontroller

ログアウトして再度ログインしてください。

各ノードでも同じ操作を実行し、k8snode1、k8snode2、k8snode3 などの名前のみを付けます。

次に、hostsファイル内のIPアドレスをマッピングする必要があります。以下のコマンドでhostsファイルを開き、編集します。

sudo nano /etc/hosts

ファイルの下部に、次のような内容を追加します (IP アドレス スキームに合わせて編集します)。

192.168.1.40 k8scontroller
192.168.1.41 k8snode1
192.168.1.42 k8snode2

ファイルを保存して閉じます。

クラスターにノードを追加する方法

次に、高可用性を実現するために、ノードをクラスターに追加します。そのためには、コントローラーで以下のコマンドを実行します。

microk8s add-node

上記のコマンドは、次のような join コマンドを出力します。

microk8s join 192.168.1.42:25000/4379f43596bc11a0b79171f30053ae01/c8453f5b270d

Portainerの展開方法

Portainer をデプロイする前に、まずいくつかの追加機能を有効にする必要があります。これは、次のコマンドで実行できます (コントローラーでのみ実行)。

microk8s enable dns ha-cluster ingress metrics-server rbac storage

上記のコマンドが完了したら、次のコマンドを使用して Portainer を追加できます。

microk8s enable portainer

コンテナのデプロイには少し時間がかかります。デプロイが完了すると、Portainer に http://SERVER:30777 でアクセスできます。ここで SERVER は K8s コントローラーの IP アドレスです。Portainer のログイン画面が表示され、初期管理者ユーザーを作成できます。これで準備完了です。Portainer をローカルの Kubernetes 環境に接続できます。

おめでとうございます!わずか数分でPortainerをK8sクラスターにデプロイできました。GUIの利便性をお楽しみください。

Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。

TechRepublic Academy の以下のリソースは、Kubernetes の開発についてさらに学ぶのに役立ちます。

  • Docker および Kubernetes 認定トレーニングバンドル
  • Kubernetesとクラウド認定資格の究極のトレーニングバンドル
  • 2022年DevOpsクラウドエンジニアリング準備バンドル
Tagged: