https://www.splunk.com/en_us/blog/platform/deploy-splunk-enterprise-on-kubernetes-splunk-connect-for-kubernetes-and-splunk-insights-for-containers-beta-part-1.html を見ながらやってみた。

https://github.com/splunk/docker-splunk/tree/a2398da1ffd31bf6acd2170c7759ed4b16dafe45/test_scenarios/kubernetes に manifest があるらしい。バージョンもこの時点のものを使ってます。

まずはこのリポジトリを clone する。

ghq get git@github.com:splunk/docker-splunk.git

clone したリポジトリのディレクトリに移動し、さらに nginx-data-www ディレクトリに移動して設定ファイルを生成する。

cd test_scenarios/kubernetes/nginx/nginx-data-www
docker run splunk/splunk:latest create-defaults > ./default.yml

nginx の manifest を apply する。

cd ..

kubectl create ns splunk
kubectl -n splunk create configmap nginx-data-www --from-file=nginx-data-www
kubectl -n splunk create configmap nginx-config --from-file=nginx-static.conf
kubectl -n splunk apply -f manifests

kubectl get pods
NAME                               READY   STATUS    RESTARTS   AGE
splunk-defaults-7b66ff4888-2kbzm   1/1     Running   0          16s

splunk のデプロイは 3idx1sh1cm ディレクトリの manifest を apply することで可能。

たぶん名前的に 3 index + 1 search head + 1 cluster master という構成だと思う。

kubectl -n splunk apply -f 3idx1sh1cm

kubectl get pod
NAME                               READY   STATUS    RESTARTS   AGE
indexer-0                          1/1     Running   0          14s
indexer-1                          1/1     Running   0          86s
indexer-2                          1/1     Running   0          79s
master-5ccbd6d9f9-kgbzg            1/1     Running   0          3m41s
search-b4cc48dcd-xtvrd             1/1     Running   0          3m41s
splunk-defaults-7b66ff4888-2kbzm   1/1     Running   0          7m

Persistent Volume でデータを永続化する場合は 3idx1sh1cm-pvc ディレクトリの manifest を apply する必要がある。

まずは、StorageClass を確認する。自分の環境では rook-ceph を動かしているので、これを使う。

kubectl get storageclass
NAME              PROVISIONER                  RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
rook-ceph-block   rook-ceph.rbd.csi.ceph.com   Delete          Immediate           true                   28d

storageClassName や pvc の容量などを調整したうえで apply すると動く。

kubectl apply -f 3idx1sh1cm-pvc

kubectl get pod
sNAME                               READY   STATUS    RESTARTS   AGE
indexer-0                          1/1     Running   0          13m
indexer-1                          1/1     Running   0          3m20s
indexer-2                          1/1     Running   0          2m47s
master-6b7f49cf97-q8tsj            1/1     Running   0          13m
search-8646fc5dbd-gb4pf            1/1     Running   0          13m
splunk-defaults-7b66ff4888-2kbzm   1/1     Running   0          40m

master の 8000 番ポートに port-forward する。

kubectl -n splunk port-forward master-6b7f49cf97-q8tsj 8000:8000

ID / Pass は admin:helloworld になっているので、これでダッシュボードに入れる。

ちなみに、Pod のログを見ると ansible っぽいログが出ていたので、中で ansible でプロビジョニングが実行されていそう。

また、splunk-search-deploy-persistent.yaml と splunk-indexer-statefulset-persistent.yaml に Splunk の admin パスワードが書かれているため、ダッシュボード上で変更した場合は、そちらも変更する必要がある。でないと Pod が再作成された場合に ansible によるプロビジョニングに失敗し、Splunk が起きてこない。

自分の環境では iowait が高いのか Sum of 3 highest per-cpu iowaits reached red threshold of 15 というメッセージが出ていて、ヘルスはあまりいい状態ではないようだった。

各ノードにはメモリを 8GB しか積んでないからしょうがないかもしれない…。sar の結果をみる限り確かに iowait は高そう。16GB に増やしたら Red → Yellow になったので一旦それで…。

kubectl get pods -o wide
NAME                               READY   STATUS    RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
indexer-0                          1/1     Running   0          35m   10.233.92.14   node3   <none>           <none>
indexer-1                          1/1     Running   0          25m   10.233.92.16   node3   <none>           <none>
indexer-2                          1/1     Running   0          24m   10.233.96.23   node2   <none>           <none>
master-6b7f49cf97-q8tsj            1/1     Running   0          35m   10.233.96.22   node2   <none>           <none>
search-8646fc5dbd-gb4pf            1/1     Running   0          35m   10.233.92.15   node3   <none>           <none>
splunk-defaults-7b66ff4888-2kbzm   1/1     Running   0          62m   10.233.96.16   node2   <none>           <none>
mrtc0@node2:~$ sar 1 10
Linux 5.4.0-81-generic (node2)  09/11/21        _x86_64_        (4 CPU)

10:34:37        CPU     %user     %nice   %system   %iowait    %steal     %idle
10:34:38        all     13.07      0.00     13.82     38.69      0.00     34.42
10:34:39        all      7.02      0.00     11.78     35.09      0.00     46.12
10:34:40        all      7.02      0.00     12.03     39.10      0.00     41.85
10:34:41        all      7.62      0.00     13.76     33.42      0.00     45.21
10:34:42        all     14.71      0.00     13.48     32.84      0.00     38.97
10:34:43        all     15.23      0.00     15.99     32.74      0.00     36.04
10:34:44        all      6.75      0.00     13.00     30.25      0.00     50.00
10:34:45        all      4.09      0.00     11.25     41.43      0.00     43.22
10:34:46        all     10.02      0.00     15.40     36.43      0.00     38.14
10:34:47        all      9.68      0.00     14.64     28.04      0.00     47.64
Average:        all      9.53      0.00     13.52     34.78      0.00     42.17

mrtc0@node2:~$ iostat -x
Linux 5.4.0-81-generic (node2)  09/11/21        _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.76    0.00    1.00    0.03    0.00   97.20

Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
dm-0             0.04      1.43     0.00   0.00    1.38    38.92    9.13     52.24     0.00   0.00    0.46     5.72    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.15
dm-1             0.01      0.13     0.00   0.00    5.16    22.93    0.52     10.41     0.00   0.00   79.05    19.92    0.00      0.00     0.00   0.00    0.00     0.00    0.04   0.05
loop0            0.00      0.01     0.00   0.00    0.38    14.60    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop1            0.00      0.01     0.00   0.00    0.46    80.27    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop2            0.00      0.00     0.00   0.00    0.49     8.78    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop3            0.01      0.02     0.00   0.00    0.06     2.31    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop4            0.00      0.01     0.00   0.00    0.14    13.57    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop5            0.00      0.01     0.00   0.00    0.69    76.88    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop6            0.01      0.01     0.00   0.00    0.45     1.88    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop7            0.00      0.00     0.00   0.00    0.00     1.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
rbd0             0.00      0.01     0.00   0.08    3.41    27.74    0.00      0.23     0.00  92.01 2144.03   539.36    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
rbd1             0.00      0.00     0.00   0.54    9.88    39.51    0.03      1.21     0.03  48.50   62.57    35.52    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.04
rbd2             0.00      0.05     0.00   0.00   19.74    26.60    0.00      0.26     0.00  92.12 1691.93   623.48    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.01
rbd3             0.00      0.01     0.00   0.00   47.62    42.39    0.04      1.42     0.05  57.78   87.36    37.89    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.05
sda              0.04      1.58     0.00   7.24    1.25    41.41    6.66     52.31     2.48  27.12    0.42     7.85    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.15
sdb              0.01      0.23     0.00  16.07    3.47    35.37    0.36     10.41     0.16  30.24   14.72    28.62    0.00      0.00     0.00   0.00    0.00     0.00    0.01   0.05
mrtc0@node3:~$ sar 1 10
Linux 5.4.0-81-generic (node3)  09/11/21        _x86_64_        (4 CPU)

10:33:15        CPU     %user     %nice   %system   %iowait    %steal     %idle
10:33:16        all     15.98      0.00     25.00     29.64      0.00     29.38
10:33:17        all     14.91      0.00     21.34     22.62      0.00     41.13
10:33:18        all     21.45      0.00     26.81     21.72      0.00     30.03
10:33:19        all     13.65      0.00     23.10     26.25      0.00     37.01
10:33:20        all     19.33      0.00     26.80     27.84      0.00     26.03
10:33:21        all     15.19      0.00     26.93     32.66      0.00     25.21
10:33:22        all     14.58      0.00     21.23     31.20      0.00     32.99
10:33:23        all      9.90      0.00     19.80     35.03      0.00     35.28
10:33:24        all     12.02      0.00     19.44     35.04      0.00     33.50
10:33:25        all      9.82      0.00     16.28     51.16      0.00     22.74
Average:        all     14.64      0.00     22.61     31.35      0.00     31.40

mrtc0@node3:~$ iostat -x
Linux 5.4.0-81-generic (node3)  09/11/21        _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.84    0.00    1.09    0.03    0.00   97.04

Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
dm-0             0.03      1.07     0.00   0.00    2.36    36.74    7.11     42.86     0.00   0.00    0.50     6.03    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.15
dm-1             0.00      0.08     0.00   0.00    4.72    23.00    0.49      9.99     0.00   0.00   92.83    20.57    0.00      0.00     0.00   0.00    0.00     0.00    0.05   0.05
loop0            0.00      0.01     0.00   0.00    0.04     6.22    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop1            0.00      0.01     0.00   0.00    0.11    13.49    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop2            0.00      0.01     0.00   0.00    0.20    79.78    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop3            0.01      0.02     0.00   0.00    0.29     2.32    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop4            0.00      0.01     0.00   0.00    0.14    13.57    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop5            0.00      0.01     0.00   0.00    0.38    77.62    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop6            0.01      0.01     0.00   0.00    0.13     1.93    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
loop7            0.00      0.00     0.00   0.00    1.40     1.60    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00
rbd0             0.00      0.01     0.00   0.00   17.36    44.25    0.03      1.33     0.05  58.31  106.11    41.07    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.04
rbd1             0.00      0.13     0.00   0.43   12.48    32.81    0.00      0.26     0.01  91.42 1870.09   545.18    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.01
rbd2             0.00      0.12     0.00   0.01    8.76    36.10    0.00      0.23     0.00  92.00 1927.15   534.67    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.01
rbd3             0.00      0.01     0.00   0.00    9.07    51.35    0.03      1.03     0.03  48.62   78.21    35.67    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.04
rbd4             0.00      0.01     0.00   0.00   16.09    44.83    0.03      1.34     0.04  59.14   92.69    43.25    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.04
rbd5             0.00      0.13     0.00   0.00    5.08    37.35    0.00      0.26     0.00  91.13 1549.93   541.12    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.01
sda              0.03      1.23     0.00   9.26    2.08    40.42    4.87     42.93     2.25  31.56    0.49     8.82    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.15
sdb              0.01      0.19     0.00  12.36    2.57    36.29    0.33      9.99     0.15  31.89   17.89    30.26    0.00      0.00     0.00   0.00    0.00     0.00    0.01   0.05