분류 전체보기 58

(7) PV/PVC, Deployment, Service, HPA

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. 1. PV/PVC 1-1. PVC & PV 의 관계PVC : 사용자가 요청하는 스토리지 자원, 인터페이스 역할PV : 인프라 담당자가 제공하는 실제 스토리지 자원연결 조건필수 필드 :PVC : resources, accessModesPV : capacity, accessModes → 두 속성의 값이 일치해야 연결 가능PVC 와 pv 는 selector 와 labels 를 통해 연결 1-2. PV 유형 : locallocal volumePV 의 local.path 에 실제 마운트 경로 지정로컬 디스크를 스토리지로 사용테스트 환경에서 많이 쓰는 방법필수 속성 : nodeAffinity 속성특정 Node 에..

(6) Configmap, Secret 이해하기

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. 1. Configmap, Secret 기본 개념Configmap 과 Secret 은 Pod 에 바로 연결기본적으로 둘 다 데이터를 담을 수 있다. ConfigmapPod 의 환경변수 설정Pod 의 containers > envFrom 과 연결envFrom 은 ConfigMap의 데이터를 Pod 내부의 환경변수로 주입 하는 속성Pod 가 생성되면, env 명령어로 해당 환경변수가 잘 주입되었는지 확인 가능spring_profiles_active: "dev"application_role: "ALL"postgresql_filepath: "/usr/src/myapp/datasource/postgresql-in..

(5) Probe 이해하기

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. 1. Probe 의 기본 개념 - Pod 안에 probe 설정하기- startUpProbe, readinessProbe, livenessProbe 총 3개의 Probe 를 설정할 수 있다.- 각각 성공이랑 실패에 대한 수치도 설정 가능 (success Threshold, failure Threshold)- 컨테이너 안의 앱에 각 path 에 대한 url 이 사전에 만들어져 있어야 한다.- 일반적으로 App 기동 시간에 따라 startup Probe 실패수만 조정해서 사용한다. Pod 가 만들어지자마자 probe 기능들이 동작한다.App 기동중startupProbe 를 동작시키면서 10초에..

(4) Object 그려보며 이해하기

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다.1. Object 그려보며 이해하기 각 Object 별 기능 간단 정리 ⬇️Object 명 기능DeploymentPod 를 만들고 업그레이드 해주는 역할ServicePod 한테 트래픽을 연결시켜주는 역할ConfirMappod 의 환경변수 값을 제공하는 역할Secretpod 에 좀 더 중요한 환경변수 값을 제공하는 역할PVC (PersistentVolumeClaim)pod 에서 pv 를 지정할 때 사용PV (PersistentVolume)실제 Volume 을 지정하는 역할HPA부하에 따라 pod 를 늘려주고, 줄여주는 스케일링 역할 1. master node 에 접속해서 디렉토리 생성mkdir -p /r..

(3) 실무에서 느껴 본 쿠버네티스가 정말 편한 이유

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. 1. IT 인프라 구축개발App 개발에서 배포까지 써야하는 기술들오케스트레이션 / 매니징App 을 마이크로 서비스로 만들 때 쓰면 좋은 기술들플랫폼, 런타임App 을 클라우드로 올릴 때 주로 사용되는 기술들프로비저닝, 분석App 을 마이크로 서비스로 개발하고, 클라우드까지 올린다면 알아야 하는 기술들 실제 여기서 모니터링, 로깅을 기반으로 쿠버네티스를 사용해야 하는 이유를 알아보면기존에는개발과 모니터링 시스템이 서로 엮일 수 밖에 없는 구조개발에서는 한번도 써보지 않은 (개발 시스템을 위한) 모니터링 시스템을 만드는 구조오픈시 개발 프로젝트와 서로 다른 범위의 App 들을 모니터링 하게 되는 구조였지만..

(2) 쿠버네티스 무게감 있게 설치하기

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. 1. 강의에서 다루는 전체 환경CI / CD 환경인프라 환경내 PC 에 VirtualBox 를 설치하고, VM(가상머신)을 띄운다Guest OS 로 Rocky Linux 가 올라감빌드/배포 도구 : Jenkins컨테이너 빌드 : docker통상 하나만 사용VM 을 띄워서 Rocky Linux이 위에 k8s 와 containerd 를 스크립트로 설치dev / qa / prod 로 나눠져 있다. ⁉️ VM (가상머신) : 물리적인 컴퓨터 안에서 소프트웨어로 만든 가상의 컴퓨터, 하나의 컴퓨터 안에서 또 다른 컴퓨터를 실행한다고 생각하면 된다. 배포 흐름IntelliJ 에서 코드 개발을 완료하고 커밋 → G..

[미션1] 쿠버네티스 설치 구간별 상태 확인

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 미션 입니다.👩🏻‍💻 미션 : 쿠버네티스 무게감 있게 설치하기 > 구간별 상태 확인 (2/2) [미션1] [4] Rocky Linux 기본 설정타임존 설정 확인 (script 적용 명령 : timedatectl set-timezone Asia/Seoul)timedatectl [5] kubeadm 설치 전 사전작업방화벽 해제 확인 (script 적용 명령 : systemctl stop firewalld && systemctl disable firewalld)# 방화벽 상태 확인 명령어systemctl status firewalld → disabled 로 방화벽이 해제되어 있음을 확인할 수 있다. 스왑 비활성화 확인 ..

(1) 컨테이너 한방 정리 - Linux, Container, Container Orchestration, Kernel, kubelet

⚓ 쿠버네티스 어나더 클래스 (지상편) - Spring 1, 2 을 듣고 작성하는 복습 블로그 입니다. [리눅스 흐름으로 이해하는 컨테이너]1. 리눅스 배포판 선택1-1. 리눅스(Linux) 란 ?리눅스는 컴퓨터 운영체제(OS) 중 하나이다. 쉽게 말해서 컴퓨터 하드웨어와 소프트웨어를 연결해주는 시스템이다. 1-2. 리눅스 기반 여러 배포판 리눅스를 사용하기 위해서 여러 배포판 중 하나를 선택해서 사용할 수 있는데, 크게 두 가지로 나뉜다.1. Debian 계열 : 무료 (커뮤니티용)2. Redhat 계열 : 유료 (기업용) 1-3. Debian 계열Debian 은 무료로 사용할 수 있는 리눅스 기반 배포판이다. 이 Debian 에 편의기능을 추가해서 사용 편의서을 높인 배포판이 바로 Ubuntu 로,..

글또 10기를 마치면서

# 글또를 되돌아보면서 10월부터 시작한 글또가 벌써 마지막 회차에 이르렀다처음에 삶의 지도를 쓸 때 두근두근했던게 엊그제 같은데 ,,, 벌써 마지막 글 작성이라니 !!!! 시간이 진짜 빨리가는구나 싶다 🥹마지막으로 회고글을 작성하면서 글또의 활동들을 되짚어보고자 한다 # 글쓰기 글또의 가장 핵심중에 핵심인 2주에 글 1개씩 작성하기 !!!! ✍️결론적으로 말하자면 패스를 2번 사용했고, 현재 쓰고 있는 글을 포함해서 10개의 글을 작성했다. 1. 글또 10기를 시작하면서2. Spring Batch 란 ? (이론)3. 패스4. Spring Batch란 ? (실전편 근데 Spring Batch5를 곁들인)5. 인덱스에 대해서 알아보자6. [책 리뷰] 개발자를 위한 커리어 관리 핸드북7. 패스8-1. 인덱..

✒️ 글또 10기 2025.03.26

트랜잭션이란 ?

1. 트랜잭션이란 ?트랜잭션을 한마디로 설명하자면 "모든 명령어의 성공 또는 실패를 한꺼번에 모아서 처리하는 것" 하고 할 수 있습니다.만일, 여러 명령어를 한 번에 처리하다가 그 중 하나라도 실패하면, 트랜잭션 내의 모든 명령어가 무효화(롤백)됩니다. 💰 예를 들어, 은행에서 다른 계좌로 돈을 송금하는 상황을 가정해 보겠습니다. 1. 내 계좌에서 돈을 출금하고2. 다른 계좌로 돈을 입금하면 송금이 성공합니다 ! 하지만, 만약 두번째 과정에서 오류가 발생해 입금이 되지 않으면, 돈이 어딘가로 사라지게 됩니다 🤔이런 상황을 방지하기 위해서는, 1번과 2번 과정을 하나의 트랜잭션으로 묶어야 합니다 이렇게 하면 둘 중 하나라도 실패하면 전체 트랜잭션이 롤백되어, 오류를 방지할 수 있습니다. !2. 트랜잭션..