Nacos Helm Chart

  • Apache Nacos is committed to help you discover, configure, and manage your microservices. It provides a set of simple and useful features enabling you to realize dynamic service discovery, service configuration, service metadata and traffic management.

Tips

If you use a custom database, please initialize the database script yourself first.

Installing the Chart

To install the my-release deployment:

helm install my-release nacos

Uninstalling the Chart

To uninstall/delete the my-release deployment:

helm delete my-release

The command deploys Nacos on the Kubernetes cluster in the default configuration. It will run without a mysql chart and persistent volume. The configuration section lists the parameters that can be configured during installation.

Service & Configuration Management

Service registration

curl -X POST 'http://$NODE_IP:$NODE_PORT/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

Service discovery

curl -X GET 'http://$NODE_IP:$NODE_PORT/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'

Publish config

curl -X POST "http://$NODE_IP:$NODE_PORT/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

Get config

curl -X GET "http://$NODE_IP:$NODE_PORT/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

Configuration

The following table lists the configurable parameters of the Skywalking chart and their default values.

ParameterDescriptionDefault
global.modeNacos Mode standalone or cluster.standalone
nodeSelectorNacos labels for pod assignment.{}
affinityNacos affinity policy.{}
tolerationsNacos tolerations.{}
replicasNumber of desired nacos pods, the number should be 1 as run standalone mode.1
maxUnavailableThe parameter for specifying the maximum allowed number of unavailable replicas.[]
tolerationsallow pods to be scheduled on nodes with specific taints by tolerating those taints.[]
domainNameEnable Nacos cluster node domain name support.cluster.local
resources.limitsResource Object Limits.{}
resources.requestsResource Object Requests.{}
image.registryNacos container image registry.nacos/nacos-server
image.repositoryNacos container image repository.nacos/nacos-server
image.tagNacos container image tag.latest
image.pullPolicyNacos container image pull policy.IfNotPresent
plugin.enabledNacos cluster plugin that is auto scale.true
plugin.image.repositoryNacos cluster plugin image name.nacos/nacos-peer-finder-plugin
plugin.image.tagNacos cluster plugin image tag.1.1
plugin.image.pullPolicyNacos cluster plugin image pull policy.IfNotPresent
health.enabledEnable health check or not.false
env.preferhostmodeNacos env Preferred Host Mode.hostname
env.serverPortNacos env Server Port.8848
storage.typeNacos storage method mysql or embedded. The embedded supports either standalone or cluster mode.embedded
storage.db.hostNacos Mysql storage host.""
storage.db.nameNacos Mysql storage database name.""
storage.db.portNacos Mysql storage port.3306
storage.db.usernameUsername of database.""
storage.db.passwordPassword of database.""
storage.db.paramDatabase url parameter.characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
persistence.enabledEnable or disable persistence functionality.false
persistence.accessModesDefining Access Patterns for Persistent Storage Volume.ReadWriteOnce
persistence.storageClassNameDefines the type or class of persistent storage volume.manual
persistence.sizeDefines the size of the Kubernetes persistent storage volume.5G
persistence.ClaimNameDefine the name of the persistence store declaration to bind to.{}
persistence.emptyDirConfiguration for creating a temporary blank directory.{}
podDisruptionBudget.enabledEnable or disable podDisruptionBudget functionality.false
podDisruptionBudget.minAvailableDefines the minimum number of available Pods that must be maintained in a Kubernetes cluster.1
podDisruptionBudget.maxUnavailableDefines the maximum number of available Pods that must be maintained in a Kubernetes cluster.1
service.typeNacos http service type.NodePort
service.portNacos http service port.8848
service.nodePortNacos http service nodeport.30000
ingress.enabledEnable or disable ingress functionality.false
ingress.annotationsAdding additional configuration and metadata information to ingress.{}
ingress.labelsAdd custom labels for Ingress objects.{}
ingress.hostsThe host of nacos service in ingress rule.nacos.example.com
ingress.pathIngress defines mapping rules between request paths and backend services./
ingress.pathTypeIngress specifies the type of request path matching.Prefix
ingress.extraPathsIngress defines mapping rules between request extra paths and backend services.[]
ingress.tlsConfigure TLS certificate information for encrypted connections received through Ingress objects.[]
networkPolicy.enabledEnable or disable networkpolicy functionality.false
networkPolicy.ingressEnable or disable networkpolicy ingress.true
networkPolicy.egress.enabledEnable or disable networkpolicy egress.false
networkPolicy.egress.portsEnable or disable networkpolicy egress ports.80