[InfluxDB] k8s에 설치하기
쿠버네티스 환경에서 influxDB를 구성하는 방법을 간단히 정리해본다.
helm을 통한 설치
helm을 사용하면 statefulset 세팅부터 service 구성까지 간단하게 처리해줄 수 있다.
vi influx-config.yaml
setDefaultUser:
enabled: true
user:
username: "admin"
password: q1w2e3r4

helm repo add influxdata https://helm.influxdata.com/
helm upgrade --install influx influxdata/influxdb2 --values influx-config.yaml


그래서 이렇게 sevice까지 잘 뜨면 잘 설치된 것이다.
PVC 구성 (온프레미스의 경우)
클라우드 호스팅 클러스터를 쓴다면 그냥 생각없이 띄워도 알아서 볼륨 붙여주는데, 온프레미스면 보통 손으로 세팅을 해줘야 한다.
내 경우엔 좀 간단한 편인 NFS를 통해서 정적 생성을 처리했다.
https://blog.naver.com/sssang97/223495801532
PV를 적당히 만들어준다.
기본 설정으로는 이정도 스펙을 요구하기에
vi influx-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
labels:
app.kubernetes.io/instance: influx
app.kubernetes.io/name: influxdb2
name: nfs-pv-influx
namespace: default
spec:
storageClassName: nfs
capacity:
storage: 50Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 192.168.1.2
path: /home/nfs/influx
적당히 맞춰주면 된다.
그리고 컨테이너 띄웠을때 바운딩되면 잘 되는 것이다.
엔드포인트 뚫기
DB 접속 경로를 public으로 열고 싶다면, 다음과 같이 서비스 타입을 변경하면 된다.
kubectl patch svc influx-influxdb2 -n default -p '{"spec": {"type": "LoadBalancer"}}'

helm을 기반으로 적용하고 싶다면 이렇게 추가해서
setDefaultUser:
enabled: true
user:
username: "admin"
password: q1w2e3r4
service:
type: LoadBalancer
먹이면 된다.
helm upgrade --install influx influxdata/influxdb2 --values influx-config.yaml

참고로, 클라우드의 경우에는 클라우드가 알아서 로드밸런서를 프로비저닝해서 붙여주는데, 온프레미스는 직접 해줘야 한다.
https://blog.naver.com/sssang97/223330537493
시크릿 따기
원한다면 시크릿 정보에서 자동 생성된 어드민 접속정보를 추출할 수 있다.
이건 persistence 구성으로 생성했다면 최초 생성시에만 초기화되고 변경되지 않는다.
별다른 설정 없이 띄우면 그냥 persistence 구성으로 뜬다.
그냥 시크릿 정보 다 까보려면 그냥 까면 되고
kubectl get secret influx-influxdb2-auth -o yaml
토큰과 패스워드가 나온다.
echo $(kubectl get secret influx-influxdb2-auth -o "jsonpath={.data['admin-password']}" --namespace default | base64 --decode)
패스워드만 따려면 이렇게 날리면 된다.
접속
influx-client를 깔고 열어놓은 서비스 포트로 기어들어가면 된다. 80포트로 열린다.
설정했던 username, password 넣고 들어가면 된다.
그럼 된다.
CLI에서 접근하려면 토큰을 만들어서 쓰는 것이 좋다.
토큰을 만들어서

그걸 실행할때 꽂으면 인증이 된다.
추가 설정
뭔가 더 옵션을 주고싶은게 있다면
https://artifacthub.io/packages/helm/influxdata/influxdb
이거 참조해서 yaml 만들고
upgrade 날리면 된다.

참조
https://github.com/influxdata/helm-charts/tree/master/charts/influxdb2