Using Helm
Details on using the Seq Helm chart
Kubernetes is a container orchestration platform that standardizes many of the concerns around deploying, integrating, exposing, and maintaining applications. With some configuration, Seq can run in Kubernetes. The best way to get started is using the seq
Helm chart.
Installing Seq
Use Helm to install the Seq chart. First, add the datalust
Helm repository:
helm repo add datalust https://helm.datalust.co
helm repo update
Then you can install the seq
chart:
helm install my-seq datalust/seq
This will create a Seq instance in your cluster as a cluster-internal service with persistent storage. It can be discovered and logged to by other other apps within the cluster, but won't be externally visible.
Before going live
Make sure you check the storage and memory docs for more recommendations for a healthy deployment.
Upgrading Seq
Use:
helm upgrade my-seq
to upgrade a Seq instance in your cluster. Only a single instance of Seq can use its storage at a time, so deployments will use the Recreate strategy to ensure the previous instance is removed before a new one is started.
Ingesting from within the cluster
A Seq instance can be discovered within the cluster using a generated DNS record. So if the release is called seq
in the logging
namespace, then it can be reached at seq.logging.svc.cluster.local
.
See the section on collecting application logs for more details.
Ingesting from outside the cluster
Seq can be made accessible to external consumers through an ingress. Ingress requires an ingress controller to be running in your cluster.
The Seq Helm chart allows ingress for the full Seq UI and/or the limited ingestion-only API.
The following example configures ingress for the UI, using an existing nginx controller as an ingest controller:
helm install -f config.yaml my-seq datalust/seq
# config.yaml
ingress:
annotations:
kubernetes.io/ingress.class: nginx
ui:
ingress:
enabled: true
path: /
hosts:
- seq.mydomain.com
ingestion:
ingress:
enabled: true
path: /
hosts:
- ingestion.seq.mydomain.com
Ingress for the UI and ingestion API can only be separated by subdomain, rather than by the port or path.
Adding a DNS entry pointing seq.mydomain.com
and ingestion.seq.mydomain.com
to your ingress controller's public IP will forward requests to the Seq service.
For other considerations, see Ingress.
Updated almost 4 years ago