|
2 | 2 |  |
3 | 3 |
|
4 | 4 |
|
5 | | -**KOR (Kubernetes Optimization Review)**는 Amazon EKS (Elastic Kubernetes Service) 클러스터의 설정과 상태를 자동으로 점검하여, 운영자가 클러스터의 구성을 파악하여 **최적화**, **보안**, **비용 절감**, **안정성**을 개선 할 수 있도록 EKS 클러스터 검사 도구입니다. |
| 5 | +**KOR (Kubernetes Optimization Review)**는 Amazon EKS(Elastic Kubernetes Service) 클러스터의 설정과 상태를 6개 영역(**일반**, **보안**, **확장성**, **안정성**, **네트워크**, **비용**)으로 나누어 종합적으로 진단하여 리포트 및 개선 방안을 제공합니다. |
| 6 | + |
6 | 7 |
|
7 | 8 | > 이 도구는 Go 언어로 작성되었으며, AWS SDK for Go, Kubernetes Go Client, 그리고 CLI 명령어 프레임워크인 Cobra를 활용하여 제작되었습니다. |
8 | 9 |
|
|
14 | 15 |
|
15 | 16 | --- |
16 | 17 |
|
17 | | -## 🔍 점검 항목 |
| 18 | +## 📋 점검 항목 |
18 | 19 |
|
19 | 20 | | 카테고리 | 설명 | |
20 | 21 | |----------------|------| |
21 | | -| **비용 최적화 (Cost)** | 클러스터 리소스 최적화를 통해 과도한/미사용 리소스 확인, 고사양/미사용 인스턴스를 탐지를 통한 절감 방안 식별 | |
22 | | -| **일반 설정 (General)** | 클러스터 버전, 태그 구성, 메타데이터 등 기본적인 구성이 모범사례에 맞게 구성되어 있는지 확인 | |
23 | | -| **네트워크 (Network)** | VPC, Subnet, 보안 그룹, ENI, IP 할당 등의 네트워크 구성 요소가 최적화되어 있는지 점검 | |
24 | | -| **확장성 (Scalability)** | HPA (Horizontal Pod Autoscaler), Cluster Autoscaler, 노드그룹 등 클러스터의 확장성과 자원 관리의 자동화를 위한 설정 점검 | |
| 22 | +| **일반 (General)** | 클러스터 버전, 태그 구성, 메타데이터 등 기본적인 구성이 모범사례에 맞게 구성되어 있는지 확인 | |
25 | 23 | | **보안 (Security)** | IAM 정책, 인증 구성, API 서버 접근 제어 등 보안 관련 설정이 적절히 되어 있는지 점검하여 클러스터의 보안 설정 확인 | |
26 | | -| **안정성 (Reliability)** | 로그, 모니터링, 백업 설정 등의 설정 유무를 점검하여 클러스터의 안정성 진단 | |
27 | | - |
28 | | -<!-- --- |
29 | | -
|
30 | | -## 📋 요구 사항 |
31 | | -
|
32 | | -도구를 사용하기 위해 다음 환경이 준비되어 있어야 합니다: |
33 | | -
|
34 | | -**AWS CLI** 설치: [공식 문서](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 참고 |
35 | | - - 인증: `aws configure` 명령어로 설정 (Access Key, Secret, Region 등) |
36 | | - - 클러스터와 연결된 `kubeconfig`가 설정되어 있어야 함니다 |
37 | | -
|
38 | | -**EKS 클러스터 접근 권한** |
39 | | - - IAM Role 또는 User가 EKS 클러스터 및 리소스에 접근 가능한 권한이 있어야 합니다. |
40 | | ---- |
41 | | -
|
42 | | -## 📦 설치 방법 |
43 | | -
|
44 | | -**GitHub Releases에서 바이너리 다운로드** |
45 | | -
|
46 | | -1. GitHub의 [Releases 페이지](https://github.com/fitcloud/eks-checklist/releases)로 이동합니다. |
47 | | -2. 운영 체제에 맞는 바이너리 파일을 다운로드합니다 |
48 | | - - macOS: `eks-checklist-darwin-amd64` |
49 | | - - Linux: `eks-checklist-linux-amd64` |
50 | | - - Windows: `eks-checklist-windows-amd64.exe` |
| 24 | +| **확장성 (Scalability)** | HPA (Horizontal Pod Autoscaler), Cluster Autoscaler, 노드그룹 등 클러스터의 확장성과 자원 관리의 자동화를 위한 설정 점검 | |
| 25 | +| **안정성 (Reliability)** | 로그, 모니터링, 백업 설정 등의 설정 유무를 점검하여 클러스터의 안정성 진단 | --> |
| 26 | +| **네트워크 (Network)** | VPC, Subnet, 보안 그룹, ENI, IP 할당 등의 네트워크 구성 요소가 최적화되어 있는지 점검 | |
| 27 | +| **비용 최적화 (Cost)** | 클러스터 리소스 최적화를 통해 과도한/미사용 리소스 확인, 고사양/미사용 인스턴스를 탐지를 통한 절감 방안 식별 | |
51 | 28 |
|
52 | 29 | --- |
53 | 30 |
|
54 | | -## 💻 플랫폼별 설치 예시 |
55 | | -
|
56 | | -**Linux** |
57 | | -
|
58 | | -```bash |
59 | | -wget https://github.com/fitcloud/eks-checklist/releases/download/{version}/eks-checklist-linux-amd64 |
60 | | -chmod +x eks-checklist-linux-amd64 |
61 | | -sudo mv eks-checklist-linux-amd64 /usr/local/bin/eks-checklist |
62 | | -eks-checklist |
63 | | -``` |
64 | | -**MacOS** |
65 | | -
|
66 | | -```bash |
67 | | -curl -LO https://github.com/fitcloud/eks-checklist/releases/download/{version}/eks-checklist-darwin-amd64 |
68 | | -chmod +x eks-checklist-darwin-amd64 |
69 | | -sudo mv eks-checklist-darwin-amd64 /usr/local/bin/eks-checklist |
70 | | -eks-checklist |
71 | | -``` |
72 | | -**Window** |
73 | | -
|
74 | | -1. .exe 파일을 다운로드하여 예: C:\Program Files\EKS-Checklist\에 저장합니다. |
75 | | -2. 명령 프롬프트 또는 PowerShell에서 다음과 같이 실행합니다: |
76 | | -
|
77 | | -```bash |
78 | | -cd "C:\Program Files\EKS-Checklist\" |
79 | | -eks-checklist-windows-amd64.exe |
80 | | -``` |
81 | | -
|
82 | | -## 🚀 사용 방법 |
83 | | -
|
84 | | -**기본 사용 예시** |
85 | | -```bash |
86 | | -eks-checklist --context my-cluster --output text |
87 | | -``` |
88 | | -**주요 옵션 설명** |
89 | | -
|
90 | | -| 옵션 | 설명 | |
91 | | -|---------------------|------| |
92 | | -| `--context` | 사용할 kubeconfig context 이름 | |
93 | | -| `--kubeconfig` | kubeconfig 파일 경로 (기본: 사용자 홈 디렉토리 경로) | |
94 | | -| `--profile` | 사용할 AWS CLI 프로파일 이름 | |
95 | | -| `--output` | 출력 형식 지정 (`text`, `html`) | |
96 | | -| `--filter` | 결과 필터링 옵션 (`all`, `pass`, `fail`, `manual`) | |
97 | | -| `--sort` | 결과를 상태별 정렬 (`pass`, `fail`, `manual`) | |
98 | | -| `--help` 또는 `-h` | 도움말 출력 | |
| 31 | +## 🔍 작동 방식 |
99 | 32 |
|
100 | | -**출력 예시** |
101 | | -도구 실행 결과는 다음과 같은 방식으로 정리됩니다: |
102 | | - --> |
| 33 | +**KOR**는 클러스터 정보를 자동 수집한 뒤 구성 요소를 점검하고, 결과를 리포트 형태로 제공합니다. |
| 34 | +이를 통해 문제 영역을 빠르게 식별하고 개선 가이드를 받아 재점검까지 진행할 수 있습니다. |
| 35 | + |
103 | 36 |
|
| 37 | + |
0 commit comments