Helm 차트 참조
Kubetail Helm 차트는 전체 Kubetail 스택을 Kubernetes 클러스터에 배포합니다. 이 차트는 https://kubetail-org.github.io/helm-charts/ 에 있는 Helm chart 저장소에 게시되며, 소스 코드는 kubetail-org/helm-charts 저장소의 charts/kubetail 아래에 있습니다.
이 chart는 3개의 구성 요소를 배포합니다.
| Component | Kind | Description |
|---|---|---|
| Dashboard | Deployment | 웹 UI와 백엔드 API |
| Cluster API | Deployment | 클러스터 작업용 GraphQL API |
| Cluster Agent | DaemonSet | 컨테이너 로그 파일을 읽는 노드별 agent |
kubetail Helm 저장소를 추가합니다.
helm repo add kubetail https://kubetail-org.github.io/helm-charts/전용 namespace에 chart를 설치합니다.
helm install kubetail kubetail/kubetail --namespace kubetail-system --create-namespace기본적으로 chart는 필요한 secret (KUBETAIL_DASHBOARD_SESSION_SECRET) 을 자동 생성하고 Kubernetes Secret에 저장하므로 업그레이드 후에도 유지됩니다.
업그레이드
섹션 제목: “업그레이드”최신 chart index를 가져온 다음 release를 업그레이드합니다.
helm repo update kubetailhelm upgrade kubetail kubetail/kubetail --namespace kubetail-systemhelm uninstall kubetail --namespace kubetail-systemValues
섹션 제목: “Values”Chart
섹션 제목: “Chart”| Parameter | Type | Default | Description |
|---|---|---|---|
fullnameOverride | string | null | chart가 계산한 fullname 덮어쓰기 |
nameOverride | string | null | chart 이름 덮어쓰기 |
namespaceOverride | string | null | release namespace 덮어쓰기 |
General
섹션 제목: “General”| Parameter | Type | Default | Description |
|---|---|---|---|
kubetail.allowedNamespaces | array | [] | 모든 구성 요소를 이 namespace로 제한 |
kubetail.secrets.KUBETAIL_DASHBOARD_SESSION_SECRET | string | null | Base64 인코딩된 dashboard session secret (null이면 자동 생성) |
kubetail.global.annotations | map | {} | 모든 리소스에 추가할 annotation |
kubetail.global.labels | map | {} | 모든 리소스에 추가할 label |
Dashboard
섹션 제목: “Dashboard”| Parameter | Type | Default | Description |
|---|---|---|---|
kubetail.dashboard.enabled | bool | true | Dashboard 구성 요소 활성화 또는 비활성화 |
kubetail.dashboard.authMode | string | "auto" | 인증 모드 (auto, token) |
kubetail.dashboard.runtimeConfig | map | see values.yaml | Dashboard 런타임 설정(Dashboard 참조 참조) |
kubetail.dashboard.image.registry | string | "ghcr.io" | 이미지 레지스트리 |
kubetail.dashboard.image.repository | string | "kubetail-org/kubetail-dashboard" | 이미지 저장소 |
kubetail.dashboard.image.tag | string | see values.yaml | 이미지 태그 |
kubetail.dashboard.image.digest | string | null | 이미지 태그를 digest로 대체 |
kubetail.dashboard.image.pullPolicy | string | "IfNotPresent" | 이미지 pull policy |
kubetail.dashboard.container.name | string | "kubetail-dashboard" | 컨테이너 이름 |
kubetail.dashboard.container.extraEnv | array | [] | 추가 환경 변수 |
kubetail.dashboard.container.extraEnvFrom | array | [] | 추가 envFrom 소스 |
kubetail.dashboard.container.securityContext | map | see values.yaml | 컨테이너 security context |
kubetail.dashboard.container.resources | map | {} | CPU/메모리 request 및 limit |
kubetail.dashboard.podTemplate.annotations | map | {} | 추가 Pod annotation |
kubetail.dashboard.podTemplate.labels | map | {} | 추가 Pod label |
kubetail.dashboard.podTemplate.extraContainers | array | [] | 추가 sidecar 컨테이너 |
kubetail.dashboard.podTemplate.securityContext | map | {} | Pod security context |
kubetail.dashboard.podTemplate.affinity | map | {} | Pod affinity 규칙 |
kubetail.dashboard.podTemplate.nodeSelector | map | {} | Node selector |
kubetail.dashboard.podTemplate.tolerations | array | [] | Pod toleration |
kubetail.dashboard.configMap.name | string | null | ConfigMap 이름 덮어쓰기 |
kubetail.dashboard.configMap.annotations | map | {} | 추가 ConfigMap annotation |
kubetail.dashboard.configMap.labels | map | {} | 추가 ConfigMap label |
kubetail.dashboard.deployment.name | string | null | Deployment 이름 덮어쓰기 |
kubetail.dashboard.deployment.annotations | map | {} | 추가 Deployment annotation |
kubetail.dashboard.deployment.labels | map | {} | 추가 Deployment label |
kubetail.dashboard.deployment.replicas | int | 1 | replica 수 |
kubetail.dashboard.deployment.revisionHistoryLimit | int | 5 | revision history 한도 |
kubetail.dashboard.deployment.strategy | map | {type: RollingUpdate} | Deployment 업데이트 전략 |
kubetail.dashboard.ingress.enabled | bool | false | Ingress 리소스 생성 |
kubetail.dashboard.ingress.name | string | null | Ingress 이름 덮어쓰기 |
kubetail.dashboard.ingress.annotations | map | {} | 추가 Ingress annotation |
kubetail.dashboard.ingress.labels | map | {} | 추가 Ingress label |
kubetail.dashboard.ingress.rules | array | [] | Ingress 규칙 |
kubetail.dashboard.ingress.tls | array | [] | Ingress TLS 설정 |
kubetail.dashboard.ingress.className | string | null | Ingress class 이름 |
kubetail.dashboard.rbac.name | string | null | RBAC 리소스 이름 덮어쓰기 |
kubetail.dashboard.rbac.annotations | map | {} | 추가 RBAC annotation |
kubetail.dashboard.rbac.labels | map | {} | 추가 RBAC label |
kubetail.dashboard.secret.enabled | bool | true | Secret 리소스 생성 |
kubetail.dashboard.secret.name | string | null | Secret 이름 덮어쓰기 |
kubetail.dashboard.secret.annotations | map | {} | 추가 Secret annotation |
kubetail.dashboard.secret.labels | map | {} | 추가 Secret label |
kubetail.dashboard.service.name | string | null | Service 이름 덮어쓰기 |
kubetail.dashboard.service.annotations | map | {} | 추가 Service annotation |
kubetail.dashboard.service.labels | map | {} | 추가 Service label |
kubetail.dashboard.service.ports.http | int | 8080 | Service HTTP 포트 |
kubetail.dashboard.serviceAccount.name | string | null | ServiceAccount 이름 덮어쓰기 |
kubetail.dashboard.serviceAccount.annotations | map | {} | 추가 ServiceAccount annotation |
kubetail.dashboard.serviceAccount.labels | map | {} | 추가 ServiceAccount label |
Cluster API
섹션 제목: “Cluster API”| Parameter | Type | Default | Description |
|---|---|---|---|
kubetail.clusterAPI.enabled | bool | true | Cluster API 구성 요소 활성화 또는 비활성화 |
kubetail.clusterAPI.runtimeConfig | map | see values.yaml | Cluster API 런타임 설정(Cluster API 참조 참조) |
kubetail.clusterAPI.image.registry | string | "ghcr.io" | 이미지 레지스트리 |
kubetail.clusterAPI.image.repository | string | "kubetail-org/kubetail-cluster-api" | 이미지 저장소 |
kubetail.clusterAPI.image.tag | string | see values.yaml | 이미지 태그 |
kubetail.clusterAPI.image.digest | string | null | 이미지 태그를 digest로 대체 |
kubetail.clusterAPI.image.pullPolicy | string | "IfNotPresent" | 이미지 pull policy |
kubetail.clusterAPI.container.name | string | "kubetail-cluster-api" | 컨테이너 이름 |
kubetail.clusterAPI.container.extraEnv | array | [] | 추가 환경 변수 |
kubetail.clusterAPI.container.extraEnvFrom | array | [] | 추가 envFrom 소스 |
kubetail.clusterAPI.container.securityContext | map | see values.yaml | 컨테이너 security context |
kubetail.clusterAPI.container.resources | map | {} | CPU/메모리 request 및 limit |
kubetail.clusterAPI.podTemplate.annotations | map | {} | 추가 Pod annotation |
kubetail.clusterAPI.podTemplate.labels | map | {} | 추가 Pod label |
kubetail.clusterAPI.podTemplate.extraContainers | array | [] | 추가 sidecar 컨테이너 |
kubetail.clusterAPI.podTemplate.securityContext | map | {} | Pod security context |
kubetail.clusterAPI.podTemplate.affinity | map | {} | Pod affinity 규칙 |
kubetail.clusterAPI.podTemplate.nodeSelector | map | {} | Node selector |
kubetail.clusterAPI.podTemplate.tolerations | array | [] | Pod toleration |
kubetail.clusterAPI.configMap.name | string | null | ConfigMap 이름 덮어쓰기 |
kubetail.clusterAPI.configMap.annotations | map | {} | 추가 ConfigMap annotation |
kubetail.clusterAPI.configMap.labels | map | {} | 추가 ConfigMap label |
kubetail.clusterAPI.deployment.name | string | null | Deployment 이름 덮어쓰기 |
kubetail.clusterAPI.deployment.annotations | map | {} | 추가 Deployment annotation |
kubetail.clusterAPI.deployment.labels | map | {} | 추가 Deployment label |
kubetail.clusterAPI.deployment.replicas | int | 1 | replica 수 |
kubetail.clusterAPI.deployment.revisionHistoryLimit | int | 5 | revision history 한도 |
kubetail.clusterAPI.deployment.strategy | map | {type: RollingUpdate} | Deployment 업데이트 전략 |
kubetail.clusterAPI.rbac.name | string | null | RBAC 리소스 이름 덮어쓰기 |
kubetail.clusterAPI.rbac.annotations | map | {} | 추가 RBAC annotation |
kubetail.clusterAPI.rbac.labels | map | {} | 추가 RBAC label |
kubetail.clusterAPI.secret.enabled | bool | true | Secret 리소스 생성 |
kubetail.clusterAPI.secret.name | string | null | Secret 이름 덮어쓰기 |
kubetail.clusterAPI.secret.annotations | map | {} | 추가 Secret annotation |
kubetail.clusterAPI.secret.labels | map | {} | 추가 Secret label |
kubetail.clusterAPI.service.name | string | null | Service 이름 덮어쓰기 |
kubetail.clusterAPI.service.annotations | map | {} | 추가 Service annotation |
kubetail.clusterAPI.service.labels | map | {} | 추가 Service label |
kubetail.clusterAPI.service.ports.http | int | 8080 | Service HTTP 포트 |
kubetail.clusterAPI.serviceAccount.name | string | null | ServiceAccount 이름 덮어쓰기 |
kubetail.clusterAPI.serviceAccount.annotations | map | {} | 추가 ServiceAccount annotation |
kubetail.clusterAPI.serviceAccount.labels | map | {} | 추가 ServiceAccount label |
Cluster Agent
섹션 제목: “Cluster Agent”| Parameter | Type | Default | Description |
|---|---|---|---|
kubetail.clusterAgent.enabled | bool | true | Cluster Agent 구성 요소 활성화 또는 비활성화 |
kubetail.clusterAgent.runtimeConfig | map | see values.yaml | Cluster Agent 런타임 설정(Cluster Agent 참조 참조) |
kubetail.clusterAgent.image.registry | string | "ghcr.io" | 이미지 레지스트리 |
kubetail.clusterAgent.image.repository | string | "kubetail-org/kubetail-cluster-agent" | 이미지 저장소 |
kubetail.clusterAgent.image.tag | string | see values.yaml | 이미지 태그 |
kubetail.clusterAgent.image.digest | string | null | 이미지 태그를 digest로 대체 |
kubetail.clusterAgent.image.pullPolicy | string | "IfNotPresent" | 이미지 pull policy |
kubetail.clusterAgent.container.name | string | "kubetail-cluster-agent" | 컨테이너 이름 |
kubetail.clusterAgent.container.extraEnv | array | [] | 추가 환경 변수 |
kubetail.clusterAgent.container.extraEnvFrom | array | [] | 추가 envFrom 소스 |
kubetail.clusterAgent.container.securityContext | map | see values.yaml | 컨테이너 security context |
kubetail.clusterAgent.container.resources | map | {} | CPU/메모리 request 및 limit |
kubetail.clusterAgent.podTemplate.annotations | map | {} | 추가 Pod annotation |
kubetail.clusterAgent.podTemplate.labels | map | {} | 추가 Pod label |
kubetail.clusterAgent.podTemplate.extraContainers | array | [] | 추가 sidecar 컨테이너 |
kubetail.clusterAgent.podTemplate.securityContext | map | {fsGroup: 0} | Pod security context |
kubetail.clusterAgent.podTemplate.affinity | map | {} | Pod affinity 규칙 |
kubetail.clusterAgent.podTemplate.nodeSelector | map | {} | Node selector |
kubetail.clusterAgent.podTemplate.tolerations | array | see values.yaml | Pod toleration(기본적으로 master/control-plane 노드 허용) |
kubetail.clusterAgent.configMap.name | string | null | ConfigMap 이름 덮어쓰기 |
kubetail.clusterAgent.configMap.annotations | map | {} | 추가 ConfigMap annotation |
kubetail.clusterAgent.configMap.labels | map | {} | 추가 ConfigMap label |
kubetail.clusterAgent.daemonSet.name | string | null | DaemonSet 이름 덮어쓰기 |
kubetail.clusterAgent.daemonSet.annotations | map | {} | 추가 DaemonSet annotation |
kubetail.clusterAgent.daemonSet.labels | map | {} | 추가 DaemonSet label |
kubetail.clusterAgent.networkPolicy.enabled | bool | true | NetworkPolicy 리소스 생성 |
kubetail.clusterAgent.networkPolicy.name | string | null | NetworkPolicy 이름 덮어쓰기 |
kubetail.clusterAgent.networkPolicy.annotations | map | {} | 추가 NetworkPolicy annotation |
kubetail.clusterAgent.networkPolicy.labels | map | {} | 추가 NetworkPolicy label |
kubetail.clusterAgent.service.name | string | null | Service 이름 덮어쓰기 |
kubetail.clusterAgent.service.annotations | map | {} | 추가 Service annotation |
kubetail.clusterAgent.service.labels | map | {} | 추가 Service label |
kubetail.clusterAgent.service.ports.grpc | int | 50051 | Service gRPC 포트 |
kubetail.clusterAgent.serviceAccount.name | string | null | ServiceAccount 이름 덮어쓰기 |
kubetail.clusterAgent.serviceAccount.annotations | map | {} | 추가 ServiceAccount annotation |
kubetail.clusterAgent.serviceAccount.labels | map | {} | 추가 ServiceAccount label |