[Project]Jenkins + Ansible + Docker + GitHub를 활용한 CI/CD 자동화 파이프라인 구성
·
카테고리 없음
목적GitHub 커밋 → Jenkins 빌드 → Docker 이미지 생성 및 배포 자동화 파이프라인 구축환경온프레미스 서버 A, B (임의 지정)역할 분담역할 1: CI, 역할 2: CD (서로 교대 수행)툴 체계GitHub, Jenkins, Maven, Ansible, Docker, Docker Hub 조건 Jenkins가 GitHub에서 Java 웹 애플리케이션 소스 코드를 main 브랜치 기준으로 pull 받는다.Maven을 이용해 Jenkins가 프로젝트를 빌드하고 .war 파일을 생성한다.생성된 .war 파일을 기반으로 Docker Tomcat 컨테이너에 배포한다.Tomcat은 기존 실행 중인 컨테이너를 중지하고 새 컨테이너를 자동으로 띄워야 한다.Jenkins Job은 GitHub Webho..
[CI/CD] Jenkins + Ansible + Docker 연동
·
카테고리 없음
목표: GitHub 소스코드를 Jenkins에서 빌드하여 도커 이미지로 제작, Docker Hub에 푸시하고 Ansible로 자동 배포까지 수행하는 파이프라인 구축시스템 준비사용자 및 권한 설정# ansdocadmin 사용자 확인tail /etc/passwd | grep ansdocadmin# SSH 패스워드 로그인 허용sudo grep Password /etc/ssh/sshd_configPasswordAuthentication yessudo visudo# 또는 /etc/sudoers.d/ansdocadmin 파일 생성ansdocadmin ALL=(ALL) NOPASSWD: ALLAnsible 설치 및 SSH 연결 # ansdoc에 Ansible 설치sudo dnf -y install ansible# d..
[Clone_Project] CI/CD 파이프라인 구축 및 배포
·
카테고리 없음
프로젝트 소개이번 프로젝트는 일전에 진행한 미니/팀프로젝트와 달리 개인적으로 공부해보고 싶은 부분에 대해실습만으로는 이해하기 어려운 부분과, 배운 것에서 발전시켜나가기 위해 인터넷에 공개된 클론 프로젝트를 통해전반적인 내용을 이해하고 추가적으로 적용 시킬 수 있는 포인트가 있으면 적용을 통해 인프라를 공부 하고자 한다. 프로젝트 목표풀스택 어플리케이션 AWS 환경에서 배포 CICD 파이프라인1. Github 레포지터리 변경 감지시 Jenkins Webhook을 통해 Docker Image 빌드2. Githhub 변경 감지시 Github변경 내용을 감지하고 메니페스트와 CLuster, Sync 맞춤 모니터링 시스템 구축1. Prometheus, Grafnana 구축 및 매트릭 생성2. API Prome..
[k8s] 쿠버네티스 명령어 및 기능 정리
·
카테고리 없음
1. 쿠버네티스 기본 명령어 명령어설명설명kubectl get리소스 목록 조회kubectl describe리소스 상세 정보 조회kubectl create리소스 생성kubectl apply -fYAML 파일을 통한 리소스 적용kubectl delete리소스 삭제kubectl logsPod 로그 조회kubectl exec -itPod 내부 접속 #예시# 모든 파드 목록 조회kubectl get podskubectl get nodes# 특정 네임스페이스에 있는 서비스 조회kubectl get svc -n my-namespacekubectl describe pod # 특정 파드 안에 접속kubectl exec -it -- /bin/bashkubectl exec -it my-pod -- /bin/bash# 리소..
[Project] Docker 컨테이너 플랫폼 구성, Kubernetes 오케스트레이션
·
카테고리 없음
1. 프로젝트 개요프로젝트 소개Amazon Cloud Service(AWS)를 기반으로 코드 및 어플리케이션 배포 인프라를 구축하며, 각 서비스는 가상화 기반으로 컨테이너화된 환경에서 운영Docker 엔진 기반의 가상화 환경 구성, Kubernetes를 통한 멀티 노드 오케스트레이션 환경 구축 및 운영주요 기능Docker 최신 버전 설치 및 컨테이너 구동 (httpd, nginx, tomcat)외부 연결 포트 구성 및 index.html 확인로컬 디렉토리 바인드 마운트 구성Kubernetes 클러스터 설치 및 Pod 구성다중 노드 환경에서의 컨테이너 오케스트레이션 수행nginx, httpd 파드 테스트 및 curl 명령을 통한 확인NFS 서버 기반 Persistent Volume 구성📌 2. 요구사항 ..
[Team_Project]Kali Linux에서 우분투 서버를 향한 플러딩 공격과 보안설정
·
Project
프로젝트 개요이번에 진행하는 프로젝트는 네트워크 인프라 기본 설정부터 공격 시나리오 구성, 방어 전략 수립까지 전 과정을 설계하고 실습하는 보안 중심 네트워크 프로젝트입니다. 프로젝트에서는 EIGRP를 활용한 동적 라우팅 구성, VLAN을 통한 내부망 분리, 그리고 포트 기반 공격 및 방어 실습을 통해 실제 현업과 유사한 내부망 환경을 구성해볼 예정입니다. 또한 Nmap과 Python 스크립트를 활용한 취약점 스캐닝 및 점검 자동화, ASA 방화벽 기반의 DMZ/Inside/Outside 보안 영역 구성까지 구성을 통하여 보안 대책을 진행합니다! - 실습 환경은 GNS3 기반으로 구성하며, 라우터, 스위치, 방화벽 등 주요 장비는 시뮬레이션을 통해 구동됩니다.- Python으로 작성된 스캐닝 자동화 스..
[CI/CD] Tomcat & Jenkins_1
·
DevOps
Tomcat& Jenkins&Github를 통해 CI/CD 파이프라인 구성 Maven으로 간단한 웹 애플리케이션을 만들고, GitHub에 연동한 뒤, Jenkins와 Tomcat을 활용해 자동 배포 파이프라인(CI/CD)를 구성 ✅웹 어플리캐이션 생성maven 을 통해 간단한 웹 어플리케이션 구조를 생성 후 간단한 웹을 구성mvn archetype:generate -DgroupId=com.4gl.app -DartifactId=4glapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false#웹 구조를 가진 공식 템플릿maven-archetype-webapp-> pom.xml #maven 설정 파일 (명세서) (프로젝트 의존성,플러그인)..
[CI/CD] Tomcat
·
DevOps
1. Tomcat이란?Apache Tomcat은 Java 서블릿 컨테이너이자 웹 애플리케이션 서버(WAS)로, 서블릿과 JSP(JavaServer Pages)를 실행하는 기능을 제공한다. Spring, JSP 기반 웹 애플리케이션을 구동할 때 가장 많이 사용되며, 경량성과 오픈소스라는 장점 덕분에 다양한 환경에서 활용된다. Tomcat의 핵심 구성 요소Catalina: 서블릿 컨테이너 핵심 엔진Coyote: HTTP 요청을 받아들이는 커넥터Jasper: JSP 파일을 서블릿으로 변환하는 컴파일러Manager App: WAR 배포 및 애플리케이션 관리를 위한 웹 UITomcat은 단독으로 사용되기도 하지만, Nginx나 Apache HTTP Server와 함께 리버스 프록시로 구성되기도 한다. Tomca..
[k8s] Pods 구성 및 도메인 연동 실습
·
DevOps/K8s
문제wordpress 이미지를 3개의 파드로 구성된 디플로이먼트로 생성하시오. 이후 해당 파드의 내용물이 https://mydomain.click/wp 라는 URL로 외부에 출력되도록 만드시오. 1. NameSpace 생성kubectl create namespace wordpress 2. Ingress Controller 설치외부 요청을 클러스터 내부의 여러 서비스로 "경로 기반' "호스트기반"으로 라우팅 하기 위해 설치helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace --set controll..
[K8s] Helm 과 Ingress 웹서버 통합 라우팅 구성
·
DevOps/K8s
쿠버네티스 패키지 매니저 설치wget https://get.helm.sh/helm-v3.17.3-linux-amd64.tar.gztar -zxvf helm-v3.17.3-linux-amd64.tar.gzmv linux-amd64/helm /usr/local/bin/helm #helm 통해 ingress controllor 설치helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace --set controller.admissionWebhooks.enabled=falsekubectl get all -n in..