본문 바로가기

INFRA/DevOps144

Flask + gunicorn + nginx 연동 베하 -! 안녕하세요 콩순이들의 쭈콩입니다 ! 오늘은 어플리케이션 연동에 대해 알아보기 위한 실습을 준비했습니다. 운영을 하면서 아쉬운점은 개발 환경이나 과정에 대해 알지 못할경우 문제해결에 걸림돌이 되곤 한다는 것입니다! 그래서 조금더 이해의 폭을 넓히고자 진행한 실습이니 참고해주시면 좋을 것 같습니다 ! 그럼 바로 진행해보도록 하겠습니다 !! - Flask 마이크로 프레임 워크를 사용하여 Python 어플리케이션을 빌드하기 위해 진행된 실습입니다. Flask와 nginx 를 연동하기 위해 미들웨어로 Gunicorn 애플리케이션 서버를 설정해보겠습니다. Flask 란? 간단한 웹 사이트, 혹은 간단한 API 서버를 만드는 데에 특화 되어있는 Python Web Framework 로, Python 기반이.. 2023. 10. 11.
[Git] Rebase 안녕하세요! 1-tier 팀의 one입니다. 이제 제법 날씨가 쌀쌀해졌네요 오늘은 Git의 Rebase에 대해서 알아보도록 하겠습니다. 🤔 브랜치 병합 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법에는 두 가지가 있습니다. 하나는 Merge고 하나는 Rebase 입니다. 여기서 Merge가 뭔지 간단히 한번 볼까요? Merge 브랜치가 experiment와 master로 나누어졌다고 가정해봅시다. 두 브랜치를 합치는 가장 쉬운 방법이 Merge 명령어를 사용하는 것입니다. 커밋 두개(C3, C4)와 공통조상(C2)를 사용하는 3-way Merge로 새로운 커밋(C5)을 만들어냅니다. 그렇다면 Rebase는 어떤 방식으로 병합이 이루어질까요? Rebase rebase의 방식은 다음과 같습니다. C3에.. 2023. 10. 4.
[DevOps] Jenkins-Git webhook 설정 베하~~ 안녕하세요 항상 웃음이 나는 픠식팀 입니다. 저번 포스팅에 이어 이번에는 jenkins-git 연동 후 Webhook 설정을 통해 자동으로 배포되는 것을 알아보겠습니다. !!! 아래의 포스팅에서 Git 연동을 위한 작업을 확인 할 수 있습니다!!! 2023.09.15 - [INFRA/DevOps] - [DevOps] Jenkins Git 연동 [DevOps] Jenkins Git 연동 베하~~ 안녕하세요 항상 웃음이 나는 픠식팀 입니다. 이번 포스팅에서는 Jenkins와 git을 연동하는 방법에 대해 알아보겠습니다. Jenkins 설치 방법은 아래 링크를 통해 확인하세요 !!! 2023.08.30 - [INFRA/ btcd.tistory.com 파일을 업로드할 Git Repo 의 설정으로 들어가.. 2023. 10. 4.
[K8S] Log 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes Log 에 대해 알아보겠습니다! 쿠버네티스 Log 쿠버네티스(Kubernetes)는 애플리케이션을 실행하는 동안 발생하는 중요한 디버깅 및 모니터링 정보를 포함한 로그를 수집하고 관리하는 기능을 제공합니다. 쿠버네티스에서 로그는 컨테이너의 표준 출력 (stdout)과 표준 에러 (stderr)로 출력되며, 이러한 로그를 수집하고 분석하기 위해 여러 가지 방법을 사용할 수 있습니다. 쿠버네티스 Log 를 확인해야 하는 이유 첫째는 디버깅입니다. 로그는 애플리케이션 내부 동작을 추적하고 오류를 식별하는 데 도움이 되며 프로그램이 예상대로 작동하지 않을 때, 로그를 통해 문제의 원인을 파악하고 해결할 수 있습니다. 두번째로는 성능 모니터링입니.. 2023. 10. 3.
[Git] Github Action 안녕하세요! BTC 1-tier팀의 One입니다 ㅎㅎ 오늘은 Github Action에 대해서 알아보겠습니다. 🤔Git Hub Action? Git 리포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화하고 실행하는 툴 입니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유합니다. 🔎 Git Hub Action의 컴포넌트 리포지토리에서 이벤트가 발생할 때, 트리거가 되도록 Github 워크 플로우를 구성할 수 있습니다. 워크플로우에는 하나 이상의 작업이 포함되어있으며, 스크립트를 실행하거나 작업을 실행하는 단계가 있습니다. Git Hub Action의 컴포넌트에는 다음과 같은 것들이 있습니다. WorkFlow 워크플로우는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프.. 2023. 9. 18.
[DevOps] Jenkins Git 연동 베하~~ 안녕하세요 항상 웃음이 나는 픠식팀 입니다. 이번 포스팅에서는 Jenkins와 git을 연동하는 방법에 대해 알아보겠습니다. Jenkins 설치 방법은 아래 링크를 통해 확인하세요 !!! 2023.08.30 - [INFRA/DevOps] - [DevOps]EC2 Ubuntu에 Jenkins 설치 [DevOps]EC2 Ubuntu에 Jenkins 설치 베하~~ 안녕하세요 픠식팀 입니다. 이번 포스팅에서는 EC2 인스턴스에 Jenkins 설치 방법을 알아보겠습니다~! 우선 Jenkins를 설치하기 위해서는 Java 11 이상 버전이 필요합니다. Java 11 설치 sudo apt insta btcd.tistory.com 우선 GitHub 에 접속 한 후에 인증키를 발급 받아야 합니다. 왼쪽 상단의 .. 2023. 9. 15.
[K8S] Multi Container 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Multi Container에 대해 알아보겠습니다! Multi Container 하나의 Pod 안에는 여러개의 Container가 들어있을 수 있습니다. 단, Pod 내의 Container 들이 서로 다른 종류일때만 가능합니다. Pod 내에 Container 들은 동일한 네트워크 공간을 공유하기 때문에 서로 간의 통신이 가능하고 저장 공간을 공유하는 것도 간단합니다. Multi Container에는 3가지 종류가 있습니다. Sidcar Pattern : Main Container의 기능 확장 또는 향상 ex) Log Saving Sidecar Ambassador : Main Container의 네트워크 기능 담당 ex) Proxy Container.. 2023. 9. 13.
[K8S] Taint 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes Taint 에 대해 알아보겠습니다! 쿠버네티스 테인트(Taint) 쿠버네티스(Kubernetes)에서 "Taint(테인트)"는 노드(Node)에 특정 조건을 부여하여 해당 노드에만 특정 유형의 파드(Pod)가 스케줄링되도록 하며 클러스터 내에서 리소스 및 워크로드를 효율적으로 관리하는 데 사용됩니다. Taint의 적용 효과로 "NoSchedule", "PreferNoSchedule", "NoExecute" 중 하나 입니다. "NoSchedule": 해당 Taint가 있는 노드에는 일치하는 파드가 스케줄링 "PreferNoSchedule": 일치하는 파드가 노드에 스케줄링되지 않는 것 "NoExecute": 이미 노드에서 실행 중인 파드에.. 2023. 9. 6.