목록으로

Programming Notes

Karpenter용 Headlamp 플러그인 출시: 스케일링 및 가시성 확보

Headlamp는 클러스터 리소스를 탐색, 관리, 디버그할 수 있도록 설계된 오픈소스 확장형 Kubernetes SIG UI 프로젝트입니다. Karpenter는 클러스터가 빠르고 효율적으로 스케일링되도록 돕는 Kubernetes 오토스케일링 SIG 노드 프로비저닝...

Headlamp는 클러스터 리소스를 탐색, 관리, 디버그할 수 있도록 설계된 오픈소스 확장형 Kubernetes SIG UI 프로젝트입니다.

Karpenter는 클러스터가 빠르고 효율적으로 스케일링되도록 돕는 Kubernetes 오토스케일링 SIG 노드 프로비저닝 프로젝트입니다. 수초 내에 새 노드를 시작하고, 워크로드에 적합한 인스턴스 유형을 선택하며, 스케일다운을 포함한 전체 노드 라이프사이클을 관리합니다.

새로운 Headlamp Karpenter 플러그인은 Headlamp UI에서 Karpenter의 활동에 대한 실시간 가시성을 직접 추가합니다. Karpenter 리소스가 Kubernetes 객체와 어떻게 관련되는지 보여주고, 실시간 메트릭을 표시하며, 스케일링 이벤트가 발생하면 바로 표면화합니다. 프로비저닝 중인 대기 중인 파드를 검사하고, 스케일링 결정을 검토하며, 내장된 유효성 검사를 통해 Karpenter 관리 리소스를 편집할 수 있습니다. Karpenter 플러그인은 LFX 멘토 프로젝트의 일환으로 만들어졌습니다.

Headlamp용 Karpenter 플러그인은 Kubernetes 사용자 및 운영자가 클러스터의 오토스케일링 동작을 더 쉽게 이해하고, 디버그하며, 미세 조정할 수 있도록 돕는 것을 목표로 합니다. 이제 Headlamp 플러그인에 대한 간략한 둘러보기를 시작하겠습니다.

Karpenter 리소스와 Kubernetes 리소스 간의 관계 지도 보기

NodeClasses, NodePool, NodeClaims와 같은 Karpenter 리소스가 Pod, Node 등 핵심 Kubernetes 리소스와 어떻게 연결되는지 쉽게 확인할 수 있습니다. Map view showing relationships between resources

Karpenter 메트릭 시각화

리소스 사용량 대비 제한, 허용된 중단, 대기 중인 파드, 프로비저닝 지연 시간 등 다양한 항목에 대한 즉각적인 통찰력을 얻으세요. NodePool default metrics shown with controls to see different frequencies NodeClaim default metrics shown with controls to see different frequencies

스케일링 결정

워크로드에 어떤 인스턴스가 프로비저닝되고 있는지 보여주고, Karpenter가 그러한 결정을 내린 이유를 파악할 수 있습니다. 디버깅에 유용합니다. Pod Placement Decisions data including reason, from, pod, message, and age Node decision data including Type, Reason, Node, From, Message

유효성 검사 지원을 통한 설정 편집기

Karpenter 설정을 실시간으로 편집하세요. 편집기는 보다 안전한 조정을 위해 diff 미리 보기와 리소스 유효성 검사를 포함합니다. Config editor with validation support

Karpenter 리소스 실시간 보기

클러스터가 스케일업 및 스케일다운됨에 따라 "NodeClaims"와 같은 Karpenter 특정 리소스를 실시간으로 확인하고 추적할 수 있습니다. Node claims data including Name, Status, Instance Type, CPU, Zone, Age, and Actions Node Pools data including Name, NodeClass, CPU, Memory, Nodes, Status, Age, Actions EC2 Node Classes data including Name, Cluster, Instance Profile, Status, IAM Role, Age, and Actions

대기 중인 파드 대시보드

미충족 스케줄링 요구 사항/스케줄링 실패로 인해 스케줄링되지 못한 모든 대기 중인 파드를 확인하고 그 이유를 강조하여 보여줍니다. Pending Pods data including Name, Namespace, Type, Reason, From, and Message

Karpenter 공급자

이 플러그인은 대부분의 Karpenter 공급자와 호환되어야 하지만, 현재까지는 아래 표에 나열된 공급자에서만 테스트되었습니다. 또한 각 공급자는 추가 정보를 제공하며, 아래 표의 정보들은 플러그인에 의해 표시됩니다.
공급자 이름 테스트 여부 지원되는 공급자별 추가 정보
AWS ✅ ✅
Azure ✅ ✅
AlibabaCloud ⠌ ⠌
Bizfly Cloud ⠌ ⠌
Cluster API ⠌ ⠌
GCP ⠌ ⠌
Proxmox ⠌ ⠌
Oracle Cloud Infrastructure (OCI) ⠌ ⠌
테스트되지 않은 공급자 중 하나를 테스트하시거나 이 공급자에 대한 지원을 원하시면 [이슈를 제출](https://github.com/headlamp-k8s/plugins/issues)해 주세요 (PR도 기꺼이 환영합니다).

사용 방법

사용 방법은 [plugins/karpenter/README.md](https://github.com/headlamp-k8s/plugins/tree/main/karpenter)를 참조하십시오.

피드백 및 질문

Karpenter를 사용하시면서 다른 아이디어나 피드백이 있으시면 [이슈를 제출](https://github.com/headlamp-k8s/plugins/issues)해 주세요. 또는 [Kubernetes 슬랙 Headlamp 채널](https://kubernetes.slack.com/?redir=%2Fmessages%2Fheadlamp)로 오셔서 대화에 참여해 주십시오.