Skip to content

bcochofel/k8s-gitops-istio-demo

Repository files navigation

k8s-gitops-istio-demo

pre-commit badge Conventional commits badge Keep a Changelog v1.1.0 badge MIT License Badge

Kubernetes manifests that can be used with GitOps. Most of the manifests use Helm Operator, so you need to have that installed on your cluster.

pre-commit hooks

Read the pre-commit hooks document for more info.

git-chglog

Read the git-chglog document for more info.

Requirements

The scenarios under kustomize/ use Kustomize.

The directory manifests/ uses Helm Operator.

Scenarios

  • Istio demo (uses istio demo profile)
  • Istio production (uses default profile)

Istio Production

This scenario uses the Istio Integrations.

Uses cert-manager Self Signed Issuer and Certificate for all the demo.lab addresses.

Add to following to your hosts file:

192.168.77.105	demo.lab www.demo.lab
192.168.77.105  bookinfo.demo.lab
192.168.77.105  grafana.demo.lab
192.168.77.105  alertmanager.demo.lab
192.168.77.105  prometheus.demo.lab
192.168.77.105  istio-prometheus.demo.lab
192.168.77.105  kiali.demo.lab
192.168.77.105  tracing.demo.lab

You can use those addresses to connect to the components on this scenario.

Prometheus is deployed using the new Prometheus Operator chart.

Observability Best Practices are implemented using another Prometheus instance to scrape metrics from Istio. The Prometheus instances use labels (tier=cluster and tier=istio) to separate the scrape and rules for each scope.

You can use this repo to deploy both Istio and Flux using Terraform (examples folder)