---
title: "Add-on 목록"
slug: "k8s-k8suse-addon-catalog"
updated: 2026-08-20T09:03:27Z
published: 2026-08-20T09:03:27Z
canonical: "guide-gov.ncloud-docs.com/k8s-k8suse-addon-catalog"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Add-on 목록
VPC 환경에서 이용 가능합니다.
Ncloud Kubernetes Service(NKS)가 제공하는 Add-on 목록입니다.
| Add-on | 이름 | 카테고리 | 설명 |
|---|---|---|---|
| `nks-csi` | NKS Block Storage CSI | storage | 블록 스토리지를 PersistentVolume으로 사용하는 CSI 드라이버 |
| `nks-nas-csi` | NKS NAS (NFS) CSI | storage | NAS(NFS) 볼륨을 PersistentVolume으로 사용하는 CSI 드라이버 |
| `external-dns` | ExternalDNS | network | Service와 Ingress의 DNS 이름을 외부 DNS에 자동으로 등록하고 관리하는 컨트롤러 |
| `nks-gateway-adapter` | NKS Gateway API Adapter | network | Gateway API 리소스(Gateway, HTTPRoute)를 NAVER Cloud ALB로 연결하는 어댑터 |
:::(Info) (참고)
Add-on을 설치하거나 편집할 때 각 Add-on이 제공하는 설정값을 입력할 수 있습니다. 이 문서는 각 Add-on의 모든 설정 항목의 의미와 예시를 설명합니다. 실제로 지정할 수 있는 설정 항목과 허용 범위는 Add-on의 버전에 따라 달라질 수 있으므로, 설치·편집 화면에서 버전을 선택하면 표시되는 설정 스키마를 기준으로 지정해 주십시오.
:::
## NKS Block Storage CSI
블록 스토리지를 Kubernetes PersistentVolume으로 사용하는 CSI 드라이버입니다. 이 Add-on을 설치하면 블록 스토리지 기반 볼륨을 동적으로 프로비저닝하고 Pod에 마운트할 수 있습니다.
설치한 다음 사용 방법은 [블록 스토리지 CSI 예제](/docs/k8s-k8sexamples-bscsi) 문서를 참고해 주십시오.
### 설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
| :--- | :--- | :--- | :--- |
| scheduling.nodeSelector | 컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) |
| scheduling.extraTolerations | - 테인트(taint)가 설정된 노드에도 컴포넌트를 배치하기 위한 toleration 목록
- 드라이버 동작에 필요한 필수 toleration은 자동 포함되어 이 항목으로 제거할 수 없음
| 배열 | (없음) |
| scheduling.extraTolerations[].key | 대상 테인트 키 | 문자열 | (없음) |
| scheduling.extraTolerations[].operator | 키와 값을 비교하는 방식. Exists, Equal 중 하나 | 문자열 | (없음) |
| scheduling.extraTolerations[].value | operator가 Equal일 때 비교할 값 | 문자열 | (없음) |
| scheduling.extraTolerations[].effect | 대상 테인트의 effect. NoSchedule, PreferNoSchedule, NoExecute 중 하나 | 문자열 | (없음) |
| scheduling.extraTolerations[].tolerationSeconds | effect가 NoExecute일 때 노드에 머무를 시간(초) | 정수 | (없음) |
아래는 예시입니다.
```json
{
"scheduling": {
"nodeSelector": {
"role": "storage"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "storage",
"effect": "NoSchedule"
}
]
}
}
```
## NKS NAS(NFS) CSI
NAS(NFS) 볼륨을 Kubernetes PersistentVolume으로 사용하는 CSI 드라이버입니다. 여러 Pod가 동시에 접근하는 공유 볼륨이 필요할 때 사용합니다.
설치한 다음 사용 방법은 [NAS 볼륨 CSI 예제](/docs/k8s-k8sexamples-nascsi) 문서를 참고해 주십시오.
### 설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
| --- | --- | --- | --- |
| `scheduling.nodeSelector` | 컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) |
| `scheduling.extraTolerations` | - 테인트(taint)가 설정된 노드에도 컴포넌트를 배치하기 위한 toleration 목록
- 드라이버 동작에 필요한 필수 toleration은 자동 포함되어 이 항목으로 제거할 수 없음
| 배열 | (없음) |
| `scheduling.extraTolerations[].key` | 대상 테인트 키 | 문자열 | (없음) |
| `scheduling.extraTolerations[].operator` | 키와 값을 비교하는 방식. `Exists`, `Equal` 중 하나. | 문자열 | (없음) |
| `scheduling.extraTolerations[].value` | `operator`가 `Equal`일 때 비교할 값 | 문자열 | (없음) |
| `scheduling.extraTolerations[].effect` | 대상 테인트의 effect. `NoSchedule`, `PreferNoSchedule`, `NoExecute` 중 하나 | 문자열 | (없음) |
| `scheduling.extraTolerations[].tolerationSeconds` | `effect`가 `NoExecute`일 때 노드에 머무를 시간(초) | 정수 | (없음) |
아래는 예시입니다.
```json
{
"scheduling": {
"nodeSelector": {
"role": "storage"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "storage",
"effect": "NoSchedule"
}
]
}
}
```
## ExternalDNS
Kubernetes의 Service와 Ingress에 설정된 DNS 이름을 외부 DNS 서비스에 자동으로 등록하고 관리하는 컨트롤러입니다. 이 Add-on을 설치하면 워크로드가 노출하는 도메인을 수동으로 관리하지 않아도 됩니다.
설치한 다음 사용 방법은 [ExternalDNS 활용 예제](/docs/k8s-k8sexamples-externaldns-vpc) 문서를 참고해 주십시오.
### 설정값
ExternalDNS가 제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 | 예시 |
| :--- | :--- | :--- | :--- | :--- |
| `sources` | DNS 레코드를 생성할 대상 리소스 종류. `service`, `ingress`, `crd` 중 하나 이상 | 배열 | `service`, `ingress`, `crd` | `["ingress"]` |
| `domainFilter` | - 관리할 도메인 한정
- 지정한 도메인의 레코드만 생성·관리하며, 비우면 제한 없음
| 문자열 | (빈 값) | `example.com,foo.io` |
| `annotationFilter` | 지정한 애노테이션을 가진 리소스만 처리 대상으로 삼음 | 문자열 | (빈 값) | `external-dns.alpha.kubernetes.io/include=true` |
| `labelFilter` | 지정한 레이블을 가진 리소스만 처리 대상으로 삼음 | 문자열 | (빈 값) | `team=infra` |
| `txtPrefix` | 소유권 기록용 TXT 레코드 이름에 붙일 접두사 | 문자열 | `_edns.` | `_edns.` |
| `txtSuffix` | - 소유권 기록용 TXT 레코드 이름에 붙일 접미사
- `txtPrefix`와 함께 사용할 수 없음(아래 주의 참고)
| 문자열 | (빈 값) | `-edns` |
| `policy` | - DNS 레코드 동기화 정책
- `sync`: 생성·수정·삭제를 모두 반영
- `upsert-only`: 삭제하지 않음
- `create-only`: 생성만 수행
| 문자열 | `upsert-only` | `sync` |
| `logLevel` | 로그 출력 수준. `debug`, `info`, `warn`, `error` 중 하나 | 문자열 | `info` | `debug` |
| `credentials.secretName` | - 외부 DNS 인증에 사용할 액세스 키가 담긴 Secret 이름
- 비우면 노드의 Node IAM Role로 인증
- Secret은 사용자가 사전 생성 필요(아래 참고)
| 문자열 | (빈 값) | `external-dns-credentials` |
| `scheduling.nodeSelector` | 컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) | `{"role":"external-dns"}` |
| `scheduling.extraTolerations` | 테인트(taint)가 설정된 노드에도 컴포넌트를 배치하기 위한 toleration 목록 | 배열 | (없음) | — |
| `scheduling.extraTolerations[].key` | 대상 테인트 키 | 문자열 | (없음) | `dedicated` |
| `scheduling.extraTolerations[].operator` | 키와 값을 비교하는 방식. `Exists`, `Equal` 중 하나 | 문자열 | (없음) | `Equal` |
| `scheduling.extraTolerations[].value` | `operator`가 `Equal`일 때 비교할 값 | 문자열 | (없음) | `dns` |
| `scheduling.extraTolerations[].effect` | 대상 테인트의 effect. `NoSchedule`, `PreferNoSchedule`, `NoExecute` 중 하나 | 문자열 | (없음) | `NoSchedule` |
| `scheduling.extraTolerations[].tolerationSeconds` | `effect`가 `NoExecute`일 때 노드에 머무를 시간(초) | 정수 | (없음) | `300` |
아래는 예시입니다.
```json
{
"sources": ["service", "ingress", "crd"],
"domainFilter": "example.com,foo.io",
"annotationFilter": "external-dns.alpha.kubernetes.io/include=true",
"labelFilter": "team=infra",
"txtPrefix": "",
"txtSuffix": "-edns",
"policy": "sync",
"logLevel": "info",
"credentials": {
"secretName": "external-dns-credentials"
},
"scheduling": {
"nodeSelector": {
"role": "external-dns"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "dns",
"effect": "NoSchedule"
}
]
}
}
```
## NKS Gateway API Adapter
Gateway API 리소스(Gateway, HTTPRoute)를 NAVER Cloud ALB(Application Load Balancer)로 연결하는 어댑터입니다. 이 Add-on을 설치하면 Gateway API 표준 리소스로 외부 트래픽 라우팅을 구성할 수 있습니다.
설치한 다음 사용 방법은 [Gateway API 사용](/docs/gateway-api-use) 문서를 참고해 주십시오.
### 설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
| --- | --- | --- | --- |
| `scheduling.nodeSelector` | 컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) |
| `scheduling.extraTolerations` | 테인트(taint)가 설정된 노드에도 컴포넌트를 배치하기 위한 toleration 목록 | 배열 | (없음) |
| `scheduling.extraTolerations[].key` | 대상 테인트 키. | 문자열 | (없음) |
| `scheduling.extraTolerations[].operator` | 키와 값을 비교하는 방식. `Exists`, `Equal` 중 하나 | 문자열 | (없음) |
| `scheduling.extraTolerations[].value` | `operator`가 `Equal`일 때 비교할 값 | 문자열 | (없음) |
| `scheduling.extraTolerations[].effect` | 대상 테인트의 effect. `NoSchedule`, `PreferNoSchedule`, `NoExecute` 중 하나 | 문자열 | (없음) |
| `scheduling.extraTolerations[].tolerationSeconds` | `effect`가 `NoExecute`일 때 노드에 머무를 시간(초) | 정수 | (없음) |
아래는 예시입니다.
```json
{
"scheduling": {
"nodeSelector": {
"role": "gateway"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "gateway",
"effect": "NoSchedule"
}
]
}
}
```
## 버전 호환
설치할 수 있는 Add-on의 버전은 클러스터의 Kubernetes 버전에 따라 달라집니다. 설치와 편집 시 클러스터와 호환되는 버전만 선택할 수 있습니다. Add-on별 지원 버전은 [Add-on 릴리스 노트](/docs/k8s-k8suse-addon-release)의 버전 호환 표를 참고해 주십시오.