Closed3
[検証] Ubuntu 24.04上にTalosを使ってK8sクラスターを立ち上げてみる
Talosとはなんぞや
ざっくり一言で言うと「バニラに近い状態のK8sクラスターをコマンド1発で立ち上げるためのWrapperツール」です。
K8sは、その構造上の複雑さから多くの人がセットアップを簡素化したい、と言う願いで色んな亜種の製品が生み出されてきました。
個人的には「Minikube」がローカル環境では一番お手軽なのですが、実際のところ本環境に近い形でテストしたいよ、と言う場合には不向きです。
そこでなるべくピュアなK8sクラスタを簡単に立ち上げたい時に役立つのが Talos ( https://www.talos.dev/ ) です。
進め方概要
以下の手順で進めていきます。
- 立上げ環境を決める
- ハンズオンで進める
- 実業務で使う為には
ではいきましょう。
立上げ環境を決める
個人的な好みで「Ubuntu 24.04 (AMD64; 執筆時最新ver)」 を採用します。理由はその使いやすさと汎用性の高さから。また初心者向けにドキュメントが充実してる点もボクは好んで使います。
- ProxMoxを利用 (KVMベースで環境を再構築しやすくするため)
- Ubuntu 24.04 (AMD64; 執筆時最新ver)
- "64-bit PC (AMD64) server install image" を利用
- K8sクラスタはSingle Nodeで Master & Workerを利用
- テスト用であれば複数ノードを立ち上げる必要もないです (ロードバランスしたい場合は別)
- Talos Linux (OSイメージにバンドルされてるやつ) は使わずに、Docker環境内にTalosctlを用いてクラスタを立ち上げ。
イメージ図
ProxMox
└── Ubuntu 24.04
└── Docker
└── Single Node K8s Cluster ( Talosctlを利用 )
ハンズオンで進める
以下ハンズオンで試しながらインストールしてみます。
Talosctlの導入
-
https://releases.ubuntu.com/noble/ からダウンロード
- "64-bit PC (AMD64) server install image" を利用
-
https://www.talos.dev/v1.7/talos-guides/install/talosctl/
curl -sL https://talos.dev/install | sh
$ talosctl
This program can only be run on AMD64 processors with v2 microarchitecture support.
いきなりエラー。調べると ProxMoxのCPUをHostに切り替えることで回避可能とのこと。
確かにきちんと動く。
$ talosctl version
Client:
Tag: v1.7.5
SHA: 47731624
Built:
Go version: go1.22.4
OS/Arch: linux/amd64
Server:
error constructing client: failed to determine endpoints
Talosctlでシングルクラスタセットアップ
$ talosctl cluster create
$ talosctl dashboard --nodes 10.5.0.2
- kubectlが入ってなかったのでインストール ( https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/ )
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
$ chmod 755 kubectl
$ mv kubectl /usr/local/bin
$ kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
talos-default-controlplane-1 Ready control-plane 32m v1.30.1 10.5.0.2 <none> Talos (v1.7.5) 6.8.0-38-generic containerd://1.7.18
talos-default-worker-1 Ready <none> 32m v1.30.1 10.5.0.3 <none> Talos (v1.7.5) 6.8.0-38-generic containerd://1.7.18
非常に簡単に立ち上がりましたね!
このスクラップは2ヶ月前にクローズされました