분류 전체보기
-
Github 저장소 연결Linux 2025. 7. 31. 11:01
Shell Script를 Git으로 관리하기 위해 Github 저장소 연결 1. git 설치apt update# git 설치apt install -y git# 버전 확인gi --version 2. 디렉토리 생성하고 파일 copymkdir script-studycp backup.sh ./script-study/cp monitoring.sh ./script-study/ 3. 현재 디렉토리를 Git 로컬 저장소로 초기화git init현재 브랜치 이름을 main으로 변경git branch -m main 4. github 원격 저장소 생성5. git에서 사용할 user name, email 설정git config --global user.name "사용할 이름"git config --global user.emai..
-
.env 파일로 환경 변수 설정하기Spring 2025. 7. 29. 13:04
.env 파일: 환경변수를 key=value 형식으로 저장하는 파일application.properties 같은 설정 파일에 민감 정보 노출 방지하기 위해 사용Git에 커밋 금지: .gitignore에 .env 추가 .env 파일 생성인텔리제이 - Run - Edit Configurations - Modify options - Environment variables 선택Environment variables : 생성한 .env 파일 경로 선택application.propertisespring.application.name=spring-project# DB 연결 설정spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource...
-
MySQL Server 설치(Ubuntu 24.04.2 LTS)Linux 2025. 7. 29. 10:37
Spring Boot에서 연결해서 쓰려고 Ubuntu에 MySQL 서버를 설치함 1. Bridged Adapter 추가 및 네트워크 설정네트워크 설정 파일 수정# 네트워크 설정 파일 수정vi /etc/netplan/50-cloud-init.yaml# 설정 변경 후 적용sudo netplan apply설정된 IP 확인 2. 시간 동기화시간 동기화가 필요한 이유데이터 무결성 확보: 로그 기록이나 트랜잭션 처리에서 정확한 타임스탬프가 중요. 클라이언트와 서버 간 시간이 맞지 않으면 문제가 생길 수 있다.복제 및 클러스터링 환경: MySQL 레플리케이션이나 Galera 클러스터 같은 환경에서는 시간 차이가 있으면 복제 지연이나 충돌 문제가 생길 수 있다. (Galera 클러스터 : 여러 DB 서버를 묶되, 모두..
-
쉘 스크립트Linux 2025. 7. 24. 10:37
Bash는 명령어 해석기, 즉 쉘의 역할을 한다. 쉘은 운영체제의 커널과 사용자 간의 중간 다리 역할을 하며, 사용자가 입력한 명령어를 해석하고 이를 커널에서 실행하는 형태로 동작한다. 따라서 사용자는 복잡한 시스템 콜이나 저수준 프로세스를 직접 다루지 않고도, 직관적인 명령어를 통해 파일을 관리하거나 프로세스를 제어할 수 있다. backup.sh#!/bin/bash# 백업할 디렉토리 경로 설정SOURCE_DIR="/home/devopscat/documents"BACKUP_DIR="/home/devopscat/backup"# 백업 디렉토리 생성if [ ! -d "$BACKUP_DIR" ]; then mkdir -p $BACKUP_DIRfi# 데이터 저장할 디렉토리 생성if [ ! -d "$SOURC..
-
namespaceK8s 2025. 7. 15. 00:02
namespace : 리소스를 논리적으로 구분하는 장벽클러스터 하나를 여러 개의 논리 단위로 나눠서 사용하는 것물리적인 클러스터 하나를 여러 개인것 처럼 사용할 수 있다.네임스페이스 덕분에 쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함께 공유할 수 있다.클러스터 안에서 용도에 따라 실행해야하는 앱을 구분할 때 사용--namespace 옵션을 명시하지 않으면 기본적으로 default 네임스페이스를 사용한다.# namespace 별로 deployment 생성kubectl create deploy ui --image=nginx --namespace redkubectl create deploy ui --image=nginx --namespace greenkubectl create deploy ui --im..
-
컴포넌트 종류와 구성 및 애드온K8s 2025. 7. 14. 19:58
쿠버네티스 아키텍쳐 1. 컨트롤 플레인용 컴포넌트 1) etcd쿠버네티스에서 필요한 모든 데이터를 저장하는 데이터베이스 역할을 한다.쿠버네티스 클러스터 구성을 유지하는 분산 키 밸류 스토어(KVS)로 데이터를 key-value 형태로 저장.서버 하나당 프로세스 1개만 사용할 수 있다. 안정적으로 쿠버네티스를 운영하려면 주기적으로 etcd에 있는 데이터를 백업하는 것이 권장된다. 2) kube-apiserver쿠버네티스 클러스터의 API를 사용할 수 있도록 하는 컴포넌트.클러스터로 들어온 요청이 유효한지 검증한다. 쿠버네티스는 마이크로 아키텍쳐이므로 서로 분리된 컴포넌트 여러 개로 구성되어 있다. 쿠버네티스에 보내는 모든 요청은 kube-apiserver를 이용해 다른 컴포넌트로 전달한다. 3) kub..
-
PodK8s 2025. 7. 10. 14:23
포드(pod) : 컨테이너를 다루는 기본 단위 쿠버네티스에서 컨테이너 애플리케이션의 기본 단위. 포드는 1개 이상의 컨테이너로 구성된 컨테이너의 집합이다. 쿠버네티스가 포드를 사용하는 이유는 컨테이너 런타임의 인터페이스 제공 등 여러가지가 있지만 여러 리눅스 네임스페이스(namespace)를 공유하는 여러 컨테이너들을 추상화된 집합으로 사용하기 위해서이다. 포드 내 컨테이너들이 네트워크 네임스페이스 등과 같은 리눅스 네임스페이스를 공유해 사용한다. * 네트워크 네임스페이스는 컨테이너의 고유한 네트워크 환경을 제공해주는 역할을 담당한다. 예를 들어 docker run 명령어로 docker0 브리지에 연결된 컨테이너가 생성됐다면, 그 컨테이너는 자기 자신만의 고유한 네트워크 네임스페이스를 가지게 된다. 그..