コンテナ実行基盤
コンテナ実行基盤として、Kubernetesの実行環境を提供しています。
Kubernetes とは
Kubernetesは、コンテナを管理するためのツールです。
コンテナのデプロイ、スケーリング、管理を行うことができます。
TechnoTUTでは、以下のリポジトリでKubernetesの管理を行っています。
利用方法
KubernetesのPodネットワークは、TechnoTUT内部のネットワークとBGPによる経路交換を行っており、任意のVLANからPodのIPアドレスを指定してアクセスすることができます。
KubernetesのVMのIPアドレスは192.168.99.33
です。以下の手順の操作を行う前に、VMにSSHログインします。
ssh <your-username>@192.168.99.33
ユーザ名・パスワードは、管理者から提供されます。Kubernetesの実行環境が必要な場合は、発行しますのでお問い合わせください。
kubectl
- Kubernetesのマニフェストを作成します。
- kubectlコマンドを使用して、マニフェストを適用します。
kubectl apply -f <your-manifest>.yaml
- マニフェストの適用後、Podの状態を確認します。
kubectl get pods -o wide
Podを削除する場合は、以下のコマンドを使用します。
kubectl delete -f <your-manifest>.yaml
ArgoCD
ArgoCDを使用すれば、GitHubリポジトリに配置されたマニフェストを自動で適用することができます。
GitHubリポジトリのマニフェストに更新があれば、自動で適用されます。
argocd app create <app-name> --repo <manifest-repo> --path <manifest-path> --dest-server <dest-server> --dest-namespace <dest-namespace>
<app-name>
にはアプリケーション名を指定します。
<manifest-repo>
にはGitHubリポジトリのURLを指定します。
<manifest-path>
にはマニフェストが配置されているパスを指定します。
<dest-server>
には適用先のKubernetesのサーバを指定します。
<dest-namespace>
には適用先のKubernetesのネームスペースを指定します。
例として、監視サーバのマニフェストを適用する場合のコマンドは以下の通りです。
stat
というアプリケーション名で、TechnoTUT/k3sリポジトリの /manifest/stat
にあるマニフェストを適用します。ネームスペースは default
です。
argocd app create stat --repo https://github.com/TechnoTUT/k3s.git --path manifest/stat --dest-server https://kubernetes.default.svc --dest-namespace default
GitHubリポジトリの更新を追跡する場合は、以下のコマンドを使用します。
argocd app sync <app-name>
<app-name>
にはアプリケーション名を指定します。
ArgoCDのWebUIにアクセスすることで、マニフェストの適用状況を確認することができます。以下のURLからアクセスできます。
https://argocd.kube.technotut.net/