반응형

데브옵스 엔지니어 필수 리눅스 명령어 세트 

데브옵스 엔지니어에게 핵심 리눅스 명령어를 숙달하는 것은 운영 효율성을 높이는 데 매우 중요합니다. 이 가이드는 CI/CD 파이프라인 관리, 컨테이너 오케스트레이션, 네트워크 문제 해결, 그리고 인프라 자동화 스크립팅을 위한 필수 명령어를 다룹니다.

CI/CD 파이프라인 관리

`git`: 버전 관리, CI 트리거.

git clone <repo-url>
git pull origin main
git commit -m "feat: add new feature"
git push origin main

DevOps Tip: CI 파이프라인에서 `git pull`을 자동화하여 항상 최신 코드를 사용하세요. 릴리스를 위해 특정 브랜치 태그를 활용하세요.

`ssh`: 안전한 원격 실행, 파일 전송.

ssh user@host "ls -la /var/www/html"
scp /local/path/file user@host:/remote/path/

DevOps Tip: 자동화 스크립트에서 비밀번호 없는 인증을 위해 SSH 키를 사용하세요.

`rsync`: 효율적인 파일 동기화.

rsync -avz /local/dir/ user@host:/remote/dir/

DevOps Tip: `--delete` 옵션이 있는 `rsync`는 배포 아티팩트 정리에도 유용합니다.

`find & xargs`: 파일 검색 및 명령 실행.

find . -name "*.log" | xargs rm

DevOps Tip: 오래된 로그 압축, 임시 파일 삭제 등 파일에 대한 대량 작업에 탁월합니다.

컨테이너 오케스트레이션

`kubectl`: 쿠버네티스 제어 도구.

kubectl get pods
kubectl apply -f deployment.yaml
kubectl logs <pod-name> -f

DevOps Tip: 디버깅 중 자세한 리소스 정보를 보려면 `kubectl describe`를 사용하세요.

`docker`: 컨테이너 런타임.

docker build -t myapp:1.0 .
docker run -d -p 80:80 myapp:1.0
docker ps -a

DevOps Tip: 다중 컨테이너 로컬 개발을 위해 Docker Compose를 학습하세요.

`crictl`: CRI (Container Runtime Interface) 도구.

crictl pods
crictl inspectp <pod-id>
crictl images

DevOps Tip: Kubernetes 노드에서 컨테이너 런타임 수준의 문제를 디버깅할 때 유용합니다.

네트워크 문제 해결

`ip`: 네트워크 설정 및 통계 관리.

ip addr show
ip route show

DevOps Tip: `ifconfig` 대신 `ip` 명령어를 사용하여 네트워크 인터페이스와 라우팅 정보를 확인하세요.

`lsof`: List Open Files (네트워크 소켓 포함).

lsof -i :80
lsof -i -P | grep LISTEN

DevOps Tip: 어떤 프로세스가 특정 포트를 사용하고 있는지 빠르게 찾을 수 있습니다.

`dig / nslookup`: DNS 쿼리 유틸리티.

dig example.com A
nslookup google.com

DevOps Tip: 분산 시스템에서 DNS 확인 문제를 진단하는 데 필수적입니다.

`curl / wget`: 데이터 전송 도구.

curl -I https://google.com
wget -O index.html https://example.com/

DevOps Tip: HTTP 요청 및 응답 디버깅을 위해 `curl -v`를 사용하여 자세한 출력을 확인하세요.

인프라 자동화 스크립팅

`jq`: JSON 프로세서.

cat config.json | jq '.server.port'
kubectl get pod my-pod -o json | jq '.status.phase'

DevOps Tip: 스크립트에서 JSON 데이터를 파싱하고 조작하는 데 매우 강력합니다.

`sed / awk`: 텍스트 스트림 편집 및 처리.

sed 's/old_text/new_text/g' file.txt
awk '{print $1, $3}' access.log

DevOps Tip: 로그 분석 및 데이터 추출을 위한 강력한 도구입니다. 정규 표현식과 함께 사용하면 더욱 강력합니다.

`cron`: 작업 스케줄링.

# 매일 새벽 1시에 스크립트 실행
0 1 * * * /path/to/my/script.sh

DevOps Tip: 반복적인 유지보수 작업이나 백업 스크립트를 자동화하는 데 사용됩니다.

명령어 요약

명령어목적범주
git 버전 관리, CI 트리거 CI/CD 파이프라인 관리
ssh 안전한 원격 실행, 파일 전송 CI/CD 파이프라인 관리
rsync 효율적인 파일 동기화 CI/CD 파이프라인 관리
find & xargs 파일 검색 및 명령 실행 CI/CD 파이프라인 관리
kubectl 쿠버네티스 제어 도구 컨테이너 오케스트레이션
docker 컨테이너 런타임 컨테이너 오케스트레이션
crictl CRI (Container Runtime Interface) 도구 컨테이너 오케스트레이션
ip 네트워크 설정 및 통계 관리 네트워크 문제 해결
lsof List Open Files (네트워크 소켓 포함) 네트워크 문제 해결
dig / nslookup DNS 쿼리 유틸리티 네트워크 문제 해결
curl / wget 데이터 전송 도구 네트워크 문제 해결
jq JSON 프로세서 인프라 자동화 스크립팅
sed / awk 텍스트 스트림 편집 및 처리 인프라 자동화 스크립팅
cron 작업 스케줄링 인프라 자동화 스크립팅
메타데이터

Tistory Tags:

데브옵스리눅스명령어CI/CD쿠버네티스컨테이너네트워크디버깅자동화쉘스크립트시스템관리인프라자동화

Search Summary:

데브옵스 엔지니어 필수 리눅스 명령어 마스터! CI/CD, Kubernetes, 네트워크 디버깅, 인프라 자동화 등 실용 예시 및 팁을 제공합니다.

 
반응형

+ Recent posts