본문 바로가기

전체 글111

자바의 컴파일과 클래스 로딩 과정 간만에 자바 자체를 공부해보는 시간. 예전에 공부했지만 남겨놓은 기록이 없어 다시 공부하는데 힘들었다. 이번 기회에 살짝 정리해두려고 한다. JVM과 자바 바이트 코드C나 C++은 컴파일 플랫폼과 타겟 플랫폼이 다를 경우, 프로그램이 동작하지 않음(환경, 플랫폼 = 운영체제 + CPU 아키텍쳐) 타겟 플랫폼에 맞춰 컴파일 하는 크로스 플랫폼 전략을 취했지만, Java 진형은 타겟 플랫폼에 상관없이 JVM 위에서 동작하도록 바꿨음. 디바이스마다 운영체제나 하드웨어가 다르기 때문에 이런 전략을 취함. 클래스 파일만 네트워크로 전달해주면 JVM 위에서 돌아가도록. (그리고 컴파일 결과물의 크기가 소스코드의 크기와 크게 다르지 않아 네트워크로 전송하여 실행하기도 쉬움) 자바는 WORA를 구현하기 위해 자바와 기.. 2024. 9. 16.
PV - PVC를 사용하면서 주의할 점 - 데이터가 남아있는 경우 상황: DB Pod에서 DB 스키마 초기화가 되지 않는다MySQL에 특정 데이터베이스, 테이블을 찾을 수 없다는 에러가 계속 나고 있었다 (sampleapp.message does not exists). 나는 분명 message에 대한 schema.sql을 입력했고, 다른 DB를 확인해보아도 message 테이블 생성에 대한 스크립트가 입력되었음을 확인했다.  원인: PV에 대한 이해도 부족DB Pod에 접속하여 확인했더니 생판 다른 테이블이 생성되어 있는 것을 확인했다. 그것도 내가 옛날에 실험을 위해 적어두었던. 이 로그를 확인해보니 번뜩 그런 생각이 들었다. 아 이거 PV에 데이터 남아있는 걸로 연결이 되었구나. 초기화 스크립트가 제대로 안 먹힌 거구나. (애플리케이션을 개발하고 테스트하는 과정 중.. 2024. 9. 5.
인프라 형상을 코드로 관리하기 (1) - ArgoCD 아래 과정을 겪으면서 nginx와 한참 싸우던 어느날, k8s 클러스터 위에 배포한 앱들에 https가 적용되지 않는 현상을 발견했다.https://kyumcoding.tistory.com/119 Nginx에서 뒷단의 서비스와 Https 통신하려 할 때 겪는 문제들nginx에서 라우팅하는 A서비스 도메인의 인증서로 B서비스와 통신하려 한다? 문제상황bows.co.kr이면 docker compose로 띄운 certbot과 volume을 통해 ssl 인증을 하고, bows.co.kr 도메인이 아니면 뒷단으로 httpkyumcoding.tistory.com 처음에는 너무 어이가 없었다. 분명 옛날 코드 그대로 해서 ingress를 만들었는데? certificate로 잘 만들었는데...? 심지어 certific.. 2024. 8. 30.
Nginx에서 뒷단의 서비스와 Https 통신하려 할 때 겪는 문제들 nginx에서 라우팅하는 A서비스 도메인의 인증서로 B서비스와 통신하려 한다? 문제상황bows.co.kr이면 docker compose로 띄운 certbot과 volume을 통해 ssl 인증을 하고, bows.co.kr 도메인이 아니면 뒷단으로 https 그대로 넘겨버려서 뒷단의 k8s의 cert-manager와 traefik이 알아서 ssl을 처리하도록 설정한다. 아래 아키텍쳐를 보면 조금 직관적으로 이해가 가능하다.  문제는 뒷단으로 넘겼을 때 브라우저가 예를 들어 k8s에 naver.com 도메인으로 띄운 앱과 ssl 인증을 하려고 할 때 cert-manager와 traefik이 가지고 있는 naver.com인증서가 아니라, nginx 설정 앞단의 bows.co.kr의 인증서를 가지고 인증을 하려 .. 2024. 8. 30.