メインコンテンツまでスキップ

Computing

TechnoTUT Network では、コンテナ型の仮想化手法を採用し、計算資源を提供しています。 仮想化技術を活用することで、ソフトウェアとハードウェアの間に抽象化レイヤーを設け効率的に利用できるようにしています。

コンテナ型仮想化は、Linux カーネルの機能を利用してプロセスを隔離する方式です。Linux カーネルを共有することで、仮想マシンよりも軽量で高速に動作します。 TechnoTUT Network では、Kubernetes をコンテナオーケストレーションツールとして採用しています。Infrastructure as Code (IaC) による運用が可能であり、運用の効率化を実現します。

構築方法については、GitHub を参照してください。

Kubernetes とは

Kubernetesは、複数サーバで複数のコンテナを管理するためのツールです。

TechnoTUTでは、以下のリポジトリでKubernetesの管理を行っています。
TechnoTUT/Infra - GitHub

クラスタ構成

Kubernetesのクラスタは、3台の物理サーバ(pjsekai, maimai, chunithm)で構成されています。各ノードには、Debian 13 trixieがインストールされ、Kubeadmでクラスタが構築されています。 Kubernetesのバージョンは、1.34です。

NodeCPUMemoryIP AddressRole
pjsekai4CPU8GB192.168.30.200/24Control-Plane
maimai2CPU12GB192.168.30.201/24Worker
chunithm2CPU12GB192.168.30.202/24Worker

Control-Planeノードは、Kubernetesの管理を担当し、APIサーバ、スケジューラー、コントローラマネージャなどのコンポーネントが動作しています。
Workerノードは、実際にコンテナが動作するノードであり、Podがスケジュールされます。

ArgoCD

ArgoCDを使用すれば、GitHubリポジトリに配置されたマニフェストを自動で適用することができます。
GitHubリポジトリのマニフェストに更新があれば、自動で適用されます。

使用するには、ArgoCDのWebUIにアクセスし、GitHub上のマニフェストを同期します。
https://cd.svc.technotut.net/