briandenicola / istio-learnings

Learning Istio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

This repo contains code for my Istio learnings

Canary Release Examples

Setup Infrastructure

cd ./infrastructure 
task up 

Build

Version 1

cd code/canary/v1
docker build -t bjd145/whatos:1.0 . 
docker push bjd145/whatos:1.0 

Version 2

cd code/canary/v2
docker build -t bjd145/whatos:2.0 . 
docker push bjd145/whatos:2.0 

Deploy

  • deploy/istio-codedeploy.yaml - A basic deployment example
  • deploy/istio-ssl.yaml - An basic deployment example with an TLS protected Istio Virtual Service
  • deploy/istio-canary-release-*percent.yaml - An example Canary release utilizaing Istio Virtual Service weighted routing

Tracing Example

Setup Infrastructure

cd ./infrastructure 
task up 

Code Build

cd code/tracing
docker build -t bjd145/whatos-jaeger:3.0 .
docker push bjd145/whatos-jaeger:3.0

Deploy

  • deploy/istio-jaeger.yaml - An example using Istio with Jaeger for Distributive Tracing via Open Telemetry

Test

  • ./scripts/test.sh

Secure gRPC Examples

Setup Infrastructure

cd ./infrastructure 
task up 

Code Build

cd code/tracing
docker build -t bjd145/hello-service:3352bdfde61d . 
docker push bjd145/hello-service:3352bdfde61d

Deploy

bash ./scripts/create-tls-secret.sh -n istio-gateway -c ~/wildcard.local.cer -k ~/wildcard.local.key -s httpbin-credential
bash ./scripts/create-tls-secret.sh -n hellogrpc -c ~/example.local.cer -k ~/example.local.key
kubectl apply -f ./deploy/grpc/hello-example.yaml

Test

About

Learning Istio

License:MIT License


Languages

Language:Go 58.5%Language:C# 25.3%Language:Shell 10.0%Language:Dockerfile 6.2%