전체카테고리 468

Argo Rollout으로 Blue/Green 배포하기

ArgoCD 서버 설치부터 Argo Rollout 을 통한 Blue/Green 배포까지 설명한다. Argo Rollout Blue / Green 이벤트 순서 (https://argo-rollouts.readthedocs.io/en/stable/features/bluegreen/) 1. 완전히 사용자에게 런칭되기전 Revision 1은 ActiveService와 PreviewService으로 지명됩니다. 2. 서비스 배포자는 Rollout YAML의 spec.template.spec를 Revision 2의 Image로 변경합니다. 3. 해당 Revision 2 ReplicaSet이 0 Size로 만들어 집니다. 4. PreviewService는 이 Revision 2 ReplicaSet을 가리킵니다. (이..

PaaS/CI CD 2023.11.15

(DataDog) Service Catalog 란?

PagerDuty를 스터디 할때도 느꼈지만 이제는 Service 를 기준으로 하는 모니터링이 대세인것 같다. MicroService의 여파로 Service에 대한 R&R이 분명해 짐과 동시에 많은 Micro Service로 인해 체계적인 관리가 필요해졌다. DataDog의 Service Catalog도 Service를 기준하여 Service Owner(담당자 또는 팀), Performance Metric, Reliability, Security를 관리한다. 이러한 컨셉이 합리적인것인 이유는 특정 서비스에 대한 이슈는 오직 해당 Owner만이 주의를 기울임이 효율적이다. 과거처럼 관련자 잔뜩 불러서 다같이 트러블 슈팅하는 시대는 지났다. 이제는 Micro Service 하기 때문이다. https://www..

(DataDog) Dashboard 메뉴 설명

Dashboard List : 서비스 별 기본적으로 제공하는 템플릿이있다. 놀라운것은 내가 수집중인 대상을 알아서 분석해서 필요한 데시보드를 제시한다는 것이다... New Dashboard : Custom한 Dashboard를 만든다 Report : Dashboard를 기반하여 특정 시간의 운영경과를 리포트로 작성하여 보낸다. 이때 주기적으로 자동으로 보고되도록 설정할 수 있다.

(DataDog) Infrastructure 메뉴 설명

Host Map: 호스트 맵은 색상과 모양으로 이해하기 쉽게 만들어진 메트릭을 이용해 호스트를 한 화면에 시각화합니다. Infrastructure List : 인프라스트럭처 목록을 통해 Datadog이 모니터링하는 모든 호스트와 지난 2시간(기본값)부터 최대 1주일까지의 활동을 확인할 수 있습니다. 호스트를 검색하거나 태그로 그룹화해 보세요. Containers : 전반적인 컨테이너의 상태를 나타냅니다. Datadog은 ECS, 도커, 쿠버네티스 등과 통합됩니다. 커스텀 그룹과 필터, 그리고 색상과 모양을 통해 이해하기 쉽도록 만들어진 메트릭을 사용하여 모든 컨테이너를 한 화면에서 볼 수 있습니다. 아웃라이어 감지, 사용 패턴 파악, 리소스 문제 방지, 컨테이너를 최적으로 관리하기 위한 의사 결정, 이 ..

DataDog 오류 : Unable to detect the kubelet URL automatically: impossible to reach Kubelet with host

2023-11-13 13:46:50 UTC | CORE | ERROR | (pkg/collector/python/kubeutil.go:41 in getConnections) | connection to kubelet failed: temporary failure in kubeutil, will retry later: impossible to reach Kubelet with host: 192.168.122.191. Please check if your setup requires kubelet_tls_verify = false. Activate debug logs to see all attempts made 2023-11-13 13:46:50 UTC | CORE | ERROR | (pkg/collector..

DataDog kubernetes 배포 시작하기

가트너 기준 모니터링 1위... 그리고 막상 모니터링을 운영하다보면, 이거따로 저거따로 모니터링하는것도 한계가 있다. 보통 운영팀의 니즈는 돈을 들이더라도 하나의 대시보드에 띄워서 보고자 한다. 생각보다 상용도 많이쓰고, 근데 아직 국내에 Datadog 쓰는데를 못본것 같다. DataDog을 Free trial로 실습한 내용을 공유한다. 우선 회원가입후에 내 API KEY 와 APP KEY를 알아야 한다. [내 프로필] - [Personal Settings] [ Application Keys] 에서 'New Key' 를 클릭하여 APP KEY를 만든다. 잘 복사해놓자. [내 프로필] - [Organization Settings] [API Keys] 에서 API KEY를 복사해두자 API/APP KEY를 ..

Kubernetes Dashboard를 외부로 노출시키기 위한 Ingress 작업

Kubernetes Dashboard를 외부에 오픈하기 위해 NodePort나 Loadbalancer로 노출시키는 사례도 많은데, 가급적이면 서비스는 Ingress나 Gateway 리소스를 쓰는것이 좋다. 우선 Ingress Controller가 있는지 확인하고 없다면 설치하자. ingress controller 설치 https://kubernetes.github.io/ingress-nginx/deploy/ $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/baremetal/deploy.yaml Kubernetes 어플리케이션을 배포하자 Kub..

PaaS/Kubernetes 2023.11.13

Chrome의 document.domain 방식의 Cross-Domain Deprecated에 대해

관련 공지 링크 : https://developer.chrome.com/blog/document-domain-setter-deprecation/ Chrome disables modifying `document.domain` - Chrome for Developers If your website relies on setting document.domain, your action is required. developer.chrome.com Chrome 115버전부터 document.domain의 수정을 금지한다. 기존에 DOM 내부에서 CORS(Cross Origin Resource Sharing)를 지원하기 위해 사용하던 방법인데, 이제는 다른 방안을 찾아야 한다. 팝업이나 iframe에 document...

Blue / Green 배포의 라우팅 포인트를 어디로 가져가야 하는가?

Blue / Green 배포는 운영환경 배포에 있어 매우 안정성있는 좋은 전략이다. 요즈음 일반적으로 운영환경으로 사용되는 Public Cloud + k8s 환경에서는 어느 포인트에서 Blue ↔ Green 간 라우팅 포인트를 잡아야 할까? 최상단부터 아래로 내려가며 포인트를 발굴해보자. 1. DNS에서 새로운 LoadBalancer 로 라우팅 Public Cloud가 가장 많이 권장하는 방법이다. LoadBalancer ~ Application 구간을 한벌 새로이 만들기를 권장하고 DNS제공자(Route53)이 LoadBalancer Endpoint를 교체한다. 가중치를 줄 수 있어 손쉽게 Canary 구현이 가능하다. 2. LoadBalancer에서 Target을 변경 AWS의 경우 ALB는 Ingr..

PaaS/CI CD 2023.11.09