/k8s-hands-on

A Kubernetes cluster to learn Kubernetes. It includes Argo CD, Grafana, Prometheus, Loki, Tempo, Phlare and VictoriaMetrics.

Primary LanguageGoMIT LicenseMIT

k8s-hands-on

ディレクトリ構造

  • manifests: 各種アプリケーションのマニフェスト
  • todo: サンプルのTODOアプリ

事前準備

このハンズオンはLinux, WSL2(Ubuntu), macOS(Intel Chip)で動作します。 事前に下記のソフトウェアをインストールしておいてください。

利用方法

ツールのセットアップ

このハンズオンで利用しているCLIツールはaqauで管理しています。 以下のコマンドでCLIツールのセットアップをおこなってください。

aqua policy allow aqua-policy.yaml
aqua i -l

Kubernetesクラスタの立ち上げ

kindでKubernetesクラスタを起動します。

make launch-k8s

アプリケーションのデプロイ

Argo CDをデプロイします。

make deploy-argocd

ApplicationがすべてSyncedになるまで待ちます。

make sync-applications

数分待つとアプリケーションのデプロイが完了します。

メトリクスを見る方法

メトリクスを閲覧するために以下の4つのツールが利用できます。

Grafana

ブラウザを開いて http://localhost:33000 にアクセスしてください。

下記のコマンドでパスワードを確認し、Grafanaの左下のメニューからSign Inをクリックし、Username: admin でログインします。

make grafana-password

PromLens

ブラウザを開いて http://localhost:9090 にアクセスしてください。

promql-cli

以下のようにコマンドを実行すると、CLIから任意のクエリを実行することができます。

promql 'sum(up) by (job)'

Prometheus Web UI

ブラウザを開いて http://localhost:38080 にアクセスしてください。

Argo CDの利用

Argo CDのWeb UIの利用

ブラウザを開いて http://localhost:30080 にアクセスしてください。

下記のコマンドでパスワードを確認し、Username: admin でログインします。

make argocd-password

argocd cliの使い方

コマンドラインでArgo CDにデプロイします。

make login-argocd

ログインに成功すると、argocd app listなどのコマンドが実行できるようになります。

Lokiの利用

Grafanaでログを見る

ブラウザを開いて http://localhost:33000 にアクセスしてください。

下記のコマンドでパスワードを確認し、Grafanaの左下のメニューからSign Inをクリックし、Username: admin でログインします。

make grafana-password

Explore画面を開き、データソースとしてLokiを選択してください。

logcliの使い方

以下のようにコマンドを実行すると、CLIからログを確認することができます。

logcli query '{namespace="argocd"}'

Kubernetesクラスタの終了

ハンズオンを終えたいときや環境を最初から作り直したいときはKubernetesクラスタを削除できます。

make shutdown-k8s