Writing
작업 노트
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
kustomize 소개
kustomize 소개. Kubernetes를 위한 템플릿이 필요 없는 구성 사용자 지정 Kubernetes 환경을 실행하는 경우 Kubernetes 구성을 사용자 정의했을 가능성이 있습니다. 일부 API 객체 YAML 파일을 복사하고 필요에 맞게 편집했습니다. 그러나 이 접근 방식에는 단점이 있습니다. 소스 자료로 돌아
spring kafka dead letter queue 설정
spring kafka dead letter queue 설정 kafka 커넥터를 사용해서 dlq를 설정하는 방법이 있고 spring을 사용해서 컨슈머를 만들었으면 스프링을 통해서 dlq를 설정 하는 방법이 있다. spring에서 dlq를 설정하는 방법에 대해서 알아 보겠다. 스프링 부트를 사용하면 위와 같은 코드를 통해서
ErrorHandlingDeserializer 설정
ErrorHandlingDeserializer 설정 poll() 시에 deserializer가 메시지를 deserialize하는 데 실패하면 반환 전에 발생하기 때문에 Spring은 문제를 처리할 방법이 없다. 에러 메시지 위에 코드처럼 처음부터 객체를 받을때를 말하는것이다. 이런 문제를 해결하기 위해 ErrorHandl
AmazonS3Exception 처리
AmazonS3Exception 처리 spring boot starter actuator 에서 /actuator/health 호출시에 config server의 경우 아래 처럼 repositories에 대한 설정을 하거나 spring.cloud.config.server.health.enabled=false 설정을 통해서
카프카 send 시 에러
카프카 send 시 에러 org.apache.kafka.common.InvalidRecordException: This record has failed the validation on broker and hence will be rejected. 위에 에러메시지시가 발생하면서 send가 되지 않았다 확인해 보니 kafka
쿠버네티스에서 command를 활용해서 APM agent 설치하기
쿠버네티스에서 command를 활용해서 APM agent 설치하기 command를 활용해서 해당 파일을 pod에 다운로드 하는 방법을 적어 놓는다. 위처럼 간단하네 커멘드 내용을 활용해서 처리를 했다 커멘드를 사용시에 주의사항은 dockerfile에 ENTRYPOINT가 사용되지 않아서 실제 실행까지 시켜줘야 된다. 참고
Docker 에서 JAVA_OPTS 환경 변수 선언하기
Docker 에서 JAVA OPTS 환경 변수 선언하기 아래 처럼 도커 ENTRYPOINT 에 JAVA OPTS 환경변수를 선언하면 could not find or load main class $java opts 오류가 나온다. exec 명령어를 사용하면 오류 없이 정상동작이 된다. 참고자료
kubernetes alb ingress health check path 서비스마다 다르게 설정하기
kubernetes alb ingress health check path 서비스마다 다르게 설정하기 위와 같이 Ingress를 설정하면 공통적으로 healthcheck path를 지정하는데 이것을 서비스마다 바꾸려면 아래 처럼 서비스에서 지정해주면 된다. 참고자료