일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Elasticsearch
- 공부
- AI
- 코틀린 코루틴의 정석
- 티스토리챌린지
- Java
- PETERICA
- APM
- 기록으로 실력을 쌓자
- 정보처리기사 실기 기출문제
- IntelliJ
- AWS EKS
- CKA
- kotlin
- kotlin spring
- Linux
- Spring
- 정보처리기사 실기
- mysql 튜닝
- aws
- Kubernetes
- Pinpoint
- minikube
- CKA 기출문제
- kotlin coroutine
- CloudWatch
- 오블완
- kotlin querydsl
- 정보처리기사실기 기출문제
- MySQL
- Today
- Total
목록Kubernetes/트러블슈팅&장애대응 (14)
피터의 개발이야기
ㅁ 개요 ㅇ Intel칩 맥북에서 M1 맥북으로 변경하면서 마이그레이션 작업을 수행하였습니다. 그 가운데, 칩 변경되면서 기존 설치 프로그램과 충돌이 있어났습니다. minikube start 시 발생한 Exiting due to MK_WRONG_BINARY_M1 에러에 대한 경험을 정리 하였습니다. ㅁ 에러 내용 ❌ Exiting due to MK_WRONG_BINARY_M1: You are trying to run amd64 binary on M1 system. Please use darwin/arm64 binary instead (Download at https://github.com/kubernetes/minikube/releases/download/v1.21.0/minikube-darwin-amd..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 ㅇ 4편 [kubernetes] kubernetes event exporter 작업 과정에서 metricbeat kubernetes DNS lookup failure: no such host 이슈가 발생하여 이를 해결하는 과정을 정리하였다. ㅁ 이슈 내용 {"level":"debug","error":"dial tcp: lookup elasticsearch-svc on 10.96.0.10:53: no such host","sink":"elasticsearch-dump","event":"Successfully assigned monitoring/event-exporter-5b67ddd755-xkzhc to minikube","time":"2023-02-21..
ㅁ 개요 ㅇ 로컬 쿠버네티스 환경에서 테스트 하였던 daemonset을 정지시키는 방법을 정리하였다. ㅁ 중지방법(삭제) 가장 간단한 방법으로 daemonset을 삭제처리하면 된다. $ kubectl delete daemonsets.apps -n elastic fluentd daemonset.apps "fluentd" deleted 하지만 다시 사용하려면 daemonset을 다시 생성해 줘야하는 문제점이 있다. 그래서 별도로 생성 yaml의 관리가 필요하다. $ kubectl apply -f fluentd.yaml serviceaccount/fluentd unchanged clusterrole.rbac.authorization.k8s.io/fluentd unchanged clusterrolebinding..
[kubernetes] 쿠버네티스 목차 [kubernetes] 모니터링 방법 정리 ㅁ 개요 ㅇ EKS에 순단이 발생하여 원인 파악을 위해 이벤트를 보는 방법([kubernetes] Events 보는 방법)을 정리하였다. ㅇ AWS에 장애 상황에 대해 문의를 하였고, EKS fail-over 상황이 발생한 것을 확인 할 수 있었다. ㅇ EKS 장애를 통해 장애 인지 및 모니터링을 위한 개선점을 도출하여, 그 과정을 정리하였다. ㅇ 이 번 글에서는 EKS fail-over 시 발생 현상을 정리하였고, kubectl 수행 시 방어코드를 작성해 보았다. 1편 [kubernetes] EKS fail-over 상황정리 및 방어방법 2편 [Kubernetes] 쿠버네티스API 서버 CURL 접속 방법 3편 [Kube..
ㅁ 개요 K9s를 aws ec2 linux에 설치하고 기동하였을 때에 k9s exec plugin: invalid apiVersion \"client.authentication.k8s.io/v1alpha1\" 에러가 발생하여 이를 해결하는 과정을 정리하였다. ㅁ 에러 내용 5:38AM INF 🐶 K9s starting up... 5:38AM WRN Unable to dial discovery API error="exec plugin: invalid apiVersion \"client.authentication.k8s.io/v1alpha1\"" 5:38AM ERR Fail to locate metrics-server error="exec plugin: invalid apiVersion \"client.au..
ㅁ 개요 taint와 tolerations는 주로 노드를 특정해서 스케줄하기 위해 사용한다. taint가 걸려 있는 노드에는 toleration을 주지 않으면 kube-system의 coreDns, metric-server 등 pending된다. 해결 방법은 toleration을 주는 것이다. ㅁ CloudFormation으로 특정노드에 taint 주입 ㅇ CloudFormation으로 WorkNode의 AutoScale그룹까지 생성된다. ㅇ 이 때에 생성되는 노드에 taint를 주입하였다. ㅁ 시스템 Pod들의 Pending 확인 68s Warning FailedScheduling pod/coredns-556f6dffc4-bfs7s 0/2 nodes are available: 2 node(s) had ..
[kubernetes] 모니터링 방법 정리 ㅁ 개요 ㅇ kubernetes cluster 운영환경에서 pod에서 발생한 IP packet에 대한 tcpdump를 해야하는 경우가 발생한다. ㅁ tcpdump를 확인해야만 했던 이유 외부 연동된 사이트와의 통신에서 천만분의 1의 경우로 network timeout이 발생하여 확인하는 과정이었다. 연동된 사이트에서 확인한 결과 우리가 발신한 packet의 Accept-Charse의 길이가 길다는 이슈를 확인하였다. 받는 쪽에서 Accept-Charset 항목이 상당히 긴 편이라 짧은 메시지의 경우에도 네트워크 상에서 패킷이 다건 분할 되어 처리되고 있는 것 같다면서, 혹시 발송된 정보와 다르다면 알려달라는 요청이 있었다. 그 과정에서 나는 1차적으로 소스상 분..
ㅁ 개요 ㅇ kubernetes pod의 파일을 이동하는 방법에 대해서 정리하였다. ㅁ 주의사항 ㅇ kubectl cp --help를 통해 pod간 파일 및 폴더 복사 방법 설명이다. ㅇ 이 설명에 중요한 주의사항이 있다. !!!Important Note!!! Requires that the 'tar' binary is present in your container image. If 'tar' is not present, 'kubectl cp' will fail. For advanced use cases, such as symlinks, wildcard expansion or file mode preservation, consider using 'kubectl exec'. !!!중요 사항!!! 컨테이너 ..
ㅁ 개요 ㅇ 검수기 전용회선 네트워크 오류가 발생하였다. ㅇ Grafana 컨테이너를 추가하면서 Ingress 변경작업으로 인해 ALB 주소가 변경 되어 발생한 문제점이었다. ㅇ ALB 주소와 연결된 다른 설정부분을 설명하며, 해결과정에 대해서 정리하였다. ㅁ 검수기 전용회선 네트워크 오류 확인 요청이 인입되어 네트워크 확인 작업 ㅇ전체 네트워크 흐름에 따라 체크를 시작하였다. ㅇ Route53의 레코드 확인, 문제 없음. ㅇ 로드밸런서도 활성화 상태이다. ㅇ 접속 장애가 나고 있는 443 리스너의 대상그룹을 확인해야 한다 ㅇ Grafana 컨테이너 추가 작업 후 외부 접속을 위해 Ingress 수정 작업을 했던 시점에서 헬스케크에 문제점이 시작되었다. ㅇ 네트워크 인터페이스에서 해당 IP를 확인해 보았..
ㅁ 개요 ㅇ 이전 글에서 skaffold로 kubernetes 로컬 개발환경을 구성하였다. ㅇ 이번 글에서는 kubernetes pod에서 실행 중이 Spring Application를 직접 Debugging 하는 환경을 구성한다. ㅇ 이전 글: [kubernets] Kubernetes 로컬 개발환경 skaffold, Intellij ㅇ 소스 위치 ㅁ Cloud Code Plugin 설치 ㅇ Cloud Code 플러그 인을 설치하였다. ㅇ Cloud 환경에서 개발의 속도와 능률을 증가하기 위해 제공되는 플러그 인이다. ㅇ 쿠버네티스에서 실행되는 resource에 대한 디버깅이 가능하고, 리소스 선언을 위한 YAML 파일 편집을 지원한다. ㅁ Cloud Code:Kubernetes Run Configura..