전체 글

성장 중 🌱🌱
· Cloud
배포 전략과 무중단 배포1. 재생성 전략 (Recreate)재배포!디플로이먼트와 관련된 모든 포드를 중지 → 새로운 버전의 포드를 생성장점 : 쉽고 간편하다단점 : 서비스 다운타임이 발생한다.서비스에 영향이 있다.기능 테스트 배포에 적합하다.2. 롤링 업데이트 전략 (Rolling Update)Blue / Green 배포 방식과 유사기존 버전의 애플리케이션을 점진적으로 새로운 버전으로 교체하는 배포 방식트래픽을 기존 버전(V1.1)과 새 버전(V1.2)으로 분산하면서 배포사실 사용자 경험 측면에서는 서버가 내려갔다는 것도 못 느끼지만, 아주 희박한 환경에서의 에러가 난다면?기존 v1.1에 있던 사용자로그아웃심한 경우 500 에러[그런데 결제 중이었다면?]실제 결제는 되었는데, 사용자는 v1.2로 옮겨가고..
· Cloud
0. Kubernetes 개요쿠버네티스란?컨테이너화된 애플리케이션을 자동으로 배포하고 관리하는 오케스트레이션 도구도커는 컨테이너화해서 이미지를 만드는 것이라고 했다.쿠버네티스는 컨테이너가 실행될 환경을 만들고, 이를 효과적으로 관리하는 역할을 한다.즉, “컨테이너의 실행/관리/운영 환경”을 제공하는 것1. 쿠버네티스 컴포넌트1-1. K8s Cluster쿠버네티스를 배포하면 Cluster를 얻는다.쿠버네티스 클러스터 = 하나의 실행 환경(Infrastructure Environment)K8s 클러스터는 최소 한 개의 Worker Node를 가진다.Node는 쉽게 말해 ‘서버’라고 생각하면 편하다.Worker Node는 애플리케이션을 구성하는 Pod를 실행하는 역할을 한다.미리 설명하자면, 하나의 Pod는 ..
· Cloud
Minkube로 쿠버네티스 실습하기 - 기본 세팅IAM 설정IAMFullAccessAmazonEC2FullAccessAmazonVPCFullAccess→ MFA 추가 (보안자격증명)루트와 IAM 둘 다인스턴스 생성태그이미지 말고 소스코드 배포에 사용되는 태그아무렇게나 쓰면 안됨. (내부정책에 맞게)예시 1) 리소스명-사용서비스명-환경(dev/prod 등)-Zone [우리 교육 과정의 내부정책]EC2-kube-master-Azone예시 2) 리소스명-사용서비스명-네이밍-Zone계정을 같이 쓸 때는EC2-kube-jinho-Azone애플리케이션 및 OS 이미지 [AMI]우리는 현재 공인 IP로 접속할 것더 많은 AMI 찾아보기 - Docker Hub 마냥 많은 실행환경이 있음실제 기업 내에서는 SaaS 많이..
· Cloud
세부적인 설명에도 전체 그림이나 Flow 등이 머리 속에 들어오지 않아시간을 내어 정리하는 시간을 가지고 싶었습니다.저처럼 서버 개발은 해보았지만, 클라우드에 대해 입문 하시는 분들은 다음 글을 읽어보시면 도움이 되실 것 같습니다.0. 들어가기 전클라우드 과정을 짧은 기간에 공부하다 보니, 다음과 같은 질문들이 마구마구 지나가기 시작했다. 도커와 컨테이너의 정의가 정확히 어떻게 되지?이미지와 컨테이너? 대충은 객체와 인스턴스 느낌인데 정확히 어떻게 돌아가는 거지?도커를 사용하면 기존 EC2에 소스코드를 올리는 방식은 어떻게 다르지?CI/CD 파이프라인의 정확한 동작 Flow는 어떻게 되는거지젠킨스, 깃허브 액션 등 툴이 너무 많으니 분류 기준이 머리 속에 확립이 안된다..왜 기업들은 사내망에서 GitLa..
· Cloud
GitLab Runner를 사용한 CI/CD 연동 및 자동화 테스트목표와 환경[최종 목표]Docker Private Registry 환경 구축 후 TLS(SSL) 인증 및 접근제어 (htpasswd)를 적용HTTPS/SSL 설정마지막에 간단한 FLASK 테스트를 통해 변경 후 commit 하면 CI/CD 파이프라인에서 자동으로 이미지빌드 및 푸시 잘 작동하는지 확인[참고]Ubuntu ARM64 버전에서의 Local GitLab 설치는 번거로울 수 있다.:GitLab.com 사용 추천✅ 로컬 GitLab을 직접 설치하는 것은 ARM64 환경에서 다소 번거로울 수 있음.✅ GitLab.com에서 계정을 만들어 사용하면 빠르게 실습 가능.시스템 아키텍처[구성 요소]① Docker Private Registry..
· Cloud
Private Docker Registry 구축 및 보안 강화사설 Docker Registry를 구축하고, 보안성을 강화하여 안전한 이미지 저장소를 운영할 수 있도록 한다.과제 설명기업 내부에서 사용하는 Docker 이미지를 안전하게 관리하기 위해 Docker Private Registry를 구축하고, TLS(SSL) 인증 및 접근 제어를 적용하여 보안성을 높이는 실습을 진행한다.활용 툴Docker, Docker ComposeOpenSSLhtpasswdGitLab CI/CD1. Docker Private Registry 기본 구축*registry:2 공식 이미지를 활용하여 로컬 Private Registry 컨테이너 실행볼륨 설정 : 이후에 설정을 변경하는 과정에서 여러번 Registry를 내리고 다시 ..
· Cloud
1. 폴더 구조docker-compose-practice/│── docker-compose-test-app/ # Spring Boot 애플리케이션 (JAR 파일 빌드)│ ├── Dockerfile│ ├── src/ (Spring Boot 코드)│── nginx/ # Nginx 설정│ ├── default.conf│ ├── Dockerfile│── docker-compose.yml작업 디렉토리 생성mkdir -p ~/docker-compose-practicecd ~/docker-compose-practice2. Docker-Compose & Java 설치Docker 깔렸있다는 가정 하에sudo apt updatesudo apt install -y docker..
· Cloud
1. Apache Web Serve 구축Ubuntu image를 다운 받아서, Container로 띄우고 Apache 설치하기2. 도커 이미지 생성Docker hub 에서 nginx image로 불러와서 , container로 동작시킨다.Docke hub에서 nginx image 찾기docker pull nignx:lastest 로 nginx 이미지 다운로드docker image를 통해 지금 가지고 있는 이미지들을 확인한다.Nginx의 기본 index.html을 수정한다. (hello!)nginx 컨테이너 실행nginx:latest 이미지를 기반으로 mynginx 컨테이너 실행docker run --name mynginx -d nginx:latest컨테이너 내부에 들어가서 index.html 수정dock..
dog-pawwer
지노개발일기