Skip to content

Scripts that helps to set up the experiment environment

Notifications You must be signed in to change notification settings

SkyAPMTest/sw-als-vm-demo-scripts

Repository files navigation

This repo contains the scripts that help to set up an experiment environment to test the solution of Apache SkyWalking + Envoy Access Log Service (ALS) for observability of hybrid (Kubernetes + VM) service mesh.

.
├── env.sh                                // contains variables that will be used through the entire process, open and edit as per your own scenario, make sure not to use ISTIO_VERSION = 1.8.0/1.8.1 due to https://github.com/istio/istio/issues/28901
├── 00-create-cluster-and-vms.sh          // creates a GKE cluster and 2 GCP instance, is supposed to be executed at most once, or if you already have running clusters and VMs, this is optional
├── 01a-install-istio.sh                  // installs Istio with VM support enabled, ALS enabled and sets the ALS address to Apache SkyWalking receiver
├── 01b-install-skywalking.sh             // installs Apache SkyWalking in istio-system namespace
├── 02-create-files-to-transfer-to-vm.sh  // creates necessary files that will be used to initialize the VMs
├── 03-copy-work-files-to-vm.sh           // securely transfers the files generated above to the VM
├── 04a-deploy-demo-app.sh                // deploys the GoogleCloudPlatform/microservices-demo demo services without CheckoutService and PaymentService, which will be deployed manually on VM
├── 04b-register-vm-with-istio.sh         // registers the VM/services to the service mesh so that Kubernetes service can access VM services via FQDN
├── README.md                             // 
├── resources                             // 
│   ├── clean-vm.sh                       // (run on VM) cleans up the VM after experiment
│   ├── deploy-checkoutservice.sh         // (run on VM) clones, builds and deploys the CheckoutService in VM
│   ├── deploy-paymentservice.sh          // (run on VM) clones, builds and deploys the PaymentSService in VM
│   ├── dns                               // 
│   │   ├── dnsmasq.conf                  // (used on VM) configures the `dnsmasq.service` to resolve the FQDN (such as httpbin.default.svc.cluster.clocal)
│   │   └── resolved.conf                 // (used on VM) configures the `resolved.service` to resolve the FQDN (such as httpbin.default.svc.cluster.clocal)
│   ├── google-demo.yaml                  // (used on VM) the GoogleCloudPlatform/microservices-demo demo services without CheckoutServices and PaymentService
│   ├── prep-checkoutservice.sh           // (run on VM) prepares the VM where the CheckoutService will be deployed
│   ├── prep-paymentservice.sh            // (run on VM) prepares the VM where the PaymentService will be deployed
│   └── vmintegration.yaml                // YAML file that enables `meshExpansion`, `EnvoyAccessLogService` and sets ALS address
└── ssh.sh                                // helps to ssh log into the VM, ./ssh.sh checkoutservice and ./ssh.sh paymentservice

For more details about how to use this repo, please refer to the blog post that firstly uses this repo to demonstrate.

About

Scripts that helps to set up the experiment environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages