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로 연결하는 어댑터 |
Add-on을 설치하거나 편집할 때 각 Add-on이 제공하는 설정값을 입력할 수 있습니다. 이 문서는 각 Add-on의 모든 설정 항목의 의미와 예시를 설명합니다. 실제로 지정할 수 있는 설정 항목과 허용 범위는 Add-on의 버전에 따라 달라질 수 있으므로, 설치·편집 화면에서 버전을 선택하면 표시되는 설정 스키마를 기준으로 지정해 주십시오.
NKS Block Storage CSI
블록 스토리지를 Kubernetes PersistentVolume으로 사용하는 CSI 드라이버입니다. 이 Add-on을 설치하면 블록 스토리지 기반 볼륨을 동적으로 프로비저닝하고 Pod에 마운트할 수 있습니다.
설치한 다음 사용 방법은 블록 스토리지 CSI 예제 문서를 참고해 주십시오.
설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
|---|---|---|---|
| scheduling.nodeSelector | 컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) |
| scheduling.extraTolerations |
|
배열 | (없음) |
| 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일 때 노드에 머무를 시간(초) | 정수 | (없음) |
아래는 예시입니다.
{
"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 예제 문서를 참고해 주십시오.
설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
|---|---|---|---|
scheduling.nodeSelector |
컴포넌트를 배치할 노드의 레이블 조건 | 객체(문자열 맵) | (없음) |
scheduling.extraTolerations |
|
배열 | (없음) |
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일 때 노드에 머무를 시간(초) |
정수 | (없음) |
아래는 예시입니다.
{
"scheduling": {
"nodeSelector": {
"role": "storage"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "storage",
"effect": "NoSchedule"
}
]
}
}
ExternalDNS
Kubernetes의 Service와 Ingress에 설정된 DNS 이름을 외부 DNS 서비스에 자동으로 등록하고 관리하는 컨트롤러입니다. 이 Add-on을 설치하면 워크로드가 노출하는 도메인을 수동으로 관리하지 않아도 됩니다.
설치한 다음 사용 방법은 ExternalDNS 활용 예제 문서를 참고해 주십시오.
설정값
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 |
|
문자열 | (빈 값) | -edns |
policy |
|
문자열 | upsert-only |
sync |
logLevel |
로그 출력 수준. debug, info, warn, error 중 하나 |
문자열 | info |
debug |
credentials.secretName |
|
문자열 | (빈 값) | 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 |
아래는 예시입니다.
{
"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 사용 문서를 참고해 주십시오.
설정값
제공하는 설정 항목은 다음과 같습니다.
| 항목 | 설명 | 타입 | 기본값 |
|---|---|---|---|
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일 때 노드에 머무를 시간(초) |
정수 | (없음) |
아래는 예시입니다.
{
"scheduling": {
"nodeSelector": {
"role": "gateway"
},
"extraTolerations": [
{
"key": "dedicated",
"operator": "Equal",
"value": "gateway",
"effect": "NoSchedule"
}
]
}
}
버전 호환
설치할 수 있는 Add-on의 버전은 클러스터의 Kubernetes 버전에 따라 달라집니다. 설치와 편집 시 클러스터와 호환되는 버전만 선택할 수 있습니다. Add-on별 지원 버전은 Add-on 릴리스 노트의 버전 호환 표를 참고해 주십시오.