반응형 Kubernetes9 [Kubernetes] 쿠버네티스 환경에서의 JVM 동작/배포/성능 최적화 목차 1. 들어가며 2. JVM (Java Virtual Machine) 기본 개념 2.1. JVM 이란? 2.2. JVM 구성 요소 2.3. JVM 동작 원리 3. 쿠버네티스(Kubernetes) 기본 개념 3.1. 쿠버네티스란? 3.2. 쿠버네티스의 주요 구성 요소 3.3. 쿠버네티스 클러스터 구조 4. 쿠버네티스에서 JVM 애플리케이션 배포하기 4.1. Docker 이미지 생성 4.2. 쿠버네티스 배포 설정 4.3. 서비스 및 인그레스 설정 5. 쿠버네티스 환경에서 JVM 성능 최적화 5.1. JVM 메모리 관리 5.2. 가비지 컬렉션 튜닝 5.3. 리소스 제한과 요청 설정 5.4. CPU 관리 6. 쿠버네티스에서 JVM 모니터링 및 로깅 6.1. 모니터링 도구 소개 6.2. 로깅 전략 6.3. 로.. 2023. 3. 20. [Istio] Batch Job에서 불가능한 Side-car 패턴(Envoy proxy)의 한계를 극복해보자 (Kubernetes, Pod, Container, CronJob) 참고 자료 - https://stackoverflow.com/questions/72645650/terminate-istio-proxy-after-cronjob-completion - https://github.com/wafflestudio/waffle-world/blob/main/apps/snutt-dev/snutt-core/snutt-core.yaml - https://www.howtogeek.com/devops/how-to-clean-up-old-kubernetes-jobs/ - https://kubernetes.io/docs/concepts/workloads/controllers/job/#clean-up-finished-jobs-automatically 1. 문제 정의 apiVersion: batc.. 2022. 12. 26. [Kubernetes] NetworkPolicy를 통해 Pod끼리의 트래픽을 통제해보자. (Ingress/Egress, from/to, namespaceSelector, podSelector, port) [ NetworkPolicy ] 1. Ingress vs Egress 네트워크 트래픽은 외부로부터 유입되는 Ingress(inbound)와 내부로부터 외부로 나가는 Egress(outbound)로 구분됩니다. 우리가 공부하고 있는 쿠버네티스는 기본적으로 non-isolated 네트워크이므로 클러스터 내부 Pod끼리의 트래픽 흐름은 자유롭습니다. 하지만 Namespace(네임스페이스)로 단일 클러스터의 리소스 격리 매커니즘을 사용하여 논리적인 가상 클러스터를 만드는 것처럼, 일부 환경에서는 다른 네임스페이스의 애플리케이션을 적절히 격리하거나 트래픽 제어를 할 필요가 있습니다. Ingress라는 이름의 API 오브젝트도 있으나, HTTP/HTTPS로 요청하는 주소를 구분하여 애플리케이션 서비스에 라우팅할 수.. 2022. 12. 14. [Kubernetes] Authentication/Authentication(인증/인가) 프로세스 및 User/Role 생성(User, CSR, RBAC, RoleBinding) 1. 쿠버네티스에서의 User 개념 쿠버네티스에서는 User(human)와 ServiceAccount(machine) 두 종류의 사용자가 존재합니다. User에는 클러스터 관리자 및 사용자(일반 개발자)가 있으며, ServiceAccount는 Prometheus, Jenkins 등의 Pod 단위로 동작하는 컨테이너들이 API를 사용하기 위해 권한을 부여받은 machine을 뜻합니다. 쿠버네티스에는 우리가 일반적으로 이해하고 있는 User Account과 매칭되는 개념의 객체가 존재하지 않습니다. 즉, 일반적인 방식인 API Call을 통해서는 클러스터에 '지금 사용자가입하니깐 DB 같은데 등록해놔라~'라고 등록할 수 없다는 말입니다. 대신, 클러스터의 인증 기관(CA)이 서명한 유효한 인증서를 제시하는 .. 2022. 12. 13. 이전 1 2 3 다음 반응형