Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Add-on list

Prev Next

Available in VPC

The following add-ons are provided by Ncloud Kubernetes Service (NKS).

Add-on Name Category Description
nks-csi NKS Block Storage CSI storage CSI driver for using block storage as a PersistentVolume
nks-nas-csi NKS NAS (NFS) CSI storage CSI driver for using NAS (NFS) volume as PersistentVolume
external-dns ExternalDNS network Controller that automatically registers and manages DNS names for Services and Ingresses in external DNS
nks-gateway-adapter NKS Gateway API Adapter network Adapter that connects Gateway API resources (Gateway, HTTPRoute) to NAVER Cloud ALB
Note

When installing or editing an add-on, you can enter the settings provided by each add-on. This document describes all settings available for each add-on, including their meanings and examples. Available settings and allowed ranges may vary by add-on version. When installing or editing an add-on, select a version and specify the settings based on the displayed configuration schema.

NKS Block Storage CSI

This CSI driver uses block storage as a Kubernetes PersistentVolume. Installing this add-on allows you to dynamically provision block storage-based volumes and mount them to pods.

After installation, see the Block storage CSI examples for usage instructions.

Settings

The available settings are as follows.

Item Description Type Default
scheduling.nodeSelector Node label conditions for deploying components. Object (string map) (None)
scheduling.extraTolerations
  • List of tolerations for deploying components to nodes with taints.
  • Required tolerations for driver operation are automatically included and cannot be removed using this setting.
Array (None)
scheduling.extraTolerations[].key Target taint key. String (None)
scheduling.extraTolerations[].operator Method for comparing the key and value. Either Exists or Equal. String (None)
scheduling.extraTolerations[].value Value to compare when the operator is Equal. String (None)
scheduling.extraTolerations[].effect Effect of the target taint. Either NoSchedule, PreferNoSchedule, or NoExecute. String (None)
scheduling.extraTolerations[].tolerationSeconds Time in seconds to remain on the node when the effect is NoExecute Integer (None)

The following is an example.

{
  "scheduling": {
    "nodeSelector": {
      "role": "storage"
    },
    "extraTolerations": [
      {
        "key": "dedicated",
        "operator": "Equal",
        "value": "storage",
        "effect": "NoSchedule"
      }
    ]
  }
}

NKS NAS(NFS) CSI

This CSI driver uses NAS (NFS) volume as Kubernetes PersistentVolume. Use it when you need a shared volume that multiple pods can access simultaneously.

After installation, see the NAS volume CSI examples for usage instructions.

Settings

The available settings are as follows.

Item Description Type Default
scheduling.nodeSelector Node label conditions for deploying components. Object (string map) (None)
scheduling.extraTolerations
  • List of tolerations for deploying components to nodes with taints.
  • Required tolerations for driver operation are automatically included and cannot be removed using this setting.
Array (None)
scheduling.extraTolerations[].key Target taint key. String (None)
scheduling.extraTolerations[].operator Method for comparing the key and value. Either Exists or Equal. String (None)
scheduling.extraTolerations[].value Value to compare when the operator is Equal. String (None)
scheduling.extraTolerations[].effect Effect of the target taint. Either NoSchedule, PreferNoSchedule, or NoExecute. String (None)
scheduling.extraTolerations[].tolerationSeconds Time in seconds to remain on the node when the effect is NoExecute. Integer (None)

The following is an example.

{
  "scheduling": {
    "nodeSelector": {
      "role": "storage"
    },
    "extraTolerations": [
      {
        "key": "dedicated",
        "operator": "Equal",
        "value": "storage",
        "effect": "NoSchedule"
      }
    ]
  }
}

ExternalDNS

This controller automatically registers and manages DNS names configured for Kubernetes Services and Ingresses with an external DNS service. Installing this add-on eliminates the need to manually manage domains exposed by workloads.

After installation, see the ExternalDNS use cases for usage instructions.

Settings

The settings provided by ExternalDNS are as follows.

Item Description Type Default Example
sources Resource types for which DNS records are created. 1 or more of service, ingress, and crd. Array service, ingress, crd ["ingress"]
domainFilter
  • Limit the domains to manage.
  • Only records for the specified domains are created and managed. If left empty, no limit applies.
String (Empty) example.com,foo.io
annotationFilter Process only resources with the specified annotation. String (Empty) external-dns.alpha.kubernetes.io/include=true
labelFilter Process only resources with the specified label. String (Empty) team=infra
txtPrefix Prefix added to TXT record names used for ownership tracking. String _edns. _edns.
txtSuffix
  • Suffix added to TXT record names used for ownership tracking.
  • Cannot be used with txtPrefix (see the caution below).
String (Empty) -edns
policy
  • DNS record synchronization policy.
  • sync: Apply creation, modification, and deletion.
  • upsert-only: Do not delete.
  • create-only: Run creation only.
String upsert-only sync
logLevel Log output level. Either debug, info, warn, or error. String info debug
credentials.secretName
  • Name of the Secret containing the access key used for external DNS authentication.
  • If left empty, authentication is performed using the node's Node IAM Role.
  • The Secret must be created in advance by the user (see below).
String (Empty) external-dns-credentials
scheduling.nodeSelector Node label conditions for deploying components. Object (string map) (None) {"role":"external-dns"}
scheduling.extraTolerations List of tolerations for deploying components to nodes with taints. Array (None)
scheduling.extraTolerations[].key Target taint key. String (None) dedicated
scheduling.extraTolerations[].operator Method for comparing the key and value. Either Exists or Equal. String (None) Equal
scheduling.extraTolerations[].value Value to compare when the operator is Equal. String (None) dns
scheduling.extraTolerations[].effect Effect of the target taint. Either NoSchedule, PreferNoSchedule, or NoExecute. String (None) NoSchedule
scheduling.extraTolerations[].tolerationSeconds Time in seconds to remain on the node when the effect is NoExecute. Integer (None) 300

The following is an example.

{
  "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

This adapter connects Gateway API resources (Gateway, HTTPRoute) to NAVER Cloud ALB (Application Load Balancer). Installing this add-on allows you to configure external traffic routing using standard Gateway API resources.

After installation, see Using Gateway API for usage instructions.

Settings

The available settings are as follows.

Item Description Type Default
scheduling.nodeSelector Node label conditions for deploying components. Object (string map) (None)
scheduling.extraTolerations List of tolerations for deploying components to nodes with taints. Array (None)
scheduling.extraTolerations[].key Target taint key. String (None)
scheduling.extraTolerations[].operator Method for comparing the key and value. Either Exists or Equal. String (None)
scheduling.extraTolerations[].value Value to compare when the operator is Equal. String (None)
scheduling.extraTolerations[].effect Effect of the target taint. Either NoSchedule, PreferNoSchedule, or NoExecute. String (None)
scheduling.extraTolerations[].tolerationSeconds Time in seconds to remain on the node when the effect is NoExecute. Integer (None)

The following is an example.

{
  "scheduling": {
    "nodeSelector": {
      "role": "gateway"
    },
    "extraTolerations": [
      {
        "key": "dedicated",
        "operator": "Equal",
        "value": "gateway",
        "effect": "NoSchedule"
      }
    ]
  }
}

Version compatibility

The add-on versions available for installation vary depending on the cluster's Kubernetes version. When installing or editing an add-on, only versions compatible with the cluster can be selected. For supported versions of each add-on, see the version compatibility table in the Add-on release notes.