728x90

전체 글 106

Grafana database is locked

Grafana 사용 시 metrics을 수집하는 쿼리가 많으면database is locked이라는 에러가 뜬다.특히 alert 전송을 걸어두면 해당 에러가 생길 때마다 alert이 날아온다. 이런 경우 grafana.db을 mysql 같은 다른 db로 전환해도 되지만SQLite3를 그대로 쓰면서 가장 간단하게 해당 오류를 해결하는 방법이 있다.#grafana.db sqlite3 journal_mode 변경sudo sqlite3 /var/lib/grafana/grafana.db 'pragma journal_mode=wal;'#모드 변경 확인sqlite3Pragma journal_mode;출력 결과 : wal해당 작업을 하고 나면grafana.db-wal, grafana.db-shm 두가지 파일이 더 생긴..

RabbitMQ Export Import 방법

RabbitMQ를 이전하거나 마이그 시 Export, Import를 통해 간편하게vhost, users, permissons, policies 등을 마이그레이션 하는 방법이 있다. 1. Export- RabbitMQ Console  접속 > Download broker definitions > json 파일 확인(rabbit_{cluster명}_{날짜}.json),   2. Import- 이전하는 RabbitMQ Console 접속 >  파일 선택 > Upload broker definitions 같은 버전끼리 export, import하는게 가장 정확하다.하지만 하위 버전 -> 상위 버전 혹은 상위 버전 -> 하위 버전으로 export. import를 하면정상적일 수도 있고 비정상적일 수도 있다.

RabbitMQ 2025.04.04

crio container root 경로 수정 방법

container root 저장 경로를 변경하는 방법은 간단하다.최초 kubernetes를 설치할 때 /etc/containers/storage.conf 파일graphroot = "/var/lib/containers/storage" -> 해당 경로를 바꾸면 된다. 하지만 이미 kubernetes가 구축된 상태에서 경로를 변경하기 위해선 사전 작업이 필요하다. 1. 노드에 있는 모든 pod들 제거##master node#node drainkubectl drain node1 --force --ignore-daemonsets --delete-local-data#daemonset 0개로 수정kubectl patch daemonset kube-flannel-ds -p '{"spec": {"template": {"..

Kubernetes/crio 2025.03.28

BIND Master Slave dns 실시간 동기화 하는 방법, feat. allow-transfer, also-notify

Master- Options과 Zone 부분에 allow-transfer, also-notify 옵션 추가vi /etc/named.confoptions { listen-on port 53 { any; }; allow-query { any; }; allow-transfer { 192.168.1.2; }; // Slave 서버의 IP also-notify { 192.168.1.2; }; // Slave 서버의 IP notify yes;};zone "example.com" IN { type master; file "/var/named/example.com.zone"; allow-transfer { 192.168.1.2; }; also-notify { 192...

BIND 2025.03.14

DNSConfigForming

kubernetes 설치 시 workernode에 DNS 서버를 4개 구성하면 etcd pod에서DNSConfigForming이라는 warn이 발생한다.Warning DNSConfigForming 11s (x3 over 53s) kubelet Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 172.30.32.1 172.30.32.2 172.30.32.3   원인kubernetes etcd는 cat /etc/resolv.conf 여기에 있는 namserver를 참고하는데 3개까지만 사용이 가능하다.무시해도 되지만 4번째 nameserver가 중요한 역할은 한다면4번째까..

BIND DNS forward, zone 설정

예를 들어서 내부 DNS 서버와 외부 DNS 서버를 사용하는 경우 ex) 내부 DNS 서버(10.1.1.1, 10.1.1.2)       외부 DNS 서버(10.50.1.1, 10.50.1.2) /etc/resolve.conf 파일 설정이 아래와 같은 경우라고 가정해 보자nameserver 10.1.1.1 nameserver 10.1.1.2 nameserver 10.50.1.1 nameserver 10.50.1.2 호출이 들어왔을 때 내부 DNS에서 처리 가능한 호출이면 상관없지만외부 DNS에서 처리해야 하는 경우라면10.1.1.1, 10.1.1.2를 들렸다가 10.50.1.1으로 호출되기 때문에 굉장히 속도가 느리다. 이런 경우 options과 zone 설정을 통해 상황에 따라 내부, 외부 DNS 서버..

BIND 2025.02.28

Velero with NFS/local as a backup storage

velero는 kubernetes 리소스를 백업 및 복원하는 오픈소스이다. 보통 s3나 minio 등을 사용하는데 NFS, local 경로도 사용이 가능하다. 찾아보니 velero 공식사이트에선 local이나 NAS를 사용하는 기능을 지원하지 않는 것 같지만git 사이트에서 해당 기능을 쓸 수 있게 plugin을 만들어놨다. 필자는 worker node에 NFS를 mount 하였고 mount 된 경로에 backup 및 restore를 할 수 있도록 만들어봤다. 사전 준비 작업- worker node NFS mount- git, make, go, docker 사전 설치 Velero 설치 curl -LO https://github.com/vmware-tanzu/velero/releases/download/..

Grafana alert webhook x509 unhandled critical extension

Grafana에서 webhook으로 Alert을 전송할 때https를 사용한다면 "x509 unhandled critical extension" 이런 에러가 발생한다. 해당 문제는 인증서 문제다.해결하려면 root 인증서를 grafana가 운영되고 있는 리눅스 서버에 등록해 주면 된다. Linux OS 인증서 등록cp root.crt /usr/local/share/ca-certificatesupdate-ca-certificates 일반적인 경우는 인증서를 등록해 주면 되지만 인증서를 등록해도 계속해서"x509 unhandled critical extension" 에러 메시지가 발생하는 경우가 있다. Grafana는 Go 언어로 작성되어 있고, Go의 TLS 라이브러리는Authority Key Identi..

728x90