Skip to content

Commit 59585f3

Browse files
authored
Merge pull request #41 from Revolyssup/workshop
update Workshop
2 parents 9492bfe + 748f330 commit 59585f3

23 files changed

+527
-450
lines changed

lab-1/README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,16 @@ Using Meshery, select Istio from the `Management` menu.
2424
In the Istio management page:
2525

2626
1. Type `istio-system` into the namespace field.
27-
1. Click the (+) icon on the `Install` card and select `Latest Istio` to install the latest version of Istio.
27+
2. Click the (+) icon on the `Install` card and click on `Istio Service Mesh` to install latest version of Istio.
2828

29-
<a href="img/install-istio.png">
30-
<img src="img/install-istio.png" width="50%" align="center" />
29+
<a href="img/install-istio1.png">
30+
<img src="img/install-istio1.png" width="50%" align="center" />
31+
</a>
32+
33+
3. Click the `Deploy` button on the confirmation modal.
34+
35+
<a href="img/install-istio2.png">
36+
<img src="img/install-istio2.png" width="50%" align="center" />
3137
</a>
3238

3339
<h2>

lab-1/img/install-istio1.png

143 KB
Loading

lab-1/img/install-istio2.png

90.5 KB
Loading

lab-2/README.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ Output:
4848
NAME DATA AGE
4949
istio-sidecar-injector 2 9h
5050
```
51+
#### Enable automatic sidecar injection
52+
Using Meshery, navigate to the Istio management page.
53+
1. Enter `default` in the namespace field.
54+
2. Then click on `+` under `Apply Service Mesh Configuration` and click on `Automatic Sidecar injection`
55+
<a href="img/sidecar-injection.png">
56+
<img src="img/sidecar-injection.png" width="50%" align="center" />
57+
</a>
58+
5159

5260
NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the [selector](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors).
5361

@@ -65,14 +73,15 @@ kube-public Active 1h
6573
kube-system Active 1h
6674
```
6775

76+
77+
6878
Using Meshery, navigate to the Istio management page.
6979

7080
1. Enter `default` in the `Namespace` field.
7181
1. Click the (+) icon on the `Sample Application` card and select `BookInfo Application` from the list.
7282

73-
This will do 3 things:
83+
This will do 2 things:
7484

75-
1. Label `default` namespace for sidecar injection.
7685
1. Deploys all the BookInfo services in the `default` namespace.
7786
1. Deploys the virtual service and gateway needed to expose the BookInfo's productpage application in the `default` namespace.
7887

lab-2/img/sidecar-injection.png

28.9 KB
Loading

lab-3/README.md

Lines changed: 69 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ kubectl get pods -n istio-system
1919
Copy and paste your ingress gateway's pod name. Execute:
2020

2121
```sh
22-
kubectl -n istio-system exec -it <istio-ingressgateway-...> bash
22+
kubectl -n istio-system exec -it <istio-ingressgateway-...> -- bash
2323
```
2424

2525
You can view the statistics, listeners, routes, clusters and server info for the Envoy proxy by forwarding the local port:
@@ -93,70 +93,74 @@ Docker Desktop users please use `http://localhost/productpage` to access product
9393

9494
Before we start playing with Istio's traffic management capabilities we need to define the available versions of the deployed services. They are called subsets, in destination rules.
9595

96-
Using Meshery, navigate to the Custom yaml page, and apply the below to create the subsets for BookInfo:
97-
98-
```sh
99-
apiVersion: networking.istio.io/v1alpha3
100-
kind: DestinationRule
101-
metadata:
102-
name: productpage
103-
spec:
104-
host: productpage
105-
subsets:
106-
- name: v1
107-
labels:
108-
version: v1
109-
---
110-
apiVersion: networking.istio.io/v1alpha3
111-
kind: DestinationRule
112-
metadata:
113-
name: reviews
114-
spec:
115-
host: reviews
116-
subsets:
117-
- name: v1
118-
labels:
119-
version: v1
120-
- name: v2
121-
labels:
122-
version: v2
123-
- name: v3
124-
labels:
125-
version: v3
126-
---
127-
apiVersion: networking.istio.io/v1alpha3
128-
kind: DestinationRule
129-
metadata:
130-
name: ratings
131-
spec:
132-
host: ratings
133-
subsets:
134-
- name: v1
135-
labels:
136-
version: v1
137-
- name: v2
138-
labels:
139-
version: v2
140-
- name: v2-mysql
141-
labels:
142-
version: v2-mysql
143-
- name: v2-mysql-vm
144-
labels:
145-
version: v2-mysql-vm
146-
---
147-
apiVersion: networking.istio.io/v1alpha3
148-
kind: DestinationRule
149-
metadata:
150-
name: details
151-
spec:
152-
host: details
153-
subsets:
154-
- name: v1
155-
labels:
156-
version: v1
157-
- name: v2
158-
labels:
159-
version: v2
96+
Using Meshery, navigate to the designs page under configuration and import the below design. Make sure Istio adapter is running.
97+
98+
```sh
99+
name: WorkshopIstio
100+
services:
101+
reviews:
102+
name: reviews
103+
type: DestinationRule.Istio
104+
version: 1.12.9
105+
namespace: default
106+
settings:
107+
host: reviews
108+
subsets:
109+
- labels:
110+
version: v1
111+
name: v1
112+
- labels:
113+
version: v2
114+
name: v2
115+
- labels:
116+
version: v3
117+
name: v3
118+
details:
119+
name: details
120+
type: DestinationRule.Istio
121+
namespace: default
122+
version: 1.12.9
123+
settings:
124+
host: details
125+
subsets:
126+
- labels:
127+
version: v1
128+
name: v1
129+
- labels:
130+
version: v2
131+
name: v2
132+
ratings:
133+
name: ratings
134+
type: DestinationRule.Istio
135+
version: 1.12.9
136+
namespace: default
137+
settings:
138+
host: ratings
139+
subsets:
140+
- labels:
141+
version: v1
142+
name: v1
143+
- labels:
144+
version: v2
145+
name: v2
146+
- labels:
147+
version: v2-mysql
148+
name: v2-mysql
149+
- labels:
150+
version: v2-mysql-vm
151+
name: v2-mysql-vm
152+
productpage:
153+
name: productpage
154+
type: DestinationRule.Istio
155+
namespace: default
156+
version: 1.12.9
157+
settings:
158+
host: productpage
159+
subsets:
160+
- labels:
161+
version: v1
162+
name: v1
163+
160164
```
161165
This creates destination rules for each of the BookInfo services and defines version subsets
162166

lab-3/bookinfo-design-dr.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: WorkshopIstio
2+
services:
3+
reviews:
4+
name: reviews
5+
type: DestinationRule.Istio
6+
version: 1.12.9
7+
namespace: default
8+
settings:
9+
host: reviews
10+
subsets:
11+
- labels:
12+
version: v1
13+
name: v1
14+
- labels:
15+
version: v2
16+
name: v2
17+
- labels:
18+
version: v3
19+
name: v3
20+
details:
21+
name: details
22+
type: DestinationRule.Istio
23+
namespace: default
24+
version: 1.12.9
25+
settings:
26+
host: details
27+
subsets:
28+
- labels:
29+
version: v1
30+
name: v1
31+
- labels:
32+
version: v2
33+
name: v2
34+
ratings:
35+
name: ratings
36+
type: DestinationRule.Istio
37+
version: 1.12.9
38+
namespace: default
39+
settings:
40+
host: ratings
41+
subsets:
42+
- labels:
43+
version: v1
44+
name: v1
45+
- labels:
46+
version: v2
47+
name: v2
48+
- labels:
49+
version: v2-mysql
50+
name: v2-mysql
51+
- labels:
52+
version: v2-mysql-vm
53+
name: v2-mysql-vm
54+
productpage:
55+
name: productpage
56+
type: DestinationRule.Istio
57+
namespace: default
58+
version: 1.12.9
59+
settings:
60+
host: productpage
61+
subsets:
62+
- labels:
63+
version: v1
64+
name: v1

lab-3/destination-rules.yaml

Lines changed: 0 additions & 62 deletions
This file was deleted.

lab-4/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@
44

55
Using Meshery, install Istio telemetry add-ons. In the Istio management page:
66

7-
1. Click the (+) icon on the `Apply Service Mesh Configuration` card.
8-
1. Select each of the following add-ons:
7+
1. Toggle each of the following add-ons:
98
1. [Prometheus](https://prometheus.io/)
109
1. [Grafana](https://grafana.com/)
1110
1. [Jaeger](https://www.jaegertracing.io/)
1211

13-
<a href="img/istio-add-ons.png">
14-
<img src="img/istio-add-ons.png" width="50%" align="center" />
12+
<a href="img/istio-addons.png">
13+
<img src="img/istio-addons.png" width="50%" align="center" />
1514
</a>
1615

1716
You will use Prometheus and Grafana for collecting and viewing metrics and [Jaeger](https://www.jaegertracing.io/) collecting and viewing distributed traces. Expose each add-on external to the cluster. Each the service network typs are set to "LoadBalancer".

lab-4/img/istio-addons.png

24.7 KB
Loading

0 commit comments

Comments
 (0)