n9e-helm
n9e-helm copied to clipboard
Helm chart of Nightingale
Helm Chart for Nightingale
English | 中文
Introduction
This Helm chart installs Nightingale in a Kubernetes cluster. Welcome to contribute to Helm Chart for Nightingale.
This repository, including the issues, focus on deploying Nightingale chart via helm. So for the functionality issues or questions of Nightingale, please open issues on didi/nightingale
Prerequisites
- Kubernetes cluster 1.20+
- Helm v3.2.0+
Installation
Get Helm repository
git clone https://github.com/flashcatcloud/n9e-helm.git
Configure the chart
The following items can be set via --set flag during installation or configured by editing the values.yaml directly(need to download the chart first).
Configure the way how to expose nightingale service
- Ingress: The ingress controller must be installed in the Kubernetes cluster.
- ClusterIP: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster.
- NodePort: Exposes the service on each Node’s IP at a static port (the NodePort). You’ll be able to contact the NodePort service, from outside the cluster, by requesting
NodeIP:NodePort. - LoadBalancer: Exposes the service externally using a cloud provider’s load balancer.
Configure the service over TLS
- enabled: Enable TLS or not. Delete the ssl-redirect annotations in
expose.ingress.annotationswhen TLS is disabled andexpose.typeisingress. - certSource: The source of the TLS certificate. Set as
auto,secretornoneand fill the information in the corresponding section:- auto: generate the TLS certificate automatically
- commonName: The common name used to generate the certificate, it's necessary when the type isn't
ingress
- commonName: The common name used to generate the certificate, it's necessary when the type isn't
- secret: read the TLS certificate from the specified secret. The TLS certificate can be generated manually or by cert manager.
- secretName: The name of secret which contains keys named:
- tls.crt: the certificate
- tls.key: the private key
- secretName: The name of secret which contains keys named:
- none: configure no TLS certificate for the
ingress. If the default TLS certificate is configured in the ingress controller, choose this option
- auto: generate the TLS certificate automatically
Configure the external URL
The external URL for nightingale web service is used to visit web service of nightingale
Format: protocol://domain[:port]. Usually:
- if expose the service via
Ingress, thedomainshould be the value ofexpose.ingress.hosts.web - if expose the service via
ClusterIP, thedomainshould be the value ofexpose.clusterIP.name - if expose the service via
NodePort, thedomainshould be the IP address of one Kubernetes node - if expose the service via
LoadBalancer, set thedomainas your own domain name and add a CNAME record to map the domain name to the one you got from the cloud provider
NOTICE:
- If nightingale is deployed behind the proxy, set it as the URL of proxy.
- The default login user is
root, default password isroot.2020.
Configure the way how to persistent data
- Disable: The data does not survive the termination of a pod.
- Persistent Volume Claim(default): A default
StorageClassis needed in the Kubernetes cluster to dynamic provision the volumes. Specify another StorageClass in thestorageClassor setexistingClaimif you have already existing persistent volumes to use.
Install the chart
Install the nightingale helm chart with a release name nightingale:
helm install nightingale ./n9e-helm -n n9e --create-namespace
Uninstallation
To uninstall/delete the nightingale deployment:
helm uninstall nightingale -n n9e
Contributing
- Create and issue in Issue List
- If necessary, contact and discuss with maintainer
- Follow the chart template developer's guide