Gke Quickstart
LogZilla documentation for Gke Quickstart
Purpose
This quickstart helps a technical operator new to Kubernetes bring up LogZilla on Google Kubernetes Engine (GKE) using the repository's existing helper scripts and manifests.
Prerequisites
- Google Cloud project with billing enabled.
- gcloud CLI and kubectl installed and on PATH.
- Authentication and project selection performed:
bash# Authenticate gcloud and select the project
gcloud auth login
# The scripts default to the project "logzilla-v7" and region "us-east1".
# If using a different project or region, edit the script noted below.
gcloud config set project logzilla-v7
Create a GKE cluster (scripted)
The repository provides k8s/gcloud_scripts/create_cluster
.
The quickstart uses the script as-is (project "logzilla-v7", region
"us-east1").
bash# Optional: review or edit the script before running
sed -n '1,200p' k8s/gcloud_scripts/create_cluster
# Create a cluster named lz-cluster with 3 nodes (defaults in the script)
bash k8s/gcloud_scripts/create_cluster lz-cluster 3
Script defaults to be aware of (file: k8s/gcloud_scripts/create_cluster
):
- Line 6:
--project "logzilla-v7"
- Line 8:
--region "us-east1"
- Lines 23–24: Default VPC and subnetwork values referencing the same project
If those do not match the target environment, edit the script accordingly before running.
Configure kubectl context
bash# Fetch cluster credentials for kubectl
gcloud container clusters get-credentials lz-cluster \
--region us-east1 \
--project logzilla-v7
# Verify connectivity
kubectl get nodes
Optional: create a dedicated namespace
bashkubectl create namespace logzilla
# Remember to add: -n logzilla to subsequent kubectl commands
Deploy backing services
Manifests are provided in k8s/services/
.
bashkubectl apply -f k8s/services/postgres.yaml
kubectl apply -f k8s/services/redis.yaml
kubectl apply -f k8s/services/influxdb.yaml
# Optional dashboard
kubectl apply -f k8s/services/grafana.yaml
Deploy common config and LogZilla modules
Manifests are provided in k8s/modules/
.
bashkubectl apply -f k8s/modules/common.yaml kubectl apply -f k8s/modules/storage.yaml kubectl apply -f k8s/modules/query.yaml kubectl apply -f k8s/modules/api.yaml kubectl apply -f k8s/modules/ingest.yaml kubectl apply -f k8s/modules/front.yaml
Expose services (GKE example)
bashkubectl apply -f k8s/ingress/ingress-gke.yaml
This creates LoadBalancer Services for syslog (TCP/UDP), JSON, RFC5424,
and HTTP ingest, and an Ingress routing the UI (/
), static assets,
API (/api/
), WebSocket (/ws/
), and /incoming
.
Verify
bashkubectl get pods kubectl get svc kubectl describe ingress ingress-gke
Notes
- LogZilla images should use the
stable
tag for production. If a release pinning policy exists, usevX.Y.Z
. - Secrets in the docs use
stringData:
for readability. If usingdata:
, base64-encode values first.
Cleanup
Scripts are provided and should be reviewed before running, as they are potentially destructive.
bash# Delete the cluster (uses region us-east1 and project logzilla-v7)
sed -n '1,200p' k8s/gcloud_scripts/delete_cluster
bash k8s/gcloud_scripts/delete_cluster lz-cluster
# Delete leftover disks in the project (uses region us-east1)
sed -n '1,200p' k8s/gcloud_scripts/delete_disks
bash k8s/gcloud_scripts/delete_disks