일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gitops
- Pulumi
- Kubernetes
- CANARY
- argocd
- Model Serving
- Kopf
- opentelemetry
- keda
- tekton
- CI/CD
- serving
- seldon core
- Kubeflow
- Litmus
- operator
- mlops
- blue/green
- 카오스 엔지니어링
- knative
- opensearch
- argo rollout
- Kubernetes 인증
- gitea
- 오퍼레이터
- kubernetes operator
- nginx ingress
- Continuous Deployment
- MLflow
- Argo
- Today
- Total
목록분류 전체보기 (170)
Kubernetes 이야기
Canary 배포 Canary 라는 용어는 옛날 탄광에서 나오는 유독 가스에 죽거나 다치는 일을 피하고자 광부들이 유독 가스에 민감한 카나리아를 데리고 갱도로 내려간 일에서 나온 용어로 다가온 위험을 먼저 알려준다는 의미로 사용된다. Canary 배포는 새 버전이 모든 사용자에게 릴리스되기 전에 초기 테스트로 일부 사용자에게 점진적으로 롤아웃하는 방법이다. 이 방법의 목적은 성능 메트릭을 수집하고 전체 배포에 대한 사용자의 영향을 예측하기 위해 소수의 사용자를 대상으로 하는 것입니다. 또한 Istio 등을 사용하면 특정 조건 ( 예를 들어, IE 사용자는 신규앱, 나머지는 기존앱, 특정 IP는 신규앱, 나머지는 기존앱 ) 으로도 사용자 요청을 분배해서 처리할 수 있다. 장점 빠른 롤백 실제 사용자 및 사..
Blue/Green 배포 RollingUpdate는 이전앱과 신규앱이 공존하는 시간이 발생한다. 또한 롤백을 시도할때도 복구 시간이 소요된다. 이번에는 Blue/Green 배포에 대해 알아보자. Blue/Green 배포는 현재 버전과 새 버전이 병렬로 실행된 다음 모든 트래픽이 새 버전으로 이동하는 방식이다. 장점 RollingUpdate와 달리 기존앱에서 새로운앱으로 바로 이전이 가능하다. 이전 앱과 새로 배포할 앱을 테스트 할 수 있다. 새로운 앱에서 문제가 발생할 때 이전 버전으로 빠르게 롤백할 수 있다. 단점 두 배의 리소스가 필요함으로 인프라 비용이 증가할 수 있다. PaaS 솔루션이나 argo 같은 도구를 사용하지 않으면 배포하기가 까다롭다. Kubernetes에서는 기본적으로 RollingU..
개발자가 만든 소스를 개발/운영 서버에 배포하는 과정을 보통 CI/CD 라고 부른다. Kubernetes에서는 보통 CI과정에 소스 빌드, TestCase 수행, Code Inspect 등을 거친 후 Container Image 생성 및 Container Registry 에 저장 (Push) 하는 과정까지 이루어진다. 그럼 CD는 어떻게 이루어지는가? CD 과정에 앞서 잠시 CD라는 용어를 인터넷에서 검사하는 Continuous Delivery, Continuous Deployment 라는 용어가 같이 보인다. 이 둘은 뭐가 차이일까? Continuous Delivery (지속적인 전달) : 개발된 최종 변경 사항을 운영기까지 푸시(전달)하기 위한 수동적인 과정을 보통 Continuous Delivery..
부하테스트 툴 중에 가장 많이 사용하는 것은 JMeter 일 것이다. 이번에는 Kubernetes에서 Locust 툴을 사용하여 웹 UI에서 부하를 테스트하는 방식을 알아보자 Locust 특징 Python 코드로 부하 테스트 조건을 쉽게 제작할 수 있다. CLI 뿐만 아니라 WEB UI에서 시작 및 결과를 조회할 수 있다. Jenkins와 유사하게 Master / Worker 로 구성되고 Kubernetes 에서 Worker가 부하발생 시 Autoscaling을 통해 부하기를 증가시킬 수 있다. Locust 설치 우선 Helm 차트를 사용하여 설치해 보자 (https://github.com/deliveryhero/helm-charts/tree/master/stable/locust) 설치 전 아래의 작업을..
1. cert-manager cert-manager는 Kubernetes안에서 TLS 인증서를 자동으로 설치하고 관리 (유효기간 만료시 갱신) 기능을 가지고 있다. https://cert-manager.io/docs/ cert-manager Automatically provision and manage TLS certificates in Kubernetes cert-manager.io 2. letsencrtpt Let's Encrypt는 무료이며 자동화된 개방형 인증 기관입니다. Let's Encrypt를 통해 TLS 인증서를 배포하면 브라우저에서 사설 인증서로 배포하여 접속하면 보이는 경고가 보이지 않는다. https://letsencrypt.org/ko/how-it-works/ 작동 방식 - Let'..
Knative Serving은 다음을 가능하게 하는 구성요소를 제공한다. 서버리스 컨테이너의 신속한 배포. 포드를 0으로 축소하는 것을 포함한 자동 확장. 기존 환경에 통합하기 위해 Contour, Kourier 및 Istio와 같은 여러 네트워킹 계층을 지원. 배포된 코드 및 구성의 특정 시점 스냅샷. Knative Serving은 HTTP 및 HTTPS 네트워킹 프로토콜을 모두 지원한다. 예제 소스 # git clone https://github.com/knative/docs.git knative-docs Cloning into 'knative-docs'... remote: Enumerating objects: 37515, done. remote: Counting objects: 100% (587/5..