Skip to content

Commit

Permalink
chore: update images to use kurtosistech repo (#146)
Browse files Browse the repository at this point in the history
  • Loading branch information
lostbean authored Aug 14, 2024
1 parent ff41500 commit f1ebca2
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 22 deletions.
58 changes: 39 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
![Kardi B](https://kardinal.dev/_next/static/media/kardinal-orange.65ea335b.png)

## Guide

1. [What is Kardinal?](https://github.com/kurtosis-tech/kardinal/?tab=readme-ov-file#what-is-kardinal)
2. [Playground](https://github.com/kurtosis-tech/kardinal/?tab=readme-ov-file#try-it-out-in-a-playground)
3. [Quick start](https://github.com/kurtosis-tech/kardinal/?tab=readme-ov-file#quick-start-with-a-demo-application)
Expand All @@ -16,12 +17,12 @@ Kardinal allows you to create many logical dev or test environments for your app

There are many ways to isolate different environments in the context of cloud/Kubernetes deployments. To get an idea of how Kardinal fits into other methods, see the table below:

| Isolation method | Level of Isolation | Cost | # of Duplicated Resources |
| :--- | :--- | :--- | :--- |
| Separate VPCs | Most coarse-grained | Highest Cost | Highest |
| Separate Kubernetes Clusters | Coarse-grained | High Cost | High |
| Separate Namespaces (vclusters) | Fine-grained | Low Cost | Low |
| Separate Traffic Routes (Kardinal) | Most fine-grained | Lowest Cost | Lowest |
| Isolation method | Level of Isolation | Cost | # of Duplicated Resources |
| :--------------------------------- | :------------------ | :----------- | :------------------------ |
| Separate VPCs | Most coarse-grained | Highest Cost | Highest |
| Separate Kubernetes Clusters | Coarse-grained | High Cost | High |
| Separate Namespaces (vclusters) | Fine-grained | Low Cost | Low |
| Separate Traffic Routes (Kardinal) | Most fine-grained | Lowest Cost | Lowest |

Read more in our [docs](https://kardinal.dev/docs).

Expand All @@ -31,7 +32,6 @@ We have a playground that runs in Github Codespaces so you can try Kardinal righ

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=818205437&skip_quickstart=true&machine=standardLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json)


## Quick start with a demo application

If you want to get started with your own application, check out [our docs](https://kardinal.dev/docs/getting-started/install).
Expand All @@ -49,32 +49,40 @@ Before getting started make sure you have the following installed:

The last prerequisite is you'll need to run Minikube with Istio enabled. To do this, run the following:

```
```bash
minikube start --driver=docker --cpus=10 --memory 8192 --disk-size 32g;
minikube addons enable ingress;
minikube addons enable metrics-server;
istioctl install --set profile=default -y;
```

### Step 1: Install Kardinal

To install Kardinal, run the following command:

```curl get.kardinal.dev -sL | sh```
```bash
curl get.kardinal.dev -sL | sh
```

### Step 2: Deploy the Kardinal Manager to your cluster

`kardinal manager deploy kloud-kontrol`
```bash
kardinal manager deploy kloud-kontrol
```

### Step 3: Deploy the demo app

Since this guide is using minikube, you'll need to set up the minikube tunnel to access the frontend of the application you're about to deploy:

`minikube tunnel`
```bash
minikube tunnel
```

You can leave the tunnel running. In a new terminal window, deploy the demo app via Kardinal:

```
curl https://raw.githubusercontent.com/kurtosis-tech/new-obd/main/release/obd-kardinal.yaml > ./obd-kardinal.yaml;
kardinal deploy obd-kardinal.yaml
```bash
curl https://raw.githubusercontent.com/kurtosis-tech/new-obd/main/release/obd-kardinal.yaml > ./obd-kardinal.yaml
kardinal deploy -k ./obd-kardinal.yaml
```

You can view the frontend of the demo app by going to:
Expand All @@ -85,7 +93,9 @@ Feel free to click around, add items to your cart, and shop!

The Kardinal dashboard will show the architecture of your application, along with any logical environments (flows) you create on top of it. To view the dashboard, run:

`kardinal dashboard`
```bash
kardinal dashboard
```

and click on the "Traffic configuration" sidebar item.

Expand All @@ -95,30 +105,40 @@ Create a new flow by specifying a service name and a container image.

Here is an example of creating a dev flow for the frontend service, using an image we've prepared for this demo:

`kardinal flow create frontend leoporoli/newobd-frontend:0.0.6`
```bash
kardinal flow create frontend kurtosistech/frontend:demo-frontend
```

This command will output a URL that you can use to access the frontend of the development environment. You can view the frontend of the application by going to the URL provided.

Notice that there are already items in your cart in the development environment. We've configured the development "flow" in this demo to run with it's own database which is seeded with test data. This demonstrates how dev flows can be configured with the data that the development team needs to do their testing work.

To inspect the resources in your cluster, and see how Kardinal is reusing resources in your stable environment in the dev environment, go to the dashboard again:

`kardinal dashboard`
```bash
kardinal dashboard
```

and click on the "Traffic configuration" sidebar item.

### Step 5: Clean up your development flow

When you're done with your development flow, you can delete it by running:

`kardinal flow delete <flow_id>`
```bash
kardinal flow delete <flow_id>
```

The flow_id is in the output of the kardinal flow create command, but if you've lost it, you can get it again by running:

`kardinal flow ls`
```bash
kardinal flow ls
```

Once you've deleted the flow, you can verify that the resources have been cleaned up by going to the dashboard again.

### Ready to test on your own application?

Check out [our docs](https://kardinal.dev/docs/getting-started/install) to learn how.

## Helpful links
Expand Down
6 changes: 3 additions & 3 deletions website/app/docs/getting-started/own-app/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ kardinal flow create <service-name> <your/new-dev-image:dev>

You should see some output like:
```bash
kardinal flow create frontend leoporoli/newobd-frontend:dev
kardinal flow create frontend kurtosistech/frontend:demo-frontend
INFO[0000] Using tenant UUID 483e3371-ec18-40ca-aaee-54df597d1fd2
INFO[0000] Creating service frontend with image leoporoli/newobd-frontend:dev in development mode...
INFO[0000] Creating service frontend with image kurtosistech/frontend:demo-frontend in development mode...
Flow "dev-qlm1214pgt" created. Access it on:
🌐 http://dev-qlm1214pgt.app.localhost
```
Expand All @@ -112,4 +112,4 @@ INFO[0000] Using tenant UUID 483e3371-ec18-40ca-aaee-54df597d1fd2
2024/08/07 13:50:52 Starting gateway for host: dev-qlm1214pgt.app.localhost
2024/08/07 13:50:52 All pods in namespace prod are ready and flowId dev-qlm1214pgt found
2024/08/07 13:50:52 Proxy server for host dev-qlm1214pgt.app.localhost started on http://localhost:9060
```
```

0 comments on commit f1ebca2

Please sign in to comment.