
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クラウドエンジニアリング準備バンドル