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.
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
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
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.
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
See the section on collecting application logs for more details.
The Seq Helm chart allows ingress for the full Seq UI and/or the limited ingestion-only API.
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
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 2 years ago