Closed3

[検証] Ubuntu 24.04上にTalosを使ってK8sクラスターを立ち上げてみる

harrythecodeharrythecode

Talosとはなんぞや

ざっくり一言で言うと「バニラに近い状態のK8sクラスターをコマンド1発で立ち上げるためのWrapperツール」です。

K8sは、その構造上の複雑さから多くの人がセットアップを簡素化したい、と言う願いで色んな亜種の製品が生み出されてきました。

個人的には「Minikube」がローカル環境では一番お手軽なのですが、実際のところ本環境に近い形でテストしたいよ、と言う場合には不向きです。

そこでなるべくピュアなK8sクラスタを簡単に立ち上げたい時に役立つのが Talos ( https://www.talos.dev/ ) です。

進め方概要

以下の手順で進めていきます。

  • 立上げ環境を決める
  • ハンズオンで進める
  • 実業務で使う為には

ではいきましょう。

harrythecodeharrythecode

立上げ環境を決める

個人的な好みで「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を利用 )
harrythecodeharrythecode

ハンズオンで進める

以下ハンズオンで試しながらインストールしてみます。

Talosctlの導入

$ talosctl
This program can only be run on AMD64 processors with v2 microarchitecture support.

いきなりエラー。調べると ProxMoxのCPUをHostに切り替えることで回避可能とのこと。

https://github.com/siderolabs/talos/issues/8505

確かにきちんと動く。

$ 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

$ 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

非常に簡単に立ち上がりましたね!

このスクラップは3ヶ月前にクローズされました