TroubleShooting
-
증상: loki-write 컴포넌트의 메모리가 지속적으로 증가함 로그: err="rpc error: code = Code(429) desc = entry with timestamp 2023-11-14 06:37:29.320051283 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for stream 예상 원인: 높은 로그 볼륨: 소스에서 생성되는 로그의 양이 매우 많을 때 이 오류가 발생할 수 있습니다. 이는 특히 많은 양의 로그 데이터를 짧은 시간 내에 Loki로 전송할 때 발생합니다. 그리고 Loki는 속도 제한에 도달했을 때 로그를 버퍼링하고 나중에 재시도할 수 ..
[Loki]Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for stream증상: loki-write 컴포넌트의 메모리가 지속적으로 증가함 로그: err="rpc error: code = Code(429) desc = entry with timestamp 2023-11-14 06:37:29.320051283 +0000 UTC ignored, reason: 'Per stream rate limit exceeded (limit: 3MB/sec) while attempting to ingest for stream 예상 원인: 높은 로그 볼륨: 소스에서 생성되는 로그의 양이 매우 많을 때 이 오류가 발생할 수 있습니다. 이는 특히 많은 양의 로그 데이터를 짧은 시간 내에 Loki로 전송할 때 발생합니다. 그리고 Loki는 속도 제한에 도달했을 때 로그를 버퍼링하고 나중에 재시도할 수 ..
2023.11.15 -
Slave 서버에서 VIP 확인이 안될 경우 cat > /etc/sysctl.conf # 양쪽 노드에서 /etc/sysctl.conf 파일에 IP 가 포워딩될 수 있도록 net.ipv4.ip_forward = 1 # 로컬 호스트 주소 이외의 다른 가상 IP에 바인딩할 수 있도록 net.ipv4.ip_nonlocal_bind = 1 # 자신의 네트워크가 스푸핑된 공격지의 소스로 사용되는것을 차단 net.ipv4.conf.default.rp_filter = 2 # 스푸핑을 막으려고 source route 패킹을 허용하지 않도록 net.ipv4.conf.default.accept_source_route = 0 EOF sysctl -p /etc/sysctl.conf
[Linux]Slave 서버에서 VIP 확인이 안되는 경우, 서버간 통신 설정(sysctl.conf)Slave 서버에서 VIP 확인이 안될 경우 cat > /etc/sysctl.conf # 양쪽 노드에서 /etc/sysctl.conf 파일에 IP 가 포워딩될 수 있도록 net.ipv4.ip_forward = 1 # 로컬 호스트 주소 이외의 다른 가상 IP에 바인딩할 수 있도록 net.ipv4.ip_nonlocal_bind = 1 # 자신의 네트워크가 스푸핑된 공격지의 소스로 사용되는것을 차단 net.ipv4.conf.default.rp_filter = 2 # 스푸핑을 막으려고 source route 패킹을 허용하지 않도록 net.ipv4.conf.default.accept_source_route = 0 EOF sysctl -p /etc/sysctl.conf
2022.07.03 -
Problem 프로세스 테이블이 다 차서 더이상 프로세스를 실행할 수 없는 상황 발생 Cause 실행 을 완료했지만( [exit]() 시스템 호출 을 통해 ) 여전히 프로세스 테이블 에 항목 이 있는 프로세스입니다. 종료가 되다만 프로세스 종료 단계에 멈춰 있는 프로세스 비정상적인, 종료되지 않는 프로세스 부모프로세스가 죽었는데도 남아있는 자식프로세스 또는 부모프로세스가 비정상인 경우 자식 프로세스가 종료되어 사용하는 리소스는 모두 해제된 상태지만, 부모 프로세스가 자식 프로세스의 종료를 확인하지 못한 상태로 커널의 프로세스 테이블에는 관리되고 있는 상태 Solution process 찾기 ps -ef | grep defunct | grep -v grep counting zoombie process ps..
[Linux]Kill Zoobie(Defunct) processProblem 프로세스 테이블이 다 차서 더이상 프로세스를 실행할 수 없는 상황 발생 Cause 실행 을 완료했지만( [exit]() 시스템 호출 을 통해 ) 여전히 프로세스 테이블 에 항목 이 있는 프로세스입니다. 종료가 되다만 프로세스 종료 단계에 멈춰 있는 프로세스 비정상적인, 종료되지 않는 프로세스 부모프로세스가 죽었는데도 남아있는 자식프로세스 또는 부모프로세스가 비정상인 경우 자식 프로세스가 종료되어 사용하는 리소스는 모두 해제된 상태지만, 부모 프로세스가 자식 프로세스의 종료를 확인하지 못한 상태로 커널의 프로세스 테이블에는 관리되고 있는 상태 Solution process 찾기 ps -ef | grep defunct | grep -v grep counting zoombie process ps..
2022.07.03 -
Problem 서버 셧다운, 리부팅시 실제 해당 서버에 떠있는 파드로 통신은 할 수 없지만 kubectl 명령어로 확인했을때 running 상태인걸 확인 할 수 있다. 리부팅되어 서버가 정상화 되어도 pod가 다른 node가 아닌 기존 node에 할당 되어 있는것을 확인할 수 있다. Cause pod, node의 헬스체크 주기가 길어 실제 node에 문제가 생겼지만 다음 헬스체크까지 이상을 감지 못하는 상황 Solution kube-apiserver.yaml, kube-controller-manager.yaml 에서 아래 옵션을 변경하여 not ready 상태의 노드 체크 주기를 줄인다 api-server https://kubernetes.io/docs/reference/command-line-tools..
[Kubernetes]Pods are not moved when node in not ready stateProblem 서버 셧다운, 리부팅시 실제 해당 서버에 떠있는 파드로 통신은 할 수 없지만 kubectl 명령어로 확인했을때 running 상태인걸 확인 할 수 있다. 리부팅되어 서버가 정상화 되어도 pod가 다른 node가 아닌 기존 node에 할당 되어 있는것을 확인할 수 있다. Cause pod, node의 헬스체크 주기가 길어 실제 node에 문제가 생겼지만 다음 헬스체크까지 이상을 감지 못하는 상황 Solution kube-apiserver.yaml, kube-controller-manager.yaml 에서 아래 옵션을 변경하여 not ready 상태의 노드 체크 주기를 줄인다 api-server https://kubernetes.io/docs/reference/command-line-tools..
2022.06.30 -
2022.06.11 - [Tools] - Windows에서 Linux(Ubuntu) 사용하기 - WSL, Windows Terminal, VSCode Windows에서 WSL 설치 후 실행시 아래와 같은 메시지가 나오는 경우 아래와 같은 방법으로 해결할 수 있다. The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again. power shell에서 아래 명령어 입력 재시작 필요 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
[Tools]WSL - The Windows Subsystem for Linux optional component is not enabled.2022.06.11 - [Tools] - Windows에서 Linux(Ubuntu) 사용하기 - WSL, Windows Terminal, VSCode Windows에서 WSL 설치 후 실행시 아래와 같은 메시지가 나오는 경우 아래와 같은 방법으로 해결할 수 있다. The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again. power shell에서 아래 명령어 입력 재시작 필요 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2022.06.11 -
Kubernetes를 운영하다 보면 namespace가 삭제되지 않는 경우가 발생한다. 그럴 경우 아래와 같은 방법으로 삭제할 수 있다. Install jq JSON 형식을 다루는 도구 yum iunstall jq -y Delete Namespace forcefully e.g. rook-ceph라는 namespace가 삭제되지 않는 경우 NAMESPACE=rook-ceph kubectl proxy & kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:80..
[Kubernetes]Delete Namespace forcefully in KubernetesKubernetes를 운영하다 보면 namespace가 삭제되지 않는 경우가 발생한다. 그럴 경우 아래와 같은 방법으로 삭제할 수 있다. Install jq JSON 형식을 다루는 도구 yum iunstall jq -y Delete Namespace forcefully e.g. rook-ceph라는 namespace가 삭제되지 않는 경우 NAMESPACE=rook-ceph kubectl proxy & kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:80..
2022.06.09