IT/Back

데브옵스 기초입니다.

Clair_de_Lune 2024. 12. 6. 17:18
728x90

데브옵스를 처음 배우기 시작할 때, 기초부터 차근차근 익혀야 할 주요 내용과 코드 예시를 소개하겠습니다.

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 파이프라인을 설정해보세요.

728x90

'IT > Back' 카테고리의 다른 글

쿠버네틱스란>??????  (0) 2024.12.06
데브옵스 공부에 필요한것  (0) 2024.12.06
데브옵스와 전통적 방법 차이  (1) 2024.12.06
AWS  (1) 2024.12.04
백엔드 학습 목차  (0) 2024.12.04