프로젝트 소개 📍자동으로 README를 생성해주고, 코드를 문서화해주며, 이를 바탕으로 한 지능형 챗봇을 제공하는 웹 기반 서비스이다. README 생성프로젝트 개요, 기능, 설치 및 사용 방법 등을 포함한 README 파일을 자동으로 생성Docs 생성 (Java와 Spring 프로젝트)코드를 분석해 API 문서, 클래스 다이어그램, 시퀀스 다이어그램 등 다양한 형태의 문서를 자동으로 생성Controller별 요약 문서를 제공지능형 챗봇지능형 챗봇이 개발자와 대화하며 코드 관련 질문에 답변하고, 코드 개선을 위한 제안을 제공 작업 📍테스트 환경 구축개발 프로세스의 속도를 높이고자 개발 환경과 배포 환경을 분리하였다. 카카오테크 부트캠프에서 제공한 크램폴린을 활용하여 테스트 서버를 구성하였고,개발자들..
문제 상황 📌CI 과정에서 Git commit Hash로 Docker image tag를 설정해서 DockerHub에 Push 하였다.근데, ArgoCD는 Git만 바라보므로, Image 태그가 변경되었다는 Manifest를 변경해주어야 ArgoCD가 배포를 다시 해준다. CI 과정에서 다른 Repo에 있는 Manifest를 직접 수정하는게 좋은 방법은 아닌 것 같다고 생각해서ArgoCD에서 제공하는 ArgoCD Image Updater를 사용하기로 했다! ArgoCD Image Updater란? 📌https://argocd-image-updater.readthedocs.io/en/stable/ Docker Hub 또는 다른 이미지 레지스트리에서 새로운 이미지가 발견될 때 Manifest를 자동..
📌 문제 상황nginx에서 argocd-service로 /argocd 경로로 reverse proxy.로그인 화면까지는 잘 보임로그인 이후 url의 path가 /argocd/argocd/applications로 변경됨 → 화면이 안뜸 !!!/argocd/applications 으로 path를 변경하면 대시보드 화면 잘 보임# dododocs-nginx.conf... server { listen 80; server_name developer.dododocs.com; location /argocd/ { proxy_pass https://argo-cd-**********-argocd-server.myargocd.svc.cluster.loc..
# FE/dododocs-ingress.yaml...kind: Ingressmetadata: name: dododocs-ingress namespace: frontend annotations: alb.ingress.kubernetes.io/group.name: shared-alb...문제 상황 📌Frontend를 접근하는 ALB가 있는 상황Developer 입장에서도 argocd, prometheus, grafana 대시보드 접근해야함⇒ Frontend namespace에 있는 ALB 사용할 수 없을까? 해결 방안 📌기본적으로 ingress는 namespace에 종속됨 alb.ingress.kubernetes.io/group.name 어노테이션 사용!!https://docs.aws.ama..
Bastion Host vs AWS SSM 📌카카오테크 부트캠프에서 프로젝트를 진행하던 중,Private Subnet에 있는 Nginx 인스턴스에 접근해서 설정해줘야하는 문제가 발생했다. 보통 이런 경우, Bastion Host 방식을 사용하곤 하는데간편한 대신 public에 불필요한 인스턴스가 하나 필요하고 보안 이슈가 있다는 단점이 있다.따라서, AWS SSM 방식으로 진행하였다. SSM 구성 방법 📌IAM Role 생성정책: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCoreEC2 인스턴스에 역할 할당VPC Endpoint 생성(옵션)인스턴스 - 연결 버튼을 통해 EC2 Console에 접속 Terraform 코드# IAM Role for SSM..
Amazon EKS란? 📌Kubernetes컨테이너를 효율적으로 관리할 수 있도록 하는 오픈소스 플랫폼 EKS (Elastic Kubernetes Service)Kubernetes Control Plane을 설치, 운영 및 유지 관리할 필요가 없는 AWS 관리형 서비스 EKS 아키텍처 📌 EKS Control Plane (AWS Managed VPC)AWS가 별도로 관리하는 인프라 → VPC의 세부 구성이나 네트워크 설정을 사용자가 직접 확인하거나 변경 X컨트롤 플레인이 다수의 가용영역에 배치 ⇒고가용성 보장하지만, 사용자 입장에서는 하나의 마스터 엔드포인트로 보임 EKS Data Plane (Custom VPC)사용자가 직접 구성하고 관리 노드 구성 방식관리형 노드 그룹 (Managed Node..
본 글을 쿠버네티스 환경에서 진행합니다.앞선 한 권으로 배우는 도커&쿠버네티스 시리즈를 읽고 오시면 실습에 대한 이해가 수월합니다! Github Actions 📌소프트웨어 워크플러 자동화를 쉽게 만들어주는 CI/CD 도구개발의 work flow를 자동화할 수 있게 도와주는 툴 구성요소 Workflow하나 이상의 Job으로 구성Event에 의해 트리거될 수 있는 자동화된 프로세스.github/workflows 디렉토리에 저장EventWorkflow 실행을 트리거하는 저장소의 특정 활동REST API에 게시하거나, 수동으로 schedule에 따라 트리거 될 수 OJob동일한 Runner에서 실행되는 Steps의 집합기본적으로 병렬로 실행되지만, 종속성 설정 가능StepTask들의 집합커맨드 날리거나, ac..
본 글은 한 권으로 배우는 도커&쿠버네티스 책에 대한 정리와 실습 내용입니다.쿠버네티스를 통해 django와 Flask를 실행해보자 !! 사전 진행해야 하는것pyenv 설치, pyenv를 통한 가상 환경 3.11.6 구축 PostgreSQL 확인 📌https://www.postgresql.org/download/linux/ubuntu/ PostgreSQL: Linux downloads (Ubuntu)Linux downloads (Ubuntu) PostgreSQL is available in all Ubuntu versions by default. However, Ubuntu "snapshots" a specific version of PostgreSQL that is then supported thr..