본문 바로가기

분류 전체보기146

[쿠버네티스 입문] 3-3 클러스터 외부에서 클러스터 내부 앱에 접근 쿠버네티스 내부에서 실행한 컨테이너를 외부에서 접근하려면 쿠버네티스의 서비스(service) 자원을 사용해야함 외부 클라이언트 -> 쿠버네티스 클러스터 (접근 불가능) 외부 클라이언트 -> service -> 쿠버네티스 클러스터 $ kubectl expose deployment nginx-app --type=NodePort # 상세한 내용 확인 $ kubectl describe service {컨테이너 이름} # example $ kubectl describe service nginx-app kubectl get services 명령어를 통해 nginx-app 이 32344라는 외부 포트와 연결된 것을 확인할 수 있다. 2023. 1. 4.
[Kubernetes 입문] 3-2. deployment를 이용해 컨테이너 실행 쿠버네티스를 이용한 컨테이너 실행 방법은 크게 두 가지 kubectl run 명령으로 직접 컨테이너 실행 컨테이너 실행 세부 내용을 담은 YAML 형식의 템플릿으로 컨테이너 실행 (deployment.yaml 를 이용) kubectl run 으로 컨테이너 실행 kubectl run으로 파드를 실행할 때 기본 컨트롤러는 디플로이먼트(deployment) # nginx-app 이라는 이름의 deployment 를 사용해 nginx 컨테이너 실행 $ kubectl create deployment nginx-app --image nginx --port=80 # deployment 상태 확인 $ kubectl get deployments NAME : 클러스터에 배포한 deployment 이름 READY : 사용자.. 2023. 1. 4.
[Kubernetes 입문] 3. 쿠버네티스로 컨테이너 실행하기 2장은 쿠버네티스 설치 관련 내용으로 다른 자료들도 많아 건너 뜁니다. 쿠버네티스 관리를 위한 기본 커맨드라인 인터페이스 kubectl 파드로 컨테이너 실행 상태 살펴보기 컨테이너 삭제등의 기본 사용법과 주요 활용법 소개 kubectl 에서 지원하는 명령 쿠버네티스 자원들의 생성, 업데이트 삭제 (create, update, delete) 디버그, 모니터링, 트러블 슈팅 (log, exec, cp, top, attach, 등등..) 클러스터 관리 (cordon, top, drain, taint, 등등...) 쿠버네티스 kubectl 공식 문서 : kubectl Cheat Sheet kubectl short name : https://kubernetes.io/docs/reference/kubectl/#re.. 2023. 1. 4.
[Kubernetes 입문] 1. 쿠버네티스 소개 1-1. 컨테이너 리눅스의 프로세스별 자원을 격리해 사용하는 cgroup 과 특정 디렉터리로 권한을 제한하는 chroot로 격리 환경 구성 가능. 여기에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일시스템을 합해 컨테이너라는 개념이 탄생. 도커는 컨테이너를 손쉽게 사용할 수 있도록 한 것으로 주목받음 VM 과 컨테이너의 차이 컨테이너 운영체제 위에 도커가 있고 바로 앱이 위치 가상 머신 하이퍼바이저 위에 가상 머신마다 게스트 운영체제가 존재 그 위에 앱이 위치 컨테이너가 구조상 레이어가 더 간단하므로 가상 머신보다 성능을 높이기 쉽다 도커를 이용하면 간단한 명령으로 컨테이너 이미지를 만들고 저장소에 저장이 가능. -> 도커를 설치한 호스트에 저장소의 컨테이너 이미지를 다운로드해서 컨테이너 실행이.. 2023. 1. 3.
[Hibernate] setAutoCommit 최적화 Hibernate Transaction 작업 수행 시, setAutoCommit 동작 순서 Transaction 시작 -> setAutoCommit(false) -> 쿼리 1 수행 -> 쿼리 2 수행 -> setAutoCommit(true) -> Commit 또는 Rollback Hibernate가 매번 setAutoCommit(false) & setAutoCommit(true) 설정을 해야하므로, 불필요한 실행시간이 발생 (2ms ~ 4ms) 또한 setAutoCommit 은 실제 DB에 직접 쿼리(set autocommit = {true or false}) 를 날리게 됨 -> 비효율적 ※ setAutoCommit(true) 로 다시 설정하는 이유 트랜잭션을 위해 false 로 설정했던 auto com.. 2023. 1. 3.