반응형
metricbeat 사용중 에러 발생
오류명
Error initializing Kubernetes metadata enricher: unable to build kube config due to error: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
원인
kubeconfig 파일을 찾지 못해서 발생하는 에러.
근데 왜 worker node에서 kubeconfig 파일을 사용해야하는지는 ... 모르겠음.
리서치 항목 : kubeconfig 있을 때, 없을 때 차이 비교해봐야함.
-
kubeconifg 값에 아무것도 안주고 이상이 없는지 확인 (ERROR log 남는지 확인)
-
kubeconfig 환경변수 추가 안하고 kube-proxy, state-metrics 등 정보 가져오는지 확인
-
kubeconfig 환경변수 정상 추가 후 kube-proxy, state-metrics 등 정보 가져오는지 확인
결론 : 해당 에러는 단순하게 kubeconfig 환경변수 못찾아서 발생하는 오류고 실제 동작에는 영향이 없음.
해당 에러는 Metricbeat이 Kubernetes API 서버와 통신하기 위해 필요한 구성 정보가 없어 발생하는 문제입니다. 로컬 환경에서 실행 중인 Metricbeat은 Kubernetes 클러스터 내부에서 실행 중인 Pod이나 Container가 아니므로, InCluster 인증 방식을 사용할 수 없습니다.
해결책
kubernetes module의 kubeconfig 옵션을 사용해봤지만 해결되지 않음.
그래서 환경 변수를 사용하는 아래와 같은 방법을 사용해야함.
kubeconfig파일을 다운받고
worker node의
/etc/metricbeat/kubeconfig.yaml
경로에 배치
cat /etc/systemd/system/metricbeat.service
파일에
Environment=KUBECONFIG=/etc/metricbeat/kubeconfig.yaml
내용 추가해야함
아래와 같이 수정.
[Unit]
Description=metricbeat
[Service]
Environment=KUBECONFIG=/etc/metricbeat/kubeconfig.yaml
ExecStart=/bin/bash -c '/bin/metricbeat --path.config /etc/metricbeat/ -c /etc/metricbeat/metricbeat.yml -e'
Delegate=yes
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
이후
systemctl daemon-reload
systemctl restart metricbeat
반응형
'Kubernetes > Kubernetes 에러 경험' 카테고리의 다른 글
metricbeat에서 worker node kubelet 접근 방법 리서치 중 오류 분석 내용 (0) | 2024.09.07 |
---|---|
오류 : inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory (0) | 2024.09.05 |
windows worker node에 kube-proxy와 flannel CNI 문제 (0) | 2024.07.17 |
CreateComputeSystem kube-flannel: The directory name is invalid. (0) | 2024.07.17 |
hcnCreateNetwork failed in Win32: The object already exists (0) | 2024.07.17 |