GithubHelp home page GithubHelp logo

solo-testbed's Introduction

solo-testbed

This repo is meant to demonstrate how to deploy and manage solo.io products with a declarative GitOps based approach using argoCD

Prerequisites

  • Kubernetes clusters up and authenticated to kubectl

kubectl contexts

Since we will potentially be using multiple clusters/contexts, it is useful to rename your contexts for a better experience

kubectl config get-contexts
kubectl config rename-contexts <current_name> <new_name>
export CONTEXT=<new_name>

First step! - bootstrap argocd

argoCD is required to be deployed on each cluster if you want to deploy the applications below

To install argoCD:

cd argocd
install-argocd.sh ${CONTEXT}

script arguments

There are a few argument options you have when deploying the scripts below

CONTEXT = name of the cluster context you are deploying to
FEATURES = enterprise edition features such as `fed` or `nofed` where applicable

Deploy argoCD demos

To install gloo-edge demo:

cd gloo-edge

# For gloo edge enterprise
./install-gloo-edge-enterprise-aoa.sh ${CONTEXT} ${FEATURES}

# For gloo edge oss
./install-gloo-edge-oss-aoa.sh ${CONTEXT}

To install gloo-mesh demo:

cd gloo-mesh
./install-gloo-mesh.sh ${CONTEXT} ${FEATURES}

To install upstream istio demo:

cd istio
./install-istio-aoa.sh ${CONTEXT}

To install istioinaction workshop demo:

cd istioinaction-workshop
./install-istioinaction-aoa.sh ${CONTEXT}

access argoCD UI

using port forward:

kubectl port-forward svc/argocd-server -n argocd 8080:443

argoCD credentials

Access the argoCD UI at (http://localhost:8080) with the credentials admin/solo.io

access bookinfo on istio-ingressgateway

Access the bookinfo app with the command below:

echo for kind deployments:
echo access bookinfo app here: "http://$(kubectl --context ${CONTEXT} -n istio-system get svc istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')/productpage"
echo for cloud deployments:
echo access bookinfo app here: "http://$(kubectl --context ${CONTEXT} -n istio-system get svc istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')/productpage"

Uninstall

./uninstall.sh ${CONTEXT}

useful curl commands

Header match:
curl -H "Host: petstore.solo.io" -H "header1: value1" $(glooctl proxy url)/all-pets -v

Exact path match:
curl -H "Host: petstore.solo.io" $(glooctl proxy url)/all-pets -v

Prefix path match:
curl -H "Host: petstore.solo.io" $(glooctl proxy url)/foo -v

httpbin curl:
curl -H "Host: httpbin.solo.io" $(glooctl proxy url)/headers -v

bookinfo curl:
curl $(glooctl proxy url)/productpage -v 

solo-testbed's People

Contributors

ably77 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.