
Kubernetesクラスターを立ち上げて稼働させるのは、本当に大変な作業です。開発者がDockerランタイムエンジンのサポートを終了したことで、この課題はさらに顕著になっています。そのため、開発用のクラスターをすぐに立ち上げたいと思っても、そのためにわざわざ新しい手順を踏むのは気が進まない、という場合もあるでしょう。
幸いなことに、microk8s があるので、いくつかの簡単なコマンドで小さな Kubernetes クラスターを簡単に作成できます。
参照: 採用キット: バックエンド開発者 (TechRepublic Premium)
これがどれほど簡単か、これからお見せします。このクラスターを起動して稼働させるのに5分もかかりません。
microk8sとは何ですか?
Microk8sは、Canonicalによって開発されたCNCF認定のアップストリームKubernetesデプロイメントツールです。これにより、単一ノードまたは複数ノードのクラスターのデプロイメントが非常に簡単になります。ただし、microk8sは本格的なKubernetesクラスターの代替ではないことにご注意ください。このツールは開発目的に限定されており、本番環境へのデプロイメントには適していません。
Microk8s を使用すると、Kubernetes 開発を非常に簡単に開始でき、スナップ経由で簡単にインストールできます。
必要なもの
これを起動するために必要なのは、Snapパッケージ(Ubuntuなど)をサポートするLinuxマシン2台と、sudo権限を持つユーザーだけです。ここでは、Ubuntu Server 22.04の仮想マシンインスタンス2台を使ってデモを行います。
Kubernetes の魔法を見てみましょう。
ホスト名の設定方法
microk8sをインストールする前に、ホスト名を設定しましょう。コントローラーをmicrok8s1、ノードをmicrok8s2に設定します。これを行うには、コントローラーにログインして次のコマンドを実行します。
sudo hostnamectl set-hostname microk8s1
ログアウトして再度ログインしてください。
ノードでも同じようにして、名前を microk8s2 に変更します。
次に、hostsファイルにそれぞれのエントリを追加する必要があります。コントローラー上のファイルを次のコマンドで開きます。
sudo nano /etc/hosts
そのファイルに、次のような 2 つのエントリを追加します。エントリは、IP アドレス スキームとドメインに合わせて編集してください。
192.168.1.135 microk8s.monkeypantz.lan microk8s1
192.168.1.137 microk8s.monkeypantz.lan microk8s2
ノードでも同じことを行います。
microk8sのインストール方法
まず最初に、両方のマシンにmicrok8sをインストールする必要があります。最初のマシンにログインし、以下のコマンドでソフトウェアをインストールします。
sudo snap install microk8s --classic
インストールが完了したら、次のコマンドを使用してユーザーを microk8s グループに追加する必要があります。
sudo usermod -aG microk8s $USER
次に、次の内容で .kube ディレクトリを作成します。
mkdir ~/.kube
次のようにして、新しいディレクトリに必要な権限を付与します。
sudo chown -f -R $USER ~/.kube
ログアウトして再度ログインしてください。
次のコマンドでインストールをテストできます。
microk8s status
出力には次のようなものが表示されます。
microk8s is running
high-availability: no
datastore master nodes: 127.0.0.1:19001
datastore standby nodes: none
2台目のマシンでも同じことを行います。
ノードに参加する方法
コントローラーとして機能するマシンで、次のコマンドを発行します。
microk8s add-node
上記のコマンドの出力には、次のような join コマンドが含まれる必要があります。
microk8s join 192.168.1.135:25000/f8f7c8b64ed411cf54a8307cead84e73/e0a27e14e027
2つ目のノードで join コマンドを実行します。コマンドが完了したら、次のコマンドで元のノードで接続を確認できます。
microk8s kubectl get nodes
コマンドの出力には、両方のノードがクラスターの一部であることが示され、次のような出力が表示されます。
microk8s1 Ready <none> 9m46s v1.24.3-2+63243a96d1c393
microk8s2 Ready <none> 15s v1.24.3-2+63243a96d1c393
Kubernetesクラスターに高可用性(HA)を追加する場合、クラスターに最低3つのノードを結合する必要があることにご注意ください。ノードが3つあれば、HAは自動的に有効になります。また、ノードをワーカーとして結合することもできます。ワーカーはワークロードをホストできますが、Kubernetesコントロールプランを実行したり、クラスターのHAに追加したりすることはできません。ノードをワーカーとして結合するには、joinコマンドの末尾に--workerフラグを追加します。
microk8s join 192.168.1.135:25000/f8f7c8b64ed411cf54a8307cead84e73/e0a27e14e027 --worker
これで完了です。2ノードのKubernetes開発クラスターが5分以内にデプロイされました。本格的なKubernetesクラスターをデプロイする際の面倒な手順を踏む必要がないため、コンテナ開発を始めるのに最適な方法です。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
TechRepublic Academy のこれらのリソースを利用して Kubernetes に関する知識を広げましょう。