데브옵스를 처음 배우기 시작할 때, 기초부터 차근차근 익혀야 할 주요 내용과 코드 예시를 소개하겠습니다.
1. 버전 관리 시스템 (Git)
설치 및 기본 명령어:
Git을 설치한 후, 기본적인 명령어를 익히세요.
bash
# Git 초기화
git init
# 파일 추가
git add <파일명>
# 커밋하기
git commit -m "커밋 메시지"
# 원격 저장소 연결
git remote add origin <저장소 URL>
# 푸시하기
git push origin master
2. CI/CD 도구 (Jenkins)
Jenkins 설치 및 설정:
Jenkins를 설치합니다.
웹 인터페이스에 접속하여 기본 설정을 완료합니다.
파이프라인 예시:
Jenkinsfile을 사용하여 파이프라인을 정의할 수 있습니다.
groovy
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo Building...'
}
}
stage('Test') {
steps {
sh 'echo Testing...'
}
}
stage('Deploy') {
steps {
sh 'echo Deploying...'
}
}
}
}
3. 컨테이너 기술 (Docker)
Docker 설치 및 기본 명령어:
Docker를 설치한 후, 기본적인 명령어를 익힙니다.
bash
# Docker 이미지 빌드
docker build -t myapp .
# Docker 컨테이너 실행
docker run -d -p 80:80 myapp
Dockerfile 예시:
애플리케이션을 컨테이너화하기 위한 Dockerfile 예시입니다.
Dockerfile
# 베이스 이미지
FROM nginx:alpine
# 애플리케이션 파일 복사
COPY . /usr/share/nginx/html
4. 오케스트레이션 도구 (Kubernetes)
Kubernetes 설치 및 기본 명령어:
Minikube를 사용하여 로컬 Kubernetes 클러스터를 설정할 수 있습니다.
bash
# Minikube 시작
minikube start
# Kubernetes 배포
kubectl create deployment myapp --image=myapp:latest
# 서비스 노출
kubectl expose deployment myapp --type=LoadBalancer --port=80
Kubernetes YAML 파일 예시:
배포 및 서비스를 정의하는 YAML 파일입니다.
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 2
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: myapp
5. 모니터링 도구 (Prometheus)
Prometheus를 설치하고 기본적인 메트릭을 수집하는 방법을 익힙니다.
Prometheus 설정 예시:
prometheus.yml 파일의 기본 설정 예시입니다.
yaml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'myapp'
static_configs:
- targets: ['localhost:9090']
학습 방법
문서화: 각 도구의 공식 문서를 참고하여 설치 및 사용법을 익히세요.
실습: 실제로 프로젝트를 만들어 보며 연습합니다. 간단한 웹 애플리케이션을 만들어 CI/CD 파이프라인을 설정해보세요.
'IT > Back' 카테고리의 다른 글
쿠버네틱스란>?????? (0) | 2024.12.06 |
---|---|
데브옵스 공부에 필요한것 (0) | 2024.12.06 |
데브옵스와 전통적 방법 차이 (1) | 2024.12.06 |
AWS (1) | 2024.12.04 |
백엔드 학습 목차 (0) | 2024.12.04 |