본문 바로가기

분류 전체보기122

[k8s] Deploy a Django application on kubernetes & HPA test 1.Docker image build & push [git clone] git clone https://github.com/MachDn/django-todo-cicd.git kevin@k8s-master:~$ cd django-todo-cicd/ 연습에 사용할 django 기반 app을 git clone 합니다. [Create Docker image] kevin@k8s-master:~/django-todo-cicd$ docker build -t moveho/django-todo:latest . kevin@k8s-master:~/django-todo-cicd$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE moveho/django-todo latest 8fc05.. 2023. 5. 24.
[k8s] Rollout blue-green -- workbook [Blue-green 배포] 트래픽을 한번에 구버전에서 신버전으로 옮기는 방법입니다. Blue/Green 배포에서 현재 운영중인 서비스 환경을 Blue 라고 부르고, 새롭게 배포할 환경을 Green이라고 부릅니다. Blue Green의 서버를 동시에 나란히 구성해둔 상태로 배포 시점에 로드밸런서가 트래픽을 Blue에서 Green으로 일제히 전환 시킵니다. 새로운 버전에 문제가 없다고 판단 됐을 시점에 Blue 구버전을 제거하거나 다음 배포를 위해 유지해 둘 수도 있습니다. 이를 쿠버네티스 환경에서 실습 해보는 것이 이 워크북의 주요 내용입니다. 1.Blue-green 배포 실습환경 구성 [deployment.yaml 파일 생성] apiVersion: apps/v1 kind: Deployment metad.. 2023. 5. 23.
[k8s] Rollout Canary -- workbook [Canary 배포] 점진적으로 구버전에 대한 트래픽을 신버전으로 옮기는 것은 롤링 업데이트 방식과 비슷합니다. 하지만 차이점은 새로운 버전에 대한 오류를 조기에 감지하는 것입니다. 소수만 새로운 버전으로 옮겨둔 상태에서 서비스를 운영하고 새로운 버전에 이상이 없다고 판단되면 모든 트래픽을 신규 버전으로 옮기는 배포 방식입니다. 새로운 버전에 대한 위험성을 최소화 할 수 있지만, 신/구 버전이 동시에 존재하므로 호환성 문제가 발생할 수 있습니다. 이를 쿠버네티스 환경에서 실습 해보는 것이 이 워크북의 주요 내용입니다. 1.Canary 배포 실습환경 구성 [deployment.yaml 파일 생성] apiVersion: apps/v1 kind: Deployment metadata: labels: app: w.. 2023. 5. 21.
Git 커밋 메시지는 왜 중요할까? https://insight.infograb.net/blog/2023/04/21/why-commit-convention-is-important/ Git 커밋 메시지는 왜 중요할까? | DevSecOps 구축 컨설팅, 교육, 기술지원 서비스 제공 좋은 커밋 메세지의 중요성과 커밋 메시지 잘 쓰는 법에 대해 알아봅니다. 더불어 인포그랩 프로덕트 팀의 커밋 컨벤션을 소개합니다. insight.infograb.net 2023. 5. 18.
[Docker] Installation traefik [traefik] nginx와 같이 reverse proxy의 종류로 별도의 제어 없이 실행중에 실시간으로 통신 되는 요소끼리 찾아서 연결해주는 기능을 가진 traefik입니다. 대시보드를 통해 실시간으로 어떤 서비스들이 연결되어 있는지 확인할 수 있고, 어떤 서버와 연결되어 있는지 파악 가능합니다. [Docker-compose로 Traefik 설치 및 구성] services: traefik: image: "traefik:latest" ports: - "80:80" - "8080:8080" command: - "--api.insecure=true" - "--providers.docker=true" - "--entrypoints.web.address=:80" ports: - "80:80" - "8080:8.. 2023. 5. 17.
Install Compose standalone https://docs.docker.com/compose/install/standalone/ Install Compose standalone docs.docker.com 2023. 5. 17.
[k8s] VPA (Vertical Pod Autoscaler) 설치 및 실습 VPA (Vertical Pod Autoscaler) 는 Pod의 리소스를 감시하고, pod 의 resource가 부족한 경우 pod를 Restart 하며 pod의 resource를 증가시킵니다. Kubernetes VPA는 pods에 대한 CPU 및 Memory 예약을 자동으로 조정하여 애플리케이션의 크기를 적절하게 조정할 수 있게 지원합니다. 클러스터의 리소스 사용률을 개선하고 다른 pod를 위한 CPU 및 Memory를 확보할 수 있습니다. 직접 k8s 클러스터에 VPA를 설치하고 테스트 하는것을 해당 글에서 다루어 봅니다. 1.Metric Server 설치 kubectl apply -f \ https://github.com/kubernetes-sigs/metrics-server/releases/l.. 2023. 5. 16.
[AWS] Cats and Dogs Workshop - Using ECS with CI/CD [2] 13.Auto Scaling 그룹 구성 [ECS 용량공급자 탐색] 1.ECS로 이동해서 클러스터를 선택합니다. 인프라 탭을 클릭한 다음 용량 공급자 블록에 3개의 용량 공급자가 이미 있음을 확인합니다. 2. 용랼 공급자 변경 업데이트를 클릭합니다. 다음 관리형 크기 조정 켜기를 체크를 해제합니다. [Auto Scaling 그룹 구성] 1.EC2 AutoScaling 그룹으로 이동합니다. 그 후 동적 조정 정책 생성을 클릭합니다. 이름을 클릭하여 들어간 후 자동 크기 조정 만들기 버튼을 클릭합니다. 조정정책을 다음과 같이 구성합니다. 그 후 생성합니다. 2. Infra-ECS-Cluster-DEMOGO-ECS Auto Scaling Group을 클릭 하고 Details 탭으로 이동하여 Edit를 클릭 합니.. 2023. 5. 13.
[AWS] Cats and Dogs Workshop - Using ECS with CI/CD [1] https://catalog.us-east-1.prod.workshops.aws/workshops/8c9036a7-7564-434c-b558-3588754e21f5/en-US Workshop Studio catalog.us-east-1.prod.workshops.aws 해당 글은 AWS workshop studio를 참조하며 진행했습니다. 이 워크숍에서는 고양이와 강아지 사진을 임의로 표시하는 Container화 된 /autoscaling 웹 application을 build & deploy 합니다. 또한 컨테이너 monitoring tool을 구현하고 웹 application에서 LB 테스트를 수행하고 결과를 모니터링 합니다. [Architecture] AWS CloudFormation을 사용합니다. .. 2023. 5. 13.
[k8s] TLS Ingress 생성해서 https로 서비스 하기 1. Namespace 생성 kevin@k8s-master:~$ kubectl create ns testing namespace/testing created kevin@k8s-master:~$ kubectl get ns testing NAME STATUS AGE testing Active 9s kevin@k8s-master:~$ kubectl create deployment nginx-pod --namespace testing --image=nginx:latest --replicas=1 deployment.apps/nginx-pod created kevin@k8s-master:~$ kubectl expose deployment nginx-pod --namespace testing --name=nginx-.. 2023. 5. 3.