RKE2クラスタにLoki-stackをインストールする
Rancherを使ってサクッと構築します。
構築環境
ラズパイ3台で構築したRKE2クラスタを使用します。
root@k8s1:~# kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s1 Ready control-plane,etcd,master 115d v1.28.10+rke2r1 192.168.0.51 <none> Ubuntu 24.04 LTS 6.8.0-1008-raspi containerd://1.7.11-k3s2
k8s2 Ready worker 115d v1.28.10+rke2r1 192.168.0.52 <none> Ubuntu 24.04 LTS 6.8.0-1013-raspi containerd://1.7.11-k3s2
k8s3 Ready worker 115d v1.28.10+rke2r1 192.168.0.53 <none> Ubuntu 24.04 LTS 6.8.0-1013-raspi containerd://1.7.11-k3s2
GrafanaにアクセスするためにMetalLBを入れておいてください。
RancherGUIでloki-stakインストール
こちら
にリポジトリの情報があります。
Rancherでリポジトリを作成します。
先にnamespaceを作っておきます。
root@k8s1:~# kubectl create ns loki-stack
namespace/loki-stack created
grafanaだけ有効化します。
インストールされました。
root@k8s1:~# kubectl get po -n loki-stack
NAME READY STATUS RESTARTS AGE
loki-stack-2-1729998524-0 1/1 Running 0 97m
loki-stack-2-1729998524-grafana-556cf58b56-jlpjp 2/2 Running 0 97m
loki-stack-2-1729998524-promtail-5ss4b 1/1 Running 0 97m
loki-stack-2-1729998524-promtail-bbbf6 1/1 Running 0 97m
grafanaはdeploymentで起動してました。
ロードバランサーでアクセスできるようにします。
root@k8s1:~# kubectl -n loki-stack get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
loki-stack-2-1729998524-grafana 1/1 1 1 32m
root@k8s1:~# kubectl get svc -n loki-stack
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
loki-stack-2-1729998524 ClusterIP 10.43.235.88 <none> 3100/TCP 9m47s
loki-stack-2-1729998524-grafana ClusterIP 10.43.199.254 <none> 80/TCP 9m47s
loki-stack-2-1729998524-headless ClusterIP None <none> 3100/TCP 9m47s
loki-stack-2-1729998524-memberlist ClusterIP None <none> 7946/TCP 9m47s
root@k8s1:~# kubectl -n loki-stack expose deployment/loki-stack-2-1729998524-grafana --type LoadBalancer --port 3000 --name grafana
service/grafana exposed
root@k8s1:~# kubectl get svc -n loki-stack
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
grafana LoadBalancer 10.43.139.89 192.168.0.230 3000:31112/TCP 6s
loki-stack-2-1729998524 ClusterIP 10.43.235.88 <none> 3100/TCP 96m
loki-stack-2-1729998524-grafana ClusterIP 10.43.199.254 <none> 80/TCP 96m
loki-stack-2-1729998524-headless ClusterIP None <none> 3100/TCP 96m
loki-stack-2-1729998524-memberlist ClusterIP None <none> 7946/TCP 96m
grafanaにログインするためのパスワードを確認します。
root@k8s1:~# kubectl get secret -n loki-stack loki-stack-2-1729998524-grafana -o jsonpath="{.data.admin-user}" | base64 --decode ; echo
admin
root@k8s1:~# kubectl get secret -n loki-stack loki-stack-2-1729998524-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
MzBOKSbdqNpP1XMywSdbGeq1eSibFfzjBvxdt0vz
確認したパスワードでログインします。
データソースは設定済みでした。
試しにnginxをデプロイしておきます。
root@k8s1:~# kubectl create deployment nginx-deployment --image=nginx:latest
deployment.apps/nginx-deployment created
exploreでcontainer="nginx"でログ普通に出てきました。
なるほど。こんな感じなんですねー