범용 Kubernetes 설치
AKS, GKE, OKD, Rancher, 기본 Kubernetes 등 표준을 준수하는 모든 클러스터에 적용됩니다.
무료 티어 클러스터도 무료 라이선스 키가 필요합니다. 무료 키 요청하기
사전 요구사항
- 표준을 준수하는 Kubernetes 클러스터, 1.26+
- 대상 클러스터에 설정된
kubectl helm3
GHCR 설치
⚠️
라이선스 키가 필요합니다. 무료 티어도 예외가 아닙니다. 200 vCPU 미만 클러스터는 무료 키를 요청하세요.
- Helm 차트:
https://release.waveautoscale.io/helm-chart - 이미지 레지스트리:
ghcr.io/stclab-inc/* - Pull secret: Wave 팀이 제공하는 GHCR pull secret
values-ghcr.yaml
values-ghcr.yaml
ghcr:
enabled: true
dockerconfigjson: "<GHCR_PULL_SECRET_DOCKERCONFIGJSON>"
license:
key: "<LICENSE_KEY>"
spec:
# Option A: create a new PVC and specify a StorageClass.
storageClassName: "<STORAGE_CLASS_NAME>"
# Option B: use a pre-existing PVC.
# existingPvcName: "<EXISTING_PVC_NAME>"설치
<CHART_VERSION>을 원하는 Wave Autoscale Helm 차트 버전으로 바꾸세요.
CMD
helm repo add wave-autoscale-helm https://release.waveautoscale.io/helm-chart
helm repo update
helm install wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-ghcr.yaml \
--version <CHART_VERSION> \
--create-namespace \
-n wave-autoscale에어갭 / 프라이빗 레지스트리
외부 네트워크가 차단된 클러스터를 위한 방식입니다. GHCR의 Wave 이미지를 프라이빗 레지스트리로 미러링한 뒤, Wave가 그 레지스트리를 사용하도록 설정합니다.
절차
- 이미지 미러링:
ghcr.io/stclab-inc/*의 이미지(wave-autoscale-core,wave-autoscale-web-console,wave-autoscale-intelligence,wave-autoscale-agent,wave-autoscale-cadvisor)를 프라이빗 레지스트리로 복사합니다. - GHCR 비활성화: values 파일에서
ghcr.enabled: false로 설정합니다. - 컴포넌트별로
image.repository를 재정의합니다 (your-registry.com을 자신의 레지스트리 호스트명으로 바꾸세요):
values-private-registry.yaml
ghcr:
enabled: false
license:
key: "<LICENSE_KEY>"
spec:
core:
image:
repository: your-registry.com/wave-autoscale/core
tag: <version>
webConsole:
image:
repository: your-registry.com/wave-autoscale/web-console
tag: <version>
intelligence:
image:
repository: your-registry.com/wave-autoscale/intelligence
tag: <version>
agent:
image:
repository: your-registry.com/wave-autoscale/agent
tag: <version>
cadvisor:
image:
repository: your-registry.com/wave-autoscale/cadvisor
tag: <version>
# Option A: create a new PVC and specify a StorageClass.
storageClassName: "<STORAGE_CLASS_NAME>"
# Option B: use a pre-existing PVC.
# existingPvcName: "<EXISTING_PVC_NAME>"- 레지스트리 자격 증명 제공: Kubernetes
imagePullSecrets를 통해 전달합니다. 이 클러스터에서 프라이빗 워크로드에 평소 사용하는 자격 증명을 그대로 사용하면 됩니다. - Helm으로 배포:
CMD
helm repo add wave-autoscale-helm https://release.waveautoscale.io/helm-chart
helm repo update
helm install wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-private-registry.yaml \
--version <CHART_VERSION> \
--create-namespace \
-n wave-autoscale설치 확인
CMD
kubectl get pods -n wave-autoscale웹 콘솔을 엽니다:
CMD
kubectl port-forward -n wave-autoscale svc/wave-autoscale-svc 3025:3025http://localhost:3025로 접속합니다.
기본 로그인 정보: 사용자 이름 admin, 비밀번호 waveautoscale. 설정이 끝나는 대로 웹 콘솔의 사용자 관리 UI에서 반드시 변경하세요.
업데이트
CMD
helm repo update
helm upgrade wave-autoscale-helm wave-autoscale-helm/wave-autoscale-helm \
-f values-ghcr.yaml \
--version <CHART_VERSION> \
-n wave-autoscale제거
CMD
helm uninstall wave-autoscale-helm -n wave-autoscale⚠️
PVC 보존: StatefulSet의 보존 정책에 따라 제거 후에도 PVC는 유지됩니다. 저장된 데이터가 더 이상 필요 없을 때만 PVC를 수동으로 삭제하세요.
다음 단계
- 중요: 시작하기 전에: 알아둬야 할 런타임 동작입니다.
- Helm Values & 환경 변수: 전체 환경 변수와 Helm 값입니다.
- 문제 해결: 자주 발생하는 문제입니다.