일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- argocd
- tekton
- kubernetes operator
- opentelemetry
- MLflow
- Pulumi
- blue/green
- Litmus
- mlops
- operator
- Model Serving
- nginx ingress
- gitops
- Argo
- Kubeflow
- knative
- keda
- CANARY
- 카오스 엔지니어링
- eBPF
- opensearch
- xdp
- Kubernetes
- Kubernetes 인증
- Continuous Deployment
- 오퍼레이터
- seldon core
- Kopf
- CI/CD
- serving
- Today
- Total
목록Kubernetes (136)
Kubernetes 이야기
OpenTelemetry에서 애플리케이션의 관찰을 위해 아래와 같은 방법을 사용할 수 있다. 수동(명시적) : 소스 코드에 Opentelemetry API를 사용하여 애플리케이션 모니터링 자동 : 애플리케이션의 코드 수정 없이 모니터링 ( Java에서 보통 제니퍼나 Scouter 등이 이런 방식이다. ) OpenTelemetry에서 자동으로 애플리케이션에 대한 관찰을 지원하기 위한 Auto instrumentation 방식을 알아보자. 설치 opentelemetry 설치 전 cert-manager가 설치되어 있어야 한다. cert-manager 설치는 다음을 참고한다. https://kmaster.tistory.com/5 cert-manager와 letsencrypt 연동 1. cert-manager c..
소수의 대규모 클러스터(각 클러스터에 많은 워크로드 포함) 또는 많은 클러스터(각 클러스터에 적은 워크로드 포함)에서 주어진 워크로드 세트를 실행할 수 있다. 클러스터 설계에 따른 장단점은 아래와 같다. 즉, 하나의 클러스터로 모든 application을 운영할때는 비용과 관리가 용이하나 회복력이나 보안에는 취약하다. 반대로 작은 여러개의 클러스터로 application을 운영하면 비용 (특히 마스터 3중화를 고려하는 경우 훨씬 많은 비용을 고려해야 한다.) 과 관리는 어려우나 회복력이나 보안에는 효과적으로 운영이 가능하다. 최근에는 멀티 클러스터를 운영가능하게 하는 솔루션들이 있기 때문에 이러한 솔루션으로 Kubernetes cluster를 운영한다면 좀 더 효과적인 운영이 가능할 것이다. 위의 사항은..
Kubernetes는 Bare Metal 환경이든 VM 환경이든 모두 설치가 가능하다. 그럼 어떤 장단점이 있을까? 일반적으로 Bare Metal 환경에서 실행하면 성능 ( VM 기반 하이퍼바이저 운영으로 인한 물리적인 장비의 성능저하 ), 비용 ( 가상화 S/W 비용 ) 절감 등이 있다고 알려져 있다. 장점 - 비용 가상화 S/W 비용 절감 Bare Metal 위의 OS 및 각 VM 에 설치되어야 하는 OS 비용 절감 가상화 관리를 위한 인건비 절감 - 관리 네트워크 구성 : 가상화 인프라 계층이 없으므로 네트워크 설정이 단순화 된다. - 성능 VM 대비 약 3배 정도 네트워크 지연이 낮음 VM 대비 25~30% 성능 향상 ( 통상 하이퍼바이저 오버헤드는 약 10%내외이다. 적게는 2~3%이다. 하지만..
Kubernetes에서는 3가지의 오토스케일을 사용하여 확장 처리를 할 수 있다. HPA ( Horizontal Pod Autoscaler ) : Pod를 수평적으로 확장한다. 즉, pod의 cpu나 mem 이 임계치 이상 사용하면 pod 개수를 늘리는 것이 HPA이다. CA ( Cluster Autoscaler ) : 클러스터의 노드 수를 조정한다. Cluster Autoscaler는 노드에 Pod를 실행할 리소스가 부족한 경우 노드를 자동으로 추가하거나 제거한다. VPA ( Verical Pod Autoscaler ) : Pod에 있는 컨테이너 리소스 요청 및 제한을 조정한다. 이중 Kubernetes는 VPA (Vertical Pod Autoscaler)에 대해 알아보자. Pod를 생성할 때 Pod..
Kubernetes에서 Service Account를 만들고 해당 account에 적당한 권한을 부여하는 작업은 매우 중요하다. 실제 만드는 과정을 살펴보자. 1. Service Account 생성 apiVersion: v1 kind: ServiceAccount metadata: name: dev-user namespace: demo 2. Role 생성 생성한 Service Account에 부여할 Role 을 생성한다. # 개발에 필요한 모든 권한이 있는 Role kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: demo name: deployment-role rules: - apiGroups: ["", "extensions..
PodNodeSelector는 Kubernetes의 Admission Controllers를 사용하여 기본적으로 네임스페이스 주석과 전역 구성을 읽어 네임스페이스 내에서 사용할 수 있는 노드 선택기를 제한한다. 예를 들어 다음과 같이 구성하고 싶은 경우 PodNodeSelector를 사용하면 편리하게 pod를 배치할 수 있다. 즉 클러스터 1개에 dev namespace와 prod namespace가 존재하고, dev cluster는 dev node라고 label된 node에만 배포할 수 있고, prod namespace에는 prod node라고 label된 node만 배포해야 하는 경우이다. 설정 1) kube-apiserver.yaml에 --enable-admission-plugins 에 PodNod..