From f52e1125a758a6ec3b223bf58f87781a568943e8 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 01:26:51 +0200 Subject: [PATCH 01/21] Spelling correction --- 02-Traffic_management/02-DirectResponse-HTTP-Body/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md b/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md index b07c498..fced524 100755 --- a/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md +++ b/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md @@ -111,7 +111,7 @@ The configuration set, targets the [gateway created](#gateway) as well of not li We configure 2 rules for HTTP traffic (this includes `HTTPS` and `HTTP2`, this will be my last warning about this). -The first rule configure will match when the requested path is `/helloworld`. +The first rule configured will match when the requested path is `/helloworld`. This traffic will be forwarded to the service `helloworld.default.svc.cluster.local` with port `80`. -- 2.47.2 From b37c523c397b95a3a6a833eec29beb09e49198f7 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 01:33:08 +0200 Subject: [PATCH 02/21] Spelling correction --- 02-Traffic_management/01-header_routing/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/02-Traffic_management/01-header_routing/README.md b/02-Traffic_management/01-header_routing/README.md index eb637bb..97fa6aa 100755 --- a/02-Traffic_management/01-header_routing/README.md +++ b/02-Traffic_management/01-header_routing/README.md @@ -342,7 +342,7 @@ virtualservice.networking.istio.io/helloworld-vs created ## Wait for the pods to be ready -Wait for the Apache and Nginx deployments to be up and ready. +Wait for the Apache, Nginx and Whoami deployments to be up and ready. ```shell watch -n 2 kubectl get deployment helloworld-v{0..2} -- 2.47.2 From 4e0f4ba05d2374c35376eea062bc4173d9ae8aaa Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 01:41:42 +0200 Subject: [PATCH 03/21] 03-HTTPRewrite documented --- .../{deployment.yaml => Deployment.yaml} | 15 - .../03-HTTPRewrite/README.md | 260 +++++++++++++++++- .../03-HTTPRewrite/Service.yaml | 13 + .../03-HTTPRewrite/VirtualService.yaml | 26 ++ .../03-HTTPRewrite/gateway.yaml | 22 -- 5 files changed, 297 insertions(+), 39 deletions(-) rename 02-Traffic_management/03-HTTPRewrite/{deployment.yaml => Deployment.yaml} (63%) create mode 100644 02-Traffic_management/03-HTTPRewrite/Service.yaml create mode 100644 02-Traffic_management/03-HTTPRewrite/VirtualService.yaml diff --git a/02-Traffic_management/03-HTTPRewrite/deployment.yaml b/02-Traffic_management/03-HTTPRewrite/Deployment.yaml similarity index 63% rename from 02-Traffic_management/03-HTTPRewrite/deployment.yaml rename to 02-Traffic_management/03-HTTPRewrite/Deployment.yaml index 01dd2b0..233fd2c 100755 --- a/02-Traffic_management/03-HTTPRewrite/deployment.yaml +++ b/02-Traffic_management/03-HTTPRewrite/Deployment.yaml @@ -1,18 +1,3 @@ -# https://github.com/istio/istio/blob/master/samples/helloworld/helloworld.yaml -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld - service: helloworld -spec: - ports: - - port: 80 - name: http - selector: - app: helloworld ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/02-Traffic_management/03-HTTPRewrite/README.md b/02-Traffic_management/03-HTTPRewrite/README.md index 0204f98..edcfc2f 100755 --- a/02-Traffic_management/03-HTTPRewrite/README.md +++ b/02-Traffic_management/03-HTTPRewrite/README.md @@ -1,8 +1,260 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +Based on the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), we configure the [VirtualService](#virtualservice) to internally rewrite the destination URL. + +This is useful, as if for example we have a rule that targets the traffic with destination path `/helloworld`, when we connect to the backend, the path that the request contains will also be `/helloworld`, and unless the destination service is already build around this and/or is ready to manage traffic with such destination, we will receive a status code 404 meaning that the page destination was not found. + +If we internally rewrite such traffic to the root directory (`/`), we can interact with the root path from the destination service without issues, without the need of specifically altering the behavior of the destination service due this architectural requirement. + +Additionally, we also configure a second rule that won't have the URL path rewrite configured, as it will allow us to compare the behaviors. + +This example configures: + + Generic Kubernetes resources: + - 1 Service + - 1 Deployments + + Istio resources: + - 1 Gateway + - 1 Virtual Service + + +# Based on + +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) + +# Configuration + +## Service + +Creates a service named `helloworld`. + +This service listens for the port `80` expecting `HTTP` traffic and will forward the incoming traffic towards the port `80` from the destination pod. + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld +``` + +## Deployment + +Deploys a Nginx server that listens for the port `80`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` + +## Gateway + +Deploys an Istio gateway that's listening to the port `80` for `HTTP` traffic. + +It doesn't filter for any specific host. + +The `selector` field is used to "choose" which Istio Load Balancers will have this gateway assigned to. + +The Istio `default` profile creates a Load Balancer in the namespace `istio-system` that has the label `istio: ingressgateway` set, allowing us to target that specific Load Balancer and assign this gateway resource to it. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +## VirtualService + +The configuration set, targets the [gateway created](#gateway) as well of not limiting the traffic to any specific host. + +We configure 2 HTTP rules. + +The first rule will match when the requested path is `/helloworld`. + +Internally, we will rewrite the URL path, from `/helloworld` to `/`, as otherwise it will result in status code 404 due not containing such destination in the service, since we are using the default Nginx image. + +The second rule will math with the path `/norewrite`, and won't have the rewrite URL path setting configured. This rule will be used to compare behaviors. + + +Both rules will connect with the backend service `helloworld.default.svc.cluster.local` with port `80`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + - match: + - uri: + exact: /norewrite + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 +``` + +# Walkthrough + +## Deploy resources + +Deploy the resources. + +```shell +kubectl apply -f ./ +``` +```text +deployment.apps/helloworld-nginx created +service/helloworld created +virtualservice.networking.istio.io/helloworld-vs created +gateway.networking.istio.io/helloworld-gateway created +``` + +## Wait for the pods to be ready + +Wait for the Nginx deployment to be up and ready. + +```shell +kubectl get deployment helloworld-nginx -w +``` +```text +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-nginx 1/1 1 1 2m47s +``` + +## Test the service + +### Get LB IP + +To perform the desired tests, we will need to obtain the IP Istio Load Balancer that we selected in the [Gateway section](#gateway). + +On my environment, the IP is the `192.168.1.50`. + +```shell +kubectl get svc -l istio=ingressgateway -A +``` +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.97.47.216 192.168.1.50 15021:31316/TCP,80:32012/TCP,443:32486/TCP 39h +``` + +### helloworld + +Due to rewriting the URL path internally, we are able to connect to the backend root path (`/`) + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +### norewrite + +As expected, due the backend service not having a destination path named `/norewrite`, we receive a status code 404 as well of their pertinent service error page. + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

404 Not Found

+``` + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +deployment.apps "helloworld-nginx" deleted +service "helloworld" deleted +virtualservice.networking.istio.io "helloworld-vs" deleted +gateway.networking.istio.io "helloworld-gateway" deleted +``` + +# Links of interest + +- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPDirectResponse + +- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPBody + + + + + + + + + + + + -# Continues from -- 01-hello_world_1_service_1_deployment # There were no changes respective to that version @@ -13,6 +265,10 @@ Through rewriting the URI we can point to the root directory from nginx. uri: "/" ``` + + + + ## The idea is that this rewrite is handled "internally" by Istio, not by the Client that started the request diff --git a/02-Traffic_management/03-HTTPRewrite/Service.yaml b/02-Traffic_management/03-HTTPRewrite/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/02-Traffic_management/03-HTTPRewrite/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/02-Traffic_management/03-HTTPRewrite/VirtualService.yaml b/02-Traffic_management/03-HTTPRewrite/VirtualService.yaml new file mode 100644 index 0000000..9155ab0 --- /dev/null +++ b/02-Traffic_management/03-HTTPRewrite/VirtualService.yaml @@ -0,0 +1,26 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + - match: + - uri: + exact: /norewrite + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 diff --git a/02-Traffic_management/03-HTTPRewrite/gateway.yaml b/02-Traffic_management/03-HTTPRewrite/gateway.yaml index 838bef9..456e384 100755 --- a/02-Traffic_management/03-HTTPRewrite/gateway.yaml +++ b/02-Traffic_management/03-HTTPRewrite/gateway.yaml @@ -1,4 +1,3 @@ -# https://github.com/istio/istio/blob/master/samples/helloworld/helloworld-gateway.yaml apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: @@ -13,24 +12,3 @@ spec: protocol: HTTP hosts: - "*" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld.default.svc.cluster.local - port: - number: 80 - rewrite: - uri: "/" \ No newline at end of file -- 2.47.2 From f3fa2372febefbc41b78debc75f303185ceb660f Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 01:41:47 +0200 Subject: [PATCH 04/21] Spelling correction --- 02-Traffic_management/02-DirectResponse-HTTP-Body/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md b/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md index fced524..72c7547 100755 --- a/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md +++ b/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md @@ -176,9 +176,8 @@ Wait for the Apache and Nginx deployments to be up and ready. kubectl get deployment helloworld-nginx -w ``` ```text -NAME READY UP-TO-DATE AVAILABLE AGE -helloworld-v1 1/1 1 1 4m1s -helloworld-v2 1/1 1 1 4m1s +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-nginx 1/1 1 1 9s ``` ## Test the service -- 2.47.2 From 113ed7517756ae5af9c0ddc40393b8ea3f9df855 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 01:42:27 +0200 Subject: [PATCH 05/21] 03-HTTPRewrite documented --- .../03-HTTPRewrite/README.md | 70 +------------------ 1 file changed, 1 insertion(+), 69 deletions(-) diff --git a/02-Traffic_management/03-HTTPRewrite/README.md b/02-Traffic_management/03-HTTPRewrite/README.md index edcfc2f..0be9df1 100755 --- a/02-Traffic_management/03-HTTPRewrite/README.md +++ b/02-Traffic_management/03-HTTPRewrite/README.md @@ -237,72 +237,4 @@ gateway.networking.istio.io "helloworld-gateway" deleted # Links of interest -- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPDirectResponse - -- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPBody - - - - - - - - - - - - - - - - -# There were no changes respective to that version - -Through rewriting the URI we can point to the root directory from nginx. - -```yaml - rewrite: - uri: "/" -``` - - - - - -## The idea is that this rewrite is handled "internally" by Istio, not by the Client that started the request - - -## Practical usages: - - - -If we refactor our application, and for example we previously where hosting an API to the URL `/apiV1` and now it's being hosted in `/api/V1`, we can do the following rule: - - -```yaml - - match: - - uri: - exact: /apiV1 - route: - - destination: - host: mynewapi # the service destination/target - port: - number: 80 # whatever port it is - rewrite: - uri: "/api/V1" -``` - -Or if we "upgraded" the API, and the new API (v2) is retro-compatible with the old API (v1), we could do the following to force all the usages from the old API to be handled by the newer version: - -```yaml - - match: - - uri: - exact: /api/V1 - route: - - destination: - host: mynewapi # the service destination/target - port: - number: 80 # whatever port it is - rewrite: - uri: "/api/V2" -``` +- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRewrite -- 2.47.2 From 6b0b62b6a9bf0cbee683ccfbea63efe2ac6f164b Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 02:32:06 +0200 Subject: [PATCH 06/21] 04-HTTPRedirect --- .../04-HTTPRedirect/Gateway.yaml | 14 + .../04-HTTPRedirect/README.md | 254 ++++++++++++++++++ .../04-HTTPRedirect/VirtualService.yaml | 33 +++ .../04-HTTPRedirect/deployment.yaml | 40 --- .../04-HTTPRedirect/gateway.yaml | 58 ---- .../04-HTTPRedirect/src/img.png | Bin 0 -> 285531 bytes .../04-HTTPRedirect/src/img_1.png | Bin 0 -> 133348 bytes .../04-HTTPRedirect/src/img_2.png | Bin 0 -> 133348 bytes .../{gateway.yaml => Gateway.yaml} | 0 .../01-Create-Istio-LoadBalancer/README.md | 6 +- 10 files changed, 304 insertions(+), 101 deletions(-) create mode 100755 02-Traffic_management/04-HTTPRedirect/Gateway.yaml create mode 100644 02-Traffic_management/04-HTTPRedirect/VirtualService.yaml delete mode 100755 02-Traffic_management/04-HTTPRedirect/deployment.yaml delete mode 100755 02-Traffic_management/04-HTTPRedirect/gateway.yaml create mode 100644 02-Traffic_management/04-HTTPRedirect/src/img.png create mode 100644 02-Traffic_management/04-HTTPRedirect/src/img_1.png create mode 100644 02-Traffic_management/04-HTTPRedirect/src/img_2.png rename 09-Ingress/01-Create-Istio-LoadBalancer/{gateway.yaml => Gateway.yaml} (100%) diff --git a/02-Traffic_management/04-HTTPRedirect/Gateway.yaml b/02-Traffic_management/04-HTTPRedirect/Gateway.yaml new file mode 100755 index 0000000..bbd9d67 --- /dev/null +++ b/02-Traffic_management/04-HTTPRedirect/Gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" \ No newline at end of file diff --git a/02-Traffic_management/04-HTTPRedirect/README.md b/02-Traffic_management/04-HTTPRedirect/README.md index c28e398..3b6ec0c 100755 --- a/02-Traffic_management/04-HTTPRedirect/README.md +++ b/02-Traffic_management/04-HTTPRedirect/README.md @@ -1,3 +1,257 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +Based on the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), we create multiple rules in the [VirtualService](#virtualservice) that will make usage of the `redirect` field to modify the request received and redirect the incoming request towards a new destination. + +This example configures: + + Istio resources: + - 1 Gateway + - 1 Virtual Service + +# Based on + +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) + +# Configuration + +## Gateway + +Deploys an Istio gateway that's listening to the port `80` for `HTTP` traffic. + +It doesn't filter for any specific host. + +The `selector` field is used to "choose" which Istio Load Balancers will have this gateway assigned to. + +The Istio `default` profile creates a Load Balancer in the namespace `istio-system` that has the label `istio: ingressgateway` set, allowing us to target that specific Load Balancer and assign this gateway resource to it. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +## VirtualService + +The configuration set, targets the [gateway created](#gateway) as well of not limiting the traffic to any specific host. + +We configure 3 HTTP rules. + +- to_https + +A practical example regarding modifying protocol used from the incoming traffic request. + +It will set the protocol used to `HTTPS`. + +> **Note:**\ +> Bear in mind that this example is not planned to be used `as it is` on production environments as other configurations should be applied, as an example you should target a specific source port. + +- wikipedia + +We are using the regex query `/wiki/?` to match the URL path, this rule allows us to target both `/wiki` and `/wiki/`. + +On this example we will redirect the traffic that accesses to this rule towards the Wikipedia page, as well the protocol will be modified and set to `HTTPS`. + +- wikipedia_search + +Very similar to the previous rule, we will match the traffic that, as a prefix of the URl used, as long it starts by `/wiki/`. + +More information about the behavior of ties rule will be seen in the [Walkthrough](#walkthrough) section. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - name: to_https + match: + - uri: + exact: /https + redirect: + scheme: "https" + + - name: wikipedia + match: + - uri: + regex: "/wiki/?" + redirect: + uri: "/" + scheme: "https" + authority: "en.wikipedia.org" + + - name: wikipedia_search + match: + - uri: + prefix: "/wiki/" + redirect: + scheme: "https" + authority: "en.wikipedia.org" +``` + +# Walkthrough + +## Deploy resources + +Deploy the resources. + +```shell +kubectl apply -f ./ +``` +```text +gateway.networking.istio.io/helloworld-gateway created +virtualservice.networking.istio.io/helloworld-vs created +``` + +## Test the rules + +### Get LB IP + +To perform the desired tests, we will need to obtain the IP Istio Load Balancer that we selected in the [Gateway section](#gateway). + +On my environment, the IP is the `192.168.1.50`. + +```shell +kubectl get svc -l istio=ingressgateway -A +``` +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.97.47.216 192.168.1.50 15021:31316/TCP,80:32012/TCP,443:32486/TCP 39h +``` + +### to_https + +We are receiving the status code `301` as the request is being modified. + +By default `curl` won't follow the redirects. + +```shell +curl 192.168.1.50/https -I +``` +```text +HTTP/1.1 301 Moved Permanently +location: https://192.168.1.50/https +date: Fri, 05 May 2023 00:15:41 GMT +server: istio-envoy +transfer-encoding: chunked +``` + +The flag `-L` can be used to allow `curl` to follow redirects, as well of `-v` to increase the verbosity to review the behavior. + +From the output received, we can see how the request initially points towards the port `80`. + +After receiving the status code `301`, we can see the following line `Clear auth, redirects to port from 80 to 443`, stating that there was a redirect that changed the destination port, from `80`, to `443`. + +As well, there is the line `Issue another request to this URL: 'https://192.168.1.50/https'`, which confirms that the protocol used, which previously was using `HTTP`, now is using `HTTPS`. + +This proves that the configuration set is currently being applied and works as intended. + +```shell +curl 192.168.1.50/https -L -v +``` + +```text +* Trying 192.168.1.50:80... +* Connected to 192.168.1.50 (192.168.1.50) port 80 (#0) +> GET /https HTTP/1.1 +> Host: 192.168.1.50 +> User-Agent: curl/8.0.1 +> Accept: */* +> +< HTTP/1.1 301 Moved Permanently +< location: https://192.168.1.50/https +< date: Fri, 05 May 2023 00:17:12 GMT +< server: istio-envoy +< content-length: 0 +< +* Connection #0 to host 192.168.1.50 left intact +* Clear auth, redirects to port from 80 to 443 +* Issue another request to this URL: 'https://192.168.1.50/https' +* Trying 192.168.1.50:443... +* connect to 192.168.1.50 port 443 failed: Connection refused +* Failed to connect to 192.168.1.50 port 443 after 0 ms: Couldn't connect to server +* Closing connection 1 +curl: (7) Failed to connect to 192.168.1.50 port 443 after 0 ms: Couldn't connect to server +``` + +### /wiki/ + +On this example I will be using the Firefox browser to access the destination path `/wiki/`. + +Which on accessing the path, it modified the request and forwarded the traffic towards the path `https://en.wikipedia.org/wiki`. + +After accessing such destination, Wikipedia will forward you to the path `/wiki/Main_Page`, as we didn't target any specific element from the wiki. + +```shell +firefox 192.168.1.50/wiki/ +``` +![img.png](src/img.png) + +### /wiki/* + +On this example I will be using the Firefox browser to access the destination path `/wiki/Istio` and `/wiki/Gitea`. + +This will forward us towards the pertinent wiki service, as meanwhile the domain is modified, the path remains the same, allowing us to match the right destination paths. + +```shell +firefox 192.168.1.50/wiki/Service_mesh +``` + +![img_1.png](src/img_1.png) + +```shell +firefox 192.168.1.50/wiki/Gitea +``` + +![img_2.png](src/img_2.png) + + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +gateway.networking.istio.io "helloworld-gateway" deleted +virtualservice.networking.istio.io "helloworld-vs" deleted +``` + +# Links of interest + +- https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRedirect + + + + + + + + + + + # Continues from diff --git a/02-Traffic_management/04-HTTPRedirect/VirtualService.yaml b/02-Traffic_management/04-HTTPRedirect/VirtualService.yaml new file mode 100644 index 0000000..746af1a --- /dev/null +++ b/02-Traffic_management/04-HTTPRedirect/VirtualService.yaml @@ -0,0 +1,33 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - name: to_https + match: + - uri: + exact: /https + redirect: + scheme: "https" + + - name: wikipedia + match: + - uri: + regex: "/wiki/?" + redirect: + uri: "/" + scheme: "https" + authority: "en.wikipedia.org" + + - name: wikipedia_search + match: + - uri: + prefix: "/wiki/" + redirect: + scheme: "https" + authority: "en.wikipedia.org" \ No newline at end of file diff --git a/02-Traffic_management/04-HTTPRedirect/deployment.yaml b/02-Traffic_management/04-HTTPRedirect/deployment.yaml deleted file mode 100755 index 01dd2b0..0000000 --- a/02-Traffic_management/04-HTTPRedirect/deployment.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# https://github.com/istio/istio/blob/master/samples/helloworld/helloworld.yaml -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld - service: helloworld -spec: - ports: - - port: 80 - name: http - selector: - app: helloworld ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: helloworld-nginx - labels: - app: helloworld -spec: - replicas: 1 - selector: - matchLabels: - app: helloworld - template: - metadata: - labels: - app: helloworld - spec: - containers: - - name: helloworld - image: nginx - resources: - requests: - cpu: "100m" - imagePullPolicy: IfNotPresent #Always - ports: - - containerPort: 80 diff --git a/02-Traffic_management/04-HTTPRedirect/gateway.yaml b/02-Traffic_management/04-HTTPRedirect/gateway.yaml deleted file mode 100755 index c1f16c5..0000000 --- a/02-Traffic_management/04-HTTPRedirect/gateway.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# https://github.com/istio/istio/blob/master/samples/helloworld/helloworld-gateway.yaml -apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: helloworld-gateway -spec: - selector: - istio: ingressgateway # use istio default controller - servers: - - port: - number: 80 - name: http - protocol: HTTP - hosts: - - "*" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld.default.svc.cluster.local - port: - number: 80 - rewrite: - uri: "/" - - name: to_https - match: - - uri: - exact: /https - scheme: http - redirect: - scheme: "https" - - name: wikipedia - match: - - uri: - exact: "/wiki" - redirect: - uri: "/" - scheme: "https" - authority: "en.wikipedia.org" - - name: wikipedia_search - match: - - uri: - prefix: "/wiki/" - redirect: - scheme: "https" - authority: "en.wikipedia.org" \ No newline at end of file diff --git a/02-Traffic_management/04-HTTPRedirect/src/img.png b/02-Traffic_management/04-HTTPRedirect/src/img.png new file mode 100644 index 0000000000000000000000000000000000000000..58d46f7d14dcfbae38d1d366b9b7344d7472e622 GIT binary patch literal 285531 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⩔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 z%0A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�VMctYdviKD@YDcYfo_za7%a_ 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 N69WrTUyLXCZ! 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 literal 0 HcmV?d00001 diff --git a/02-Traffic_management/04-HTTPRedirect/src/img_2.png b/02-Traffic_management/04-HTTPRedirect/src/img_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b86b2a1b30f83ece5024ab83d1e20cb81c18e6af GIT binary patch literal 133348 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 literal 0 HcmV?d00001 diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml b/09-Ingress/01-Create-Istio-LoadBalancer/Gateway.yaml similarity index 100% rename from 09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml rename to 09-Ingress/01-Create-Istio-LoadBalancer/Gateway.yaml diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/README.md b/09-Ingress/01-Create-Istio-LoadBalancer/README.md index bdf9255..dbc677d 100644 --- a/09-Ingress/01-Create-Istio-LoadBalancer/README.md +++ b/09-Ingress/01-Create-Istio-LoadBalancer/README.md @@ -6,7 +6,7 @@ include_toc: true # Based on -- [01-hello_world_1_service_1_deployment](../../01-Getting%20Started/01-hello_world_1_service_1_deployment) +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) # Description @@ -108,7 +108,7 @@ Thank you for installing Istio 1.17. Please take a few minutes to tell us about ### Deploy gateway ```shell -kubectl apply -f gateway.yaml +kubectl apply -f Gateway.yaml ``` ```text @@ -162,7 +162,7 @@ x-envoy-upstream-service-time: 15 ```shell kubectl delete -f ./deployment-nomtls.yaml -kubectl delete -f ./gateway.yaml +kubectl delete -f ./Gateway.yaml ``` ```text service "helloworld" deleted -- 2.47.2 From 54025a55ddfb4fe5eb6edd43b9cab0d5876d3558 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 02:33:16 +0200 Subject: [PATCH 07/21] 04-HTTPRedirect --- .../04-HTTPRedirect/README.md | 60 ------------------- 1 file changed, 60 deletions(-) diff --git a/02-Traffic_management/04-HTTPRedirect/README.md b/02-Traffic_management/04-HTTPRedirect/README.md index 3b6ec0c..a6f5625 100755 --- a/02-Traffic_management/04-HTTPRedirect/README.md +++ b/02-Traffic_management/04-HTTPRedirect/README.md @@ -253,63 +253,3 @@ virtualservice.networking.istio.io "helloworld-vs" deleted - -# Continues from - -- 01-hello_world_1_service_1_deployment - - - -https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRedirect - -## The idea is that this rewrite is handled "externally" by the client, not by Istio. - - - -## Practical examples - - -### HTTP to HTTPS redirect. - -The following Virtual Service configuration will redirect all the incoming traffic from the gateway `my-gateway` that uses the http protocol, to the https protocol. - -In this example, it would forward all the `http` traffic without taking into account which port is used. - -``` -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: to-https-vs -spec: - hosts: - - "*" - gateways: - - my-gateway - http: - - match: - - name: to_https - match: - scheme: http - redirect: - scheme: https -``` - -### Migrated from a domain - -The following will update the requests coming "to" the domain `old.domain.com` and rewrite the URL to use the "new" `new.domain.com` - -```yaml -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: update-domain-vs -spec: - hosts: - - "old.domain.com" - gateways: - - helloworld-gateway - http: - - name: forward-to-new-domain - redirect: - authority: "new.domain.com" -``` \ No newline at end of file -- 2.47.2 From fb347581973947f27096becb4818eaa4a727a06c Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Fri, 5 May 2023 02:33:16 +0200 Subject: [PATCH 08/21] Files rebasing --- .placeholder/text.md | 54 ++++++++++++++++ .../03-HTTPRewrite/README.md | 2 +- .../04-HTTPRedirect/README.md | 60 ------------------ .../05-Service_Entry/Gateway.yaml | 14 ++++ .../README.md | 0 .../ServiceEntry.yaml | 0 .../VirtualService.yaml} | 15 ----- .../gateway.yaml | 55 ---------------- .../{deployment.yaml => Deployment.yaml} | 14 ---- .../07-HTTPS-Gateway-Simple-TLS/Gateway.yaml | 17 +++++ .../07-HTTPS-Gateway-Simple-TLS/Service.yaml | 13 ++++ .../{gateway.yaml => VirtualService.yaml} | 18 ------ .../{deployment.yaml => Deployment.yaml} | 14 ---- .../{gateway.yaml => Gateway.yaml} | 21 ------ .../08a-HTTPS-min-TLS-version/Service.yaml | 13 ++++ .../VirtualService.yaml | 20 ++++++ .../{deployment.yaml => Deployment.yaml} | 14 ---- .../{gateway.yaml => Gateway.yaml} | 21 ------ .../08b-HTTPS-max-TLS-version/Service.yaml | 13 ++++ .../VirtualService.yaml | 20 ++++++ .../{gateway.yaml => Gateway.yaml} | 0 .../{deployment.yaml => Deployment.yaml} | 14 ---- .../{gateway.yaml => Gateway.yaml} | 0 .../01-ingress-proxy-forwarding/Service.yaml | 12 ++++ .../{sidecar.yaml => Sidecar.yaml} | 0 .../01-target-namespaces/README.md | 2 +- .../01-disable-mTLS/README.md | 0 .../01-disable-mTLS/Service.yaml | 0 .../01-disable-mTLS/authentication.yaml | 0 .../01-disable-mTLS/deployment.yaml | 0 .../01-disable-mTLS/gateway.yaml | 0 .../02-portLevelMtls/README.md | 2 +- .../02-portLevelMtls/Service.yaml | 0 .../02-portLevelMtls/authentication.yaml | 0 .../02-portLevelMtls/deployment.yaml | 0 .../02-portLevelMtls/gateway.yaml | 0 .../06-mTLS/README.md | 8 +-- .../06-mTLS/authentication.yaml | 0 .../06-mTLS/deployment.yaml | 0 .../06-mTLS/deployment_2.yaml | 0 .../06-mTLS/gateway.yaml | 0 .../src/06-kiali-services-byeworld.png | Bin .../src/06-kiali-services-helloworld.png | Bin .../06-mTLS}/src/06-kiali-services.png | Bin .../05a-FaultInjection-delay/README.md | 0 .../05a-FaultInjection-delay/deployment.yaml | 0 .../05a-FaultInjection-delay/gateway.yaml | 0 .../05b-FaultInjection-abort/README.md | 0 .../05b-FaultInjection-abort/deployment.yaml | 0 .../05b-FaultInjection-abort/gateway.yaml | 0 .../DestinationRule.yaml | 13 ++++ .../Gateway.yaml | 14 ++++ .../06-HTTPS-Gateway_Service_Entry}/README.md | 6 +- .../ServiceEntry.yaml | 0 .../VirtualService.yaml | 26 ++++++++ .../src/github-screenshot.png | Bin 90-MixConfigs/REDME.md | 3 + 57 files changed, 242 insertions(+), 256 deletions(-) create mode 100644 .placeholder/text.md create mode 100755 02-Traffic_management/05-Service_Entry/Gateway.yaml rename 02-Traffic_management/{05-hello_world_1_Service_Entry => 05-Service_Entry}/README.md (100%) rename 02-Traffic_management/{05-hello_world_1_Service_Entry => 05-Service_Entry}/ServiceEntry.yaml (100%) rename 02-Traffic_management/{05-hello_world_1_Service_Entry/gateway.yaml => 05-Service_Entry/VirtualService.yaml} (73%) mode change 100755 => 100644 delete mode 100755 02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml rename 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/{deployment.yaml => Deployment.yaml} (71%) create mode 100755 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml create mode 100644 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml rename 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/{gateway.yaml => VirtualService.yaml} (51%) mode change 100755 => 100644 rename 02-Traffic_management/08a-HTTPS-min-TLS-version/{deployment.yaml => Deployment.yaml} (71%) rename 02-Traffic_management/08a-HTTPS-min-TLS-version/{gateway.yaml => Gateway.yaml} (50%) create mode 100644 02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml create mode 100644 02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml rename 02-Traffic_management/08b-HTTPS-max-TLS-version/{deployment.yaml => Deployment.yaml} (71%) rename 02-Traffic_management/08b-HTTPS-max-TLS-version/{gateway.yaml => Gateway.yaml} (50%) create mode 100644 02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml create mode 100644 02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml rename 02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/{gateway.yaml => Gateway.yaml} (100%) rename 03-Sidecar/01-ingress-proxy-forwarding/{deployment.yaml => Deployment.yaml} (65%) rename 03-Sidecar/01-ingress-proxy-forwarding/{gateway.yaml => Gateway.yaml} (100%) create mode 100644 03-Sidecar/01-ingress-proxy-forwarding/Service.yaml rename 03-Sidecar/01-ingress-proxy-forwarding/{sidecar.yaml => Sidecar.yaml} (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/01-disable-mTLS/README.md (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/01-disable-mTLS/Service.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/01-disable-mTLS/authentication.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/01-disable-mTLS/deployment.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/01-disable-mTLS/gateway.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/02-portLevelMtls/README.md (97%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/02-portLevelMtls/Service.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/02-portLevelMtls/authentication.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/02-portLevelMtls/deployment.yaml (100%) rename {10-PeerAuthentication => 10-mTLS_PeerAuthentication}/02-portLevelMtls/gateway.yaml (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication}/06-mTLS/README.md (94%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication}/06-mTLS/authentication.yaml (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication}/06-mTLS/deployment.yaml (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication}/06-mTLS/deployment_2.yaml (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication}/06-mTLS/gateway.yaml (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication/06-mTLS}/src/06-kiali-services-byeworld.png (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication/06-mTLS}/src/06-kiali-services-helloworld.png (100%) rename {02-Traffic_management => 10-mTLS_PeerAuthentication/06-mTLS}/src/06-kiali-services.png (100%) rename {02-Traffic_management => 11-Fault_Injection}/05a-FaultInjection-delay/README.md (100%) rename {02-Traffic_management => 11-Fault_Injection}/05a-FaultInjection-delay/deployment.yaml (100%) rename {02-Traffic_management => 11-Fault_Injection}/05a-FaultInjection-delay/gateway.yaml (100%) rename {02-Traffic_management => 11-Fault_Injection}/05b-FaultInjection-abort/README.md (100%) rename {02-Traffic_management => 11-Fault_Injection}/05b-FaultInjection-abort/deployment.yaml (100%) rename {02-Traffic_management => 11-Fault_Injection}/05b-FaultInjection-abort/gateway.yaml (100%) create mode 100644 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/DestinationRule.yaml create mode 100755 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/Gateway.yaml rename {02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry => 90-MixConfigs/06-HTTPS-Gateway_Service_Entry}/README.md (92%) rename {02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry => 90-MixConfigs/06-HTTPS-Gateway_Service_Entry}/ServiceEntry.yaml (100%) create mode 100644 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/VirtualService.yaml rename {02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry => 90-MixConfigs/06-HTTPS-Gateway_Service_Entry}/src/github-screenshot.png (100%) create mode 100644 90-MixConfigs/REDME.md diff --git a/.placeholder/text.md b/.placeholder/text.md new file mode 100644 index 0000000..7b872f4 --- /dev/null +++ b/.placeholder/text.md @@ -0,0 +1,54 @@ + +https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRedirect + +## The idea is that this rewrite is handled "externally" by the client, not by Istio. + + + +## Practical examples + + +### HTTP to HTTPS redirect. + +The following Virtual Service configuration will redirect all the incoming traffic from the gateway `my-gateway` that uses the http protocol, to the https protocol. + +In this example, it would forward all the `http` traffic without taking into account which port is used. + +``` +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: to-https-vs +spec: + hosts: + - "*" + gateways: + - my-gateway + http: + - match: + - name: to_https + match: + scheme: http + redirect: + scheme: https +``` + +### Migrated from a domain + +The following will update the requests coming "to" the domain `old.domain.com` and rewrite the URL to use the "new" `new.domain.com` + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: update-domain-vs +spec: + hosts: + - "old.domain.com" + gateways: + - helloworld-gateway + http: + - name: forward-to-new-domain + redirect: + authority: "new.domain.com" +``` \ No newline at end of file diff --git a/02-Traffic_management/03-HTTPRewrite/README.md b/02-Traffic_management/03-HTTPRewrite/README.md index 0be9df1..3ee81ee 100755 --- a/02-Traffic_management/03-HTTPRewrite/README.md +++ b/02-Traffic_management/03-HTTPRewrite/README.md @@ -221,7 +221,7 @@ curl 192.168.1.50/helloworld -s | grep "

.*

"

404 Not Found

``` -## Cleanup +## Cleanup` Finally, a cleanup from the resources deployed. diff --git a/02-Traffic_management/04-HTTPRedirect/README.md b/02-Traffic_management/04-HTTPRedirect/README.md index 3b6ec0c..a6f5625 100755 --- a/02-Traffic_management/04-HTTPRedirect/README.md +++ b/02-Traffic_management/04-HTTPRedirect/README.md @@ -253,63 +253,3 @@ virtualservice.networking.istio.io "helloworld-vs" deleted - -# Continues from - -- 01-hello_world_1_service_1_deployment - - - -https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRedirect - -## The idea is that this rewrite is handled "externally" by the client, not by Istio. - - - -## Practical examples - - -### HTTP to HTTPS redirect. - -The following Virtual Service configuration will redirect all the incoming traffic from the gateway `my-gateway` that uses the http protocol, to the https protocol. - -In this example, it would forward all the `http` traffic without taking into account which port is used. - -``` -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: to-https-vs -spec: - hosts: - - "*" - gateways: - - my-gateway - http: - - match: - - name: to_https - match: - scheme: http - redirect: - scheme: https -``` - -### Migrated from a domain - -The following will update the requests coming "to" the domain `old.domain.com` and rewrite the URL to use the "new" `new.domain.com` - -```yaml -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: update-domain-vs -spec: - hosts: - - "old.domain.com" - gateways: - - helloworld-gateway - http: - - name: forward-to-new-domain - redirect: - authority: "new.domain.com" -``` \ No newline at end of file diff --git a/02-Traffic_management/05-Service_Entry/Gateway.yaml b/02-Traffic_management/05-Service_Entry/Gateway.yaml new file mode 100755 index 0000000..bbd9d67 --- /dev/null +++ b/02-Traffic_management/05-Service_Entry/Gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" \ No newline at end of file diff --git a/02-Traffic_management/05-hello_world_1_Service_Entry/README.md b/02-Traffic_management/05-Service_Entry/README.md similarity index 100% rename from 02-Traffic_management/05-hello_world_1_Service_Entry/README.md rename to 02-Traffic_management/05-Service_Entry/README.md diff --git a/02-Traffic_management/05-hello_world_1_Service_Entry/ServiceEntry.yaml b/02-Traffic_management/05-Service_Entry/ServiceEntry.yaml similarity index 100% rename from 02-Traffic_management/05-hello_world_1_Service_Entry/ServiceEntry.yaml rename to 02-Traffic_management/05-Service_Entry/ServiceEntry.yaml diff --git a/02-Traffic_management/05-hello_world_1_Service_Entry/gateway.yaml b/02-Traffic_management/05-Service_Entry/VirtualService.yaml old mode 100755 new mode 100644 similarity index 73% rename from 02-Traffic_management/05-hello_world_1_Service_Entry/gateway.yaml rename to 02-Traffic_management/05-Service_Entry/VirtualService.yaml index 8d3c198..b86b1c8 --- a/02-Traffic_management/05-hello_world_1_Service_Entry/gateway.yaml +++ b/02-Traffic_management/05-Service_Entry/VirtualService.yaml @@ -1,19 +1,4 @@ apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: helloworld-gateway -spec: - selector: - istio: ingressgateway # use istio default controller - servers: - - port: - number: 80 - name: http - protocol: HTTP - hosts: - - "*" ---- -apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: helloworld-vs diff --git a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml b/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml deleted file mode 100755 index 387584a..0000000 --- a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: helloworld-gateway -spec: - selector: - istio: ingressgateway # use istio default controller - servers: - - port: - number: 80 - name: http - protocol: HTTP - hosts: - - "*" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - name: https-external-service - timeout: 3s - match: - - uri: - exact: "/external" - route: - - destination: - host: "github.com" - port: - number: 8443 - rewrite: - uri: "/OriolFilter/" - headers: - request: - set: - HOST: "github.com" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: DestinationRule -metadata: - name: github.com - namespace: default -spec: - host: github.com - trafficPolicy: - portLevelSettings: - - port: - number: 8443 - tls: - mode: SIMPLE \ No newline at end of file diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml similarity index 71% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml rename to 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml index a283aab..233fd2c 100755 --- a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml +++ b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml @@ -1,17 +1,3 @@ -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld - service: helloworld -spec: - ports: - - port: 80 - name: http - selector: - app: helloworld ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml new file mode 100755 index 0000000..d122db5 --- /dev/null +++ b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml @@ -0,0 +1,17 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 443 + name: secure-http + protocol: HTTPS + hosts: + - "*" + tls: + mode: SIMPLE + credentialName: my-tls-cert-secret diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml new file mode 100644 index 0000000..784987b --- /dev/null +++ b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml old mode 100755 new mode 100644 similarity index 51% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml rename to 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml index cc236c0..205231b --- a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml +++ b/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml @@ -1,22 +1,4 @@ apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: helloworld-gateway -spec: - selector: - istio: ingressgateway - servers: - - port: - number: 443 - name: secure-http - protocol: HTTPS - hosts: - - "*" - tls: - mode: SIMPLE - credentialName: my-tls-cert-secret ---- -apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: helloworld-vs diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml b/02-Traffic_management/08a-HTTPS-min-TLS-version/Deployment.yaml similarity index 71% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml rename to 02-Traffic_management/08a-HTTPS-min-TLS-version/Deployment.yaml index a283aab..233fd2c 100755 --- a/02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml +++ b/02-Traffic_management/08a-HTTPS-min-TLS-version/Deployment.yaml @@ -1,17 +1,3 @@ -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld - service: helloworld -spec: - ports: - - port: 80 - name: http - selector: - app: helloworld ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml b/02-Traffic_management/08a-HTTPS-min-TLS-version/Gateway.yaml similarity index 50% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml rename to 02-Traffic_management/08a-HTTPS-min-TLS-version/Gateway.yaml index 9829a3f..90b9197 100755 --- a/02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml +++ b/02-Traffic_management/08a-HTTPS-min-TLS-version/Gateway.yaml @@ -16,24 +16,3 @@ spec: mode: SIMPLE credentialName: my-tls-cert-secret minProtocolVersion: TLSV1_3 ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld - port: - number: 80 - rewrite: - uri: "/" \ No newline at end of file diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml b/02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml b/02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml new file mode 100644 index 0000000..205231b --- /dev/null +++ b/02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld + port: + number: 80 + rewrite: + uri: "/" \ No newline at end of file diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml b/02-Traffic_management/08b-HTTPS-max-TLS-version/Deployment.yaml similarity index 71% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml rename to 02-Traffic_management/08b-HTTPS-max-TLS-version/Deployment.yaml index a283aab..233fd2c 100755 --- a/02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml +++ b/02-Traffic_management/08b-HTTPS-max-TLS-version/Deployment.yaml @@ -1,17 +1,3 @@ -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld - service: helloworld -spec: - ports: - - port: 80 - name: http - selector: - app: helloworld ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml b/02-Traffic_management/08b-HTTPS-max-TLS-version/Gateway.yaml similarity index 50% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml rename to 02-Traffic_management/08b-HTTPS-max-TLS-version/Gateway.yaml index e7b67fe..7f00c46 100755 --- a/02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml +++ b/02-Traffic_management/08b-HTTPS-max-TLS-version/Gateway.yaml @@ -16,24 +16,3 @@ spec: mode: SIMPLE credentialName: my-tls-cert-secret maxProtocolVersion: TLSV1_2 ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld - port: - number: 80 - rewrite: - uri: "/" \ No newline at end of file diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml b/02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml b/02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml new file mode 100644 index 0000000..205231b --- /dev/null +++ b/02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld + port: + number: 80 + rewrite: + uri: "/" \ No newline at end of file diff --git a/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/gateway.yaml b/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml similarity index 100% rename from 02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/gateway.yaml rename to 02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml b/03-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml similarity index 65% rename from 03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml rename to 03-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml index 603c10e..233fd2c 100755 --- a/03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml +++ b/03-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml @@ -1,17 +1,3 @@ -## https://github.com/istio/istio/blob/master/samples/helloworld/helloworld.yaml -apiVersion: v1 -kind: Service -metadata: - name: helloworld - labels: - app: helloworld -spec: - ports: - - port: 8080 - name: http - selector: - app: helloworld ---- apiVersion: apps/v1 kind: Deployment metadata: diff --git a/03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml b/03-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml rename to 03-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/Service.yaml b/03-Sidecar/01-ingress-proxy-forwarding/Service.yaml new file mode 100644 index 0000000..fd3d077 --- /dev/null +++ b/03-Sidecar/01-ingress-proxy-forwarding/Service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld +spec: + ports: + - port: 8080 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml b/03-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml rename to 03-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/README.md b/06-AuthorizationPolicy/01-target-namespaces/README.md index 54bebf0..bf57e99 100755 --- a/06-AuthorizationPolicy/01-target-namespaces/README.md +++ b/06-AuthorizationPolicy/01-target-namespaces/README.md @@ -5,7 +5,7 @@ include_toc: true # Continues from -- [06-mTLS](../../02-Traffic_management/06-mTLS) +- [06-mTLS](../../10-mTLS_PeerAuthentication/06-mTLS) ## Description diff --git a/10-PeerAuthentication/01-disable-mTLS/README.md b/10-mTLS_PeerAuthentication/01-disable-mTLS/README.md similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/README.md rename to 10-mTLS_PeerAuthentication/01-disable-mTLS/README.md diff --git a/10-PeerAuthentication/01-disable-mTLS/Service.yaml b/10-mTLS_PeerAuthentication/01-disable-mTLS/Service.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/Service.yaml rename to 10-mTLS_PeerAuthentication/01-disable-mTLS/Service.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/authentication.yaml b/10-mTLS_PeerAuthentication/01-disable-mTLS/authentication.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/authentication.yaml rename to 10-mTLS_PeerAuthentication/01-disable-mTLS/authentication.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/deployment.yaml b/10-mTLS_PeerAuthentication/01-disable-mTLS/deployment.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/deployment.yaml rename to 10-mTLS_PeerAuthentication/01-disable-mTLS/deployment.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/gateway.yaml b/10-mTLS_PeerAuthentication/01-disable-mTLS/gateway.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/gateway.yaml rename to 10-mTLS_PeerAuthentication/01-disable-mTLS/gateway.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/README.md b/10-mTLS_PeerAuthentication/02-portLevelMtls/README.md similarity index 97% rename from 10-PeerAuthentication/02-portLevelMtls/README.md rename to 10-mTLS_PeerAuthentication/02-portLevelMtls/README.md index aeb0aa2..0dfb971 100644 --- a/10-PeerAuthentication/02-portLevelMtls/README.md +++ b/10-mTLS_PeerAuthentication/02-portLevelMtls/README.md @@ -312,7 +312,7 @@ listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes ##### Curl -Even tho, we have set in the [PeerAuthentication configuration](#peerauthentication) mode to `STRICT`, unlike in the [previous example](01-disable-mTLS/#https-1), where the mode was also set to `STRICT`, in this example we configured the `portLevelMtls` field for the port `443`, successfully disabling `mTLS` for this port, and allowing to proceed with the request towards the `HTTPS` backend; which was performed without the need of disabling `mTLS` for the whole deployment. +Even tho, we have set in the [PeerAuthentication configuration](#peerauthentication) mode to `STRICT`, unlike in the [previous example](../01-disable-mTLS/#https-1), where the mode was also set to `STRICT`, in this example we configured the `portLevelMtls` field for the port `443`, successfully disabling `mTLS` for this port, and allowing to proceed with the request towards the `HTTPS` backend; which was performed without the need of disabling `mTLS` for the whole deployment. ```shell curl 192.168.1.50/https diff --git a/10-PeerAuthentication/02-portLevelMtls/Service.yaml b/10-mTLS_PeerAuthentication/02-portLevelMtls/Service.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/Service.yaml rename to 10-mTLS_PeerAuthentication/02-portLevelMtls/Service.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/authentication.yaml b/10-mTLS_PeerAuthentication/02-portLevelMtls/authentication.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/authentication.yaml rename to 10-mTLS_PeerAuthentication/02-portLevelMtls/authentication.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/deployment.yaml b/10-mTLS_PeerAuthentication/02-portLevelMtls/deployment.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/deployment.yaml rename to 10-mTLS_PeerAuthentication/02-portLevelMtls/deployment.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/gateway.yaml b/10-mTLS_PeerAuthentication/02-portLevelMtls/gateway.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/gateway.yaml rename to 10-mTLS_PeerAuthentication/02-portLevelMtls/gateway.yaml diff --git a/02-Traffic_management/06-mTLS/README.md b/10-mTLS_PeerAuthentication/06-mTLS/README.md similarity index 94% rename from 02-Traffic_management/06-mTLS/README.md rename to 10-mTLS_PeerAuthentication/06-mTLS/README.md index 4e6dadb..91d4a72 100755 --- a/02-Traffic_management/06-mTLS/README.md +++ b/10-mTLS_PeerAuthentication/06-mTLS/README.md @@ -5,7 +5,7 @@ include_toc: true # Based on -- [01-hello_world_1_service_1_deployment](../../01-Getting%20Started/01-hello_world_1_service_1_deployment) +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) ## Description @@ -68,7 +68,7 @@ istioctl dashboard kiali ## Display services menu -![Kiali menu, displaying 3 services. helloworld, byeworld and kubernetes](../src/06-kiali-services.png) +![Kiali menu, displaying 3 services. helloworld, byeworld and kubernetes](src/06-kiali-services.png) > **Highlight:**\ > On the column located at the right, we can notice a note saying `Missing Sidecar` @@ -81,13 +81,13 @@ istioctl dashboard kiali On the service `byeworld` (reminder that it's pods had the Istio sidecar injection disabled), it displays the message `No mTLS`, meaning that mTLS (Mutual TLS between Istio sidecards) is not available. -![byeworld displays the message `No mTLS`](../src/06-kiali-services-byeworld.png) +![byeworld displays the message `No mTLS`](src/06-kiali-services-byeworld.png) ### Helloworld On the service `helloworld`, it displays the message `mTLS` -![helloworld displays the message `mTLS`](../src/06-kiali-services-helloworld.png) +![helloworld displays the message `mTLS`](src/06-kiali-services-helloworld.png) ## Test resources ### Curl / LB requests / requests from external traffic diff --git a/02-Traffic_management/06-mTLS/authentication.yaml b/10-mTLS_PeerAuthentication/06-mTLS/authentication.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/authentication.yaml rename to 10-mTLS_PeerAuthentication/06-mTLS/authentication.yaml diff --git a/02-Traffic_management/06-mTLS/deployment.yaml b/10-mTLS_PeerAuthentication/06-mTLS/deployment.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/deployment.yaml rename to 10-mTLS_PeerAuthentication/06-mTLS/deployment.yaml diff --git a/02-Traffic_management/06-mTLS/deployment_2.yaml b/10-mTLS_PeerAuthentication/06-mTLS/deployment_2.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/deployment_2.yaml rename to 10-mTLS_PeerAuthentication/06-mTLS/deployment_2.yaml diff --git a/02-Traffic_management/06-mTLS/gateway.yaml b/10-mTLS_PeerAuthentication/06-mTLS/gateway.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/gateway.yaml rename to 10-mTLS_PeerAuthentication/06-mTLS/gateway.yaml diff --git a/02-Traffic_management/src/06-kiali-services-byeworld.png b/10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services-byeworld.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services-byeworld.png rename to 10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services-byeworld.png diff --git a/02-Traffic_management/src/06-kiali-services-helloworld.png b/10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services-helloworld.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services-helloworld.png rename to 10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services-helloworld.png diff --git a/02-Traffic_management/src/06-kiali-services.png b/10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services.png rename to 10-mTLS_PeerAuthentication/06-mTLS/src/06-kiali-services.png diff --git a/02-Traffic_management/05a-FaultInjection-delay/README.md b/11-Fault_Injection/05a-FaultInjection-delay/README.md similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/README.md rename to 11-Fault_Injection/05a-FaultInjection-delay/README.md diff --git a/02-Traffic_management/05a-FaultInjection-delay/deployment.yaml b/11-Fault_Injection/05a-FaultInjection-delay/deployment.yaml similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/deployment.yaml rename to 11-Fault_Injection/05a-FaultInjection-delay/deployment.yaml diff --git a/02-Traffic_management/05a-FaultInjection-delay/gateway.yaml b/11-Fault_Injection/05a-FaultInjection-delay/gateway.yaml similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/gateway.yaml rename to 11-Fault_Injection/05a-FaultInjection-delay/gateway.yaml diff --git a/02-Traffic_management/05b-FaultInjection-abort/README.md b/11-Fault_Injection/05b-FaultInjection-abort/README.md similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/README.md rename to 11-Fault_Injection/05b-FaultInjection-abort/README.md diff --git a/02-Traffic_management/05b-FaultInjection-abort/deployment.yaml b/11-Fault_Injection/05b-FaultInjection-abort/deployment.yaml similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/deployment.yaml rename to 11-Fault_Injection/05b-FaultInjection-abort/deployment.yaml diff --git a/02-Traffic_management/05b-FaultInjection-abort/gateway.yaml b/11-Fault_Injection/05b-FaultInjection-abort/gateway.yaml similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/gateway.yaml rename to 11-Fault_Injection/05b-FaultInjection-abort/gateway.yaml diff --git a/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/DestinationRule.yaml b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/DestinationRule.yaml new file mode 100644 index 0000000..efc6b68 --- /dev/null +++ b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/DestinationRule.yaml @@ -0,0 +1,13 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + name: github.com + namespace: default +spec: + host: github.com + trafficPolicy: + portLevelSettings: + - port: + number: 8443 + tls: + mode: SIMPLE \ No newline at end of file diff --git a/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/Gateway.yaml b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/Gateway.yaml new file mode 100755 index 0000000..456e384 --- /dev/null +++ b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/Gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" diff --git a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md similarity index 92% rename from 02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md rename to 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md index 1eed779..e860918 100755 --- a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md +++ b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md @@ -8,7 +8,7 @@ The page used as a destination is my own [GitHub page](https://github.com/). # Based on -- [05-hello_world_1_Service_Entry](../05-hello_world_1_Service_Entry) +- [05-hello_world_1_Service_Entry](../../02-Traffic_management/05-Service_Entry) # Configuration @@ -75,7 +75,7 @@ The path `/external` will forward the request towards the destination URL `githu Highlight that the destination is `github.com`, which is the same as the contents set on the field `host` from the [ServiceEntry resource configured above](#serviceentry). -As seen [in the previous example, where the host that didn't have the `HOST` header wasn't able to receive a response by the destination](../05-hello_world_1_Service_Entry/#external-noh), we configured the `HOST` header to match the URL from the external service. +As seen [in the previous example, where the host that didn't have the `HOST` header wasn't able to receive a response by the destination](../../02-Traffic_management/05-Service_Entry/#external-noh), we configured the `HOST` header to match the URL from the external service. ```yaml apiVersion: networking.istio.io/v1alpha3 @@ -108,7 +108,7 @@ spec: ## DestinationRule -As seen in the example [02-Traffic_management/09-HTTPS-backend](../09-HTTPS-backend), where we configure Istio to use an `HTTPS` backend, the same configuration is applied on this case (yes, I am aware that a `ServiceEntry` is also a backend). +As seen in the example [02-Traffic_management/09-HTTPS-backend](../../02-Traffic_management/09-HTTPS-backend), where we configure Istio to use an `HTTPS` backend, the same configuration is applied on this case (yes, I am aware that a `ServiceEntry` is also a backend). For such, we deploy a `DestinationRule` setting to expect to terminate the TLS traffic, for the traffic with resource destination `github.com`, and port `8443`, which matches the settings set in our [ServiceEntry](#serviceentry) deployed. diff --git a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/ServiceEntry.yaml similarity index 100% rename from 02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml rename to 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/ServiceEntry.yaml diff --git a/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/VirtualService.yaml b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/VirtualService.yaml new file mode 100644 index 0000000..9f8a04d --- /dev/null +++ b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/VirtualService.yaml @@ -0,0 +1,26 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - name: https-external-service + timeout: 3s + match: + - uri: + exact: "/external" + route: + - destination: + host: "github.com" + port: + number: 8443 + rewrite: + uri: "/OriolFilter/" + headers: + request: + set: + HOST: "github.com" \ No newline at end of file diff --git a/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/src/github-screenshot.png similarity index 100% rename from 02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png rename to 90-MixConfigs/06-HTTPS-Gateway_Service_Entry/src/github-screenshot.png diff --git a/90-MixConfigs/REDME.md b/90-MixConfigs/REDME.md new file mode 100644 index 0000000..e8909b7 --- /dev/null +++ b/90-MixConfigs/REDME.md @@ -0,0 +1,3 @@ +# Examples of mix configurations + +ie. gateway with HTTPS traffic through simple TLS, and a Service Entry as a backend. \ No newline at end of file -- 2.47.2 From c7c1f8cb9caf4954259bee23919c80866d55cedb Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Wed, 10 May 2023 10:15:00 +0200 Subject: [PATCH 09/21] Files rebasing --- 02-Traffic_management/README.md | 24 +------------------ .../Deployment.yaml | 0 .../07-HTTPS-Gateway-Simple-TLS/Gateway.yaml | 0 .../07-HTTPS-Gateway-Simple-TLS/README.md | 0 .../07-HTTPS-Gateway-Simple-TLS/Service.yaml | 0 .../VirtualService.yaml | 0 .../08a-HTTPS-min-TLS-version/Deployment.yaml | 0 .../08a-HTTPS-min-TLS-version/Gateway.yaml | 0 .../08a-HTTPS-min-TLS-version/README.md | 0 .../08a-HTTPS-min-TLS-version/Service.yaml | 0 .../VirtualService.yaml | 0 .../08b-HTTPS-max-TLS-version/Deployment.yaml | 0 .../08b-HTTPS-max-TLS-version/Gateway.yaml | 0 .../08b-HTTPS-max-TLS-version/README.md | 0 .../08b-HTTPS-max-TLS-version/Service.yaml | 0 .../VirtualService.yaml | 0 .../10-TCP-FORWARDING/README.md | 0 .../10-TCP-FORWARDING/deployment.yaml | 0 .../10-TCP-FORWARDING/gateway.yaml | 0 .../11-TLS-PASSTHROUGH/README.md | 0 .../11-TLS-PASSTHROUGH/deployment.yaml | 0 .../11-TLS-PASSTHROUGH/gateway.yaml | 0 .../Gateway.yaml | 0 .../README.md | 0 03-Gateway_Ingress/README.md | 0 .../05-Service_Entry/Gateway.yaml | 0 .../05-Service_Entry/README.md | 0 .../05-Service_Entry/ServiceEntry.yaml | 0 .../05-Service_Entry/VirtualService.yaml | 0 .../09-HTTPS-backend/README.md | 4 ++-- .../09-HTTPS-backend/authentication.yaml | 0 .../09-HTTPS-backend/deployment.yaml | 0 .../09-HTTPS-backend/gateway.yaml | 0 04-Backends/README.md | 0 .../Deployment.yaml | 0 .../01-ingress-proxy-forwarding/Gateway.yaml | 0 .../01-ingress-proxy-forwarding/README.md | 0 .../01-ingress-proxy-forwarding/Service.yaml | 0 .../01-ingress-proxy-forwarding/Sidecar.yaml | 0 {03-Sidecar => 05-Sidecar}/README.md | 0 .../01-envoy_add_headers/README.md | 0 .../01-envoy_add_headers/deployment.yaml | 0 .../01-envoy_add_headers/envoy.yaml | 0 .../01-envoy_add_headers/envoy2.yaml | 0 .../01-envoy_add_headers/gateway.yaml | 0 {04-Envoy => 06-Envoy}/README.md | 0 .../01-Outboud-Traffic-Policy/README.md | 0 .../01-Outboud-Traffic-Policy/deployment.yaml | 0 .../01-Outboud-Traffic-Policy/gateway.yaml | 0 {05-MeshConfig => 07-MeshConfig}/README.md | 0 .../01-target-namespaces/01-namespace.yaml | 0 .../01-target-namespaces/README.md | 0 .../01-target-namespaces/authentication.yaml | 0 .../01-target-namespaces/deployment.yaml | 0 .../01-target-namespaces/deployment_2.yaml | 0 .../01-target-namespaces/gateway.yaml | 0 .../01-namespace.yaml | 0 .../01-service-accounts.yaml | 0 .../02-target-service-accounts/README.md | 0 .../authentication.yaml | 0 .../deployment.yaml | 0 .../deployment_2.yaml | 0 .../02-target-service-accounts/gateway.yaml | 0 .../03-target-deployments/01-namespace.yaml | 0 .../03-target-deployments/README.md | 0 .../03-target-deployments/authentication.yaml | 0 .../03-target-deployments/deployment.yaml | 0 .../03-target-deployments/deployment_2.yaml | 0 .../03-target-deployments/gateway.yaml | 0 .../README.md | 0 .../01-disable-mTLS/README.md | 2 +- .../06-HTTPS-Gateway_Service_Entry/README.md | 6 ++--- 72 files changed, 7 insertions(+), 29 deletions(-) rename {02-Traffic_management => 03-Gateway_Ingress}/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/07-HTTPS-Gateway-Simple-TLS/README.md (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/07-HTTPS-Gateway-Simple-TLS/Service.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08a-HTTPS-min-TLS-version/Deployment.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08a-HTTPS-min-TLS-version/Gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08a-HTTPS-min-TLS-version/README.md (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08a-HTTPS-min-TLS-version/Service.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08a-HTTPS-min-TLS-version/VirtualService.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08b-HTTPS-max-TLS-version/Deployment.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08b-HTTPS-max-TLS-version/Gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08b-HTTPS-max-TLS-version/README.md (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08b-HTTPS-max-TLS-version/Service.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/08b-HTTPS-max-TLS-version/VirtualService.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/10-TCP-FORWARDING/README.md (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/10-TCP-FORWARDING/deployment.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/10-TCP-FORWARDING/gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/11-TLS-PASSTHROUGH/README.md (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/11-TLS-PASSTHROUGH/deployment.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/11-TLS-PASSTHROUGH/gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml (100%) rename {02-Traffic_management => 03-Gateway_Ingress}/12-HTTP-to-HTTPS-traffic-redirect/README.md (100%) create mode 100644 03-Gateway_Ingress/README.md rename {02-Traffic_management => 04-Backends}/05-Service_Entry/Gateway.yaml (100%) rename {02-Traffic_management => 04-Backends}/05-Service_Entry/README.md (100%) rename {02-Traffic_management => 04-Backends}/05-Service_Entry/ServiceEntry.yaml (100%) rename {02-Traffic_management => 04-Backends}/05-Service_Entry/VirtualService.yaml (100%) rename {02-Traffic_management => 04-Backends}/09-HTTPS-backend/README.md (98%) rename {02-Traffic_management => 04-Backends}/09-HTTPS-backend/authentication.yaml (100%) rename {02-Traffic_management => 04-Backends}/09-HTTPS-backend/deployment.yaml (100%) rename {02-Traffic_management => 04-Backends}/09-HTTPS-backend/gateway.yaml (100%) create mode 100644 04-Backends/README.md rename {03-Sidecar => 05-Sidecar}/01-ingress-proxy-forwarding/Deployment.yaml (100%) rename {03-Sidecar => 05-Sidecar}/01-ingress-proxy-forwarding/Gateway.yaml (100%) rename {03-Sidecar => 05-Sidecar}/01-ingress-proxy-forwarding/README.md (100%) rename {03-Sidecar => 05-Sidecar}/01-ingress-proxy-forwarding/Service.yaml (100%) rename {03-Sidecar => 05-Sidecar}/01-ingress-proxy-forwarding/Sidecar.yaml (100%) rename {03-Sidecar => 05-Sidecar}/README.md (100%) rename {04-Envoy => 06-Envoy}/01-envoy_add_headers/README.md (100%) rename {04-Envoy => 06-Envoy}/01-envoy_add_headers/deployment.yaml (100%) rename {04-Envoy => 06-Envoy}/01-envoy_add_headers/envoy.yaml (100%) rename {04-Envoy => 06-Envoy}/01-envoy_add_headers/envoy2.yaml (100%) rename {04-Envoy => 06-Envoy}/01-envoy_add_headers/gateway.yaml (100%) rename {04-Envoy => 06-Envoy}/README.md (100%) rename {05-MeshConfig => 07-MeshConfig}/01-Outboud-Traffic-Policy/README.md (100%) rename {05-MeshConfig => 07-MeshConfig}/01-Outboud-Traffic-Policy/deployment.yaml (100%) rename {05-MeshConfig => 07-MeshConfig}/01-Outboud-Traffic-Policy/gateway.yaml (100%) rename {05-MeshConfig => 07-MeshConfig}/README.md (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/README.md (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/authentication.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/deployment.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/01-target-namespaces/gateway.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/01-service-accounts.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/README.md (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/authentication.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/deployment.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/02-target-service-accounts/gateway.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/README.md (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/authentication.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/deployment.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/03-target-deployments/gateway.yaml (100%) rename {06-AuthorizationPolicy => 08-AuthorizationPolicy}/README.md (100%) diff --git a/02-Traffic_management/README.md b/02-Traffic_management/README.md index c57649a..95eb471 100644 --- a/02-Traffic_management/README.md +++ b/02-Traffic_management/README.md @@ -1,23 +1 @@ -# Examples - -(almost) ALL NEEDS DOCUMENTATION / REVIEW - -- 01-2_deployments_method -- 02-DirectResponse-HTTP-Body -- 03-HTTPRewrite -- 04-HTTPRedirect -- 05a-FaultInjection-delay -- 05b-FaultInjection-abort -- 06-mTLS (would need some documentation review, mainly go over the differences respective to the template/prior configuration used) -- 07-HTTPS-Gateway-Simple-TLS <- Doesn't respect the changelog format. -- 08a-HTTPS-min-TLS-version -- 08b-HTTPS-max-TLS-version -- 09-HTTPS-backend -- 10-TCP-FORWARDING -- 11-TLS-PASSTHROUGH -- 12-HTTP-to-HTTPS-traffic-redirect -> Documented. - - - -This will need some reorganization. - +This gloves the resources `Virtual Service` and `Destination Rule` \ No newline at end of file diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml b/03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml rename to 03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Deployment.yaml diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml b/03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml rename to 03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Gateway.yaml diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md b/03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/README.md similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md rename to 03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/README.md diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml b/03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Service.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/Service.yaml rename to 03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/Service.yaml diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml b/03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml rename to 03-Gateway_Ingress/07-HTTPS-Gateway-Simple-TLS/VirtualService.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/Deployment.yaml b/03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Deployment.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/Deployment.yaml rename to 03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Deployment.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/Gateway.yaml b/03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Gateway.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/Gateway.yaml rename to 03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Gateway.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/README.md b/03-Gateway_Ingress/08a-HTTPS-min-TLS-version/README.md similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/README.md rename to 03-Gateway_Ingress/08a-HTTPS-min-TLS-version/README.md diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml b/03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Service.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/Service.yaml rename to 03-Gateway_Ingress/08a-HTTPS-min-TLS-version/Service.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml b/03-Gateway_Ingress/08a-HTTPS-min-TLS-version/VirtualService.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/VirtualService.yaml rename to 03-Gateway_Ingress/08a-HTTPS-min-TLS-version/VirtualService.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/Deployment.yaml b/03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Deployment.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/Deployment.yaml rename to 03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Deployment.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/Gateway.yaml b/03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Gateway.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/Gateway.yaml rename to 03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Gateway.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/README.md b/03-Gateway_Ingress/08b-HTTPS-max-TLS-version/README.md similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/README.md rename to 03-Gateway_Ingress/08b-HTTPS-max-TLS-version/README.md diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml b/03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Service.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/Service.yaml rename to 03-Gateway_Ingress/08b-HTTPS-max-TLS-version/Service.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml b/03-Gateway_Ingress/08b-HTTPS-max-TLS-version/VirtualService.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/VirtualService.yaml rename to 03-Gateway_Ingress/08b-HTTPS-max-TLS-version/VirtualService.yaml diff --git a/02-Traffic_management/10-TCP-FORWARDING/README.md b/03-Gateway_Ingress/10-TCP-FORWARDING/README.md similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/README.md rename to 03-Gateway_Ingress/10-TCP-FORWARDING/README.md diff --git a/02-Traffic_management/10-TCP-FORWARDING/deployment.yaml b/03-Gateway_Ingress/10-TCP-FORWARDING/deployment.yaml similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/deployment.yaml rename to 03-Gateway_Ingress/10-TCP-FORWARDING/deployment.yaml diff --git a/02-Traffic_management/10-TCP-FORWARDING/gateway.yaml b/03-Gateway_Ingress/10-TCP-FORWARDING/gateway.yaml similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/gateway.yaml rename to 03-Gateway_Ingress/10-TCP-FORWARDING/gateway.yaml diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/README.md b/03-Gateway_Ingress/11-TLS-PASSTHROUGH/README.md similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/README.md rename to 03-Gateway_Ingress/11-TLS-PASSTHROUGH/README.md diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml b/03-Gateway_Ingress/11-TLS-PASSTHROUGH/deployment.yaml similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml rename to 03-Gateway_Ingress/11-TLS-PASSTHROUGH/deployment.yaml diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml b/03-Gateway_Ingress/11-TLS-PASSTHROUGH/gateway.yaml similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml rename to 03-Gateway_Ingress/11-TLS-PASSTHROUGH/gateway.yaml diff --git a/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml b/03-Gateway_Ingress/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml similarity index 100% rename from 02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml rename to 03-Gateway_Ingress/12-HTTP-to-HTTPS-traffic-redirect/Gateway.yaml diff --git a/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/README.md b/03-Gateway_Ingress/12-HTTP-to-HTTPS-traffic-redirect/README.md similarity index 100% rename from 02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/README.md rename to 03-Gateway_Ingress/12-HTTP-to-HTTPS-traffic-redirect/README.md diff --git a/03-Gateway_Ingress/README.md b/03-Gateway_Ingress/README.md new file mode 100644 index 0000000..e69de29 diff --git a/02-Traffic_management/05-Service_Entry/Gateway.yaml b/04-Backends/05-Service_Entry/Gateway.yaml similarity index 100% rename from 02-Traffic_management/05-Service_Entry/Gateway.yaml rename to 04-Backends/05-Service_Entry/Gateway.yaml diff --git a/02-Traffic_management/05-Service_Entry/README.md b/04-Backends/05-Service_Entry/README.md similarity index 100% rename from 02-Traffic_management/05-Service_Entry/README.md rename to 04-Backends/05-Service_Entry/README.md diff --git a/02-Traffic_management/05-Service_Entry/ServiceEntry.yaml b/04-Backends/05-Service_Entry/ServiceEntry.yaml similarity index 100% rename from 02-Traffic_management/05-Service_Entry/ServiceEntry.yaml rename to 04-Backends/05-Service_Entry/ServiceEntry.yaml diff --git a/02-Traffic_management/05-Service_Entry/VirtualService.yaml b/04-Backends/05-Service_Entry/VirtualService.yaml similarity index 100% rename from 02-Traffic_management/05-Service_Entry/VirtualService.yaml rename to 04-Backends/05-Service_Entry/VirtualService.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/README.md b/04-Backends/09-HTTPS-backend/README.md similarity index 98% rename from 02-Traffic_management/09-HTTPS-backend/README.md rename to 04-Backends/09-HTTPS-backend/README.md index c236283..8eefa08 100644 --- a/02-Traffic_management/09-HTTPS-backend/README.md +++ b/04-Backends/09-HTTPS-backend/README.md @@ -5,7 +5,7 @@ include_toc: true # Based on -- [08a-HTTPS-min-TLS-version](../08a-HTTPS-min-TLS-version) +- [08a-HTTPS-min-TLS-version](../../03-Gateway_Ingress/08a-HTTPS-min-TLS-version) # Description @@ -197,7 +197,7 @@ spec: ``` > **Note**:\ -> As this configuration is very board, and targets the whole namespace, I would strongly recommend referring to the following example [06-Internal-Authentication/02-target-service-accounts](../../06-AuthorizationPolicy/02-target-service-accounts), which shows how to target service accounts set to resources, limiting the scope of this rule set. +> As this configuration is very board, and targets the whole namespace, I would strongly recommend referring to the following example [06-Internal-Authentication/02-target-service-accounts](../../08-AuthorizationPolicy/02-target-service-accounts), which shows how to target service accounts set to resources, limiting the scope of this rule set. # Walkthrough diff --git a/02-Traffic_management/09-HTTPS-backend/authentication.yaml b/04-Backends/09-HTTPS-backend/authentication.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/authentication.yaml rename to 04-Backends/09-HTTPS-backend/authentication.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/deployment.yaml b/04-Backends/09-HTTPS-backend/deployment.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/deployment.yaml rename to 04-Backends/09-HTTPS-backend/deployment.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/gateway.yaml b/04-Backends/09-HTTPS-backend/gateway.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/gateway.yaml rename to 04-Backends/09-HTTPS-backend/gateway.yaml diff --git a/04-Backends/README.md b/04-Backends/README.md new file mode 100644 index 0000000..e69de29 diff --git a/03-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml b/05-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml rename to 05-Sidecar/01-ingress-proxy-forwarding/Deployment.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml b/05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml rename to 05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/README.md b/05-Sidecar/01-ingress-proxy-forwarding/README.md similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/README.md rename to 05-Sidecar/01-ingress-proxy-forwarding/README.md diff --git a/03-Sidecar/01-ingress-proxy-forwarding/Service.yaml b/05-Sidecar/01-ingress-proxy-forwarding/Service.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/Service.yaml rename to 05-Sidecar/01-ingress-proxy-forwarding/Service.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml b/05-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml rename to 05-Sidecar/01-ingress-proxy-forwarding/Sidecar.yaml diff --git a/03-Sidecar/README.md b/05-Sidecar/README.md similarity index 100% rename from 03-Sidecar/README.md rename to 05-Sidecar/README.md diff --git a/04-Envoy/01-envoy_add_headers/README.md b/06-Envoy/01-envoy_add_headers/README.md similarity index 100% rename from 04-Envoy/01-envoy_add_headers/README.md rename to 06-Envoy/01-envoy_add_headers/README.md diff --git a/04-Envoy/01-envoy_add_headers/deployment.yaml b/06-Envoy/01-envoy_add_headers/deployment.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/deployment.yaml rename to 06-Envoy/01-envoy_add_headers/deployment.yaml diff --git a/04-Envoy/01-envoy_add_headers/envoy.yaml b/06-Envoy/01-envoy_add_headers/envoy.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/envoy.yaml rename to 06-Envoy/01-envoy_add_headers/envoy.yaml diff --git a/04-Envoy/01-envoy_add_headers/envoy2.yaml b/06-Envoy/01-envoy_add_headers/envoy2.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/envoy2.yaml rename to 06-Envoy/01-envoy_add_headers/envoy2.yaml diff --git a/04-Envoy/01-envoy_add_headers/gateway.yaml b/06-Envoy/01-envoy_add_headers/gateway.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/gateway.yaml rename to 06-Envoy/01-envoy_add_headers/gateway.yaml diff --git a/04-Envoy/README.md b/06-Envoy/README.md similarity index 100% rename from 04-Envoy/README.md rename to 06-Envoy/README.md diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/README.md b/07-MeshConfig/01-Outboud-Traffic-Policy/README.md similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/README.md rename to 07-MeshConfig/01-Outboud-Traffic-Policy/README.md diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml b/07-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml rename to 07-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml b/07-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml rename to 07-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml diff --git a/05-MeshConfig/README.md b/07-MeshConfig/README.md similarity index 100% rename from 05-MeshConfig/README.md rename to 07-MeshConfig/README.md diff --git a/06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml b/08-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml rename to 08-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/README.md b/08-AuthorizationPolicy/01-target-namespaces/README.md similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/README.md rename to 08-AuthorizationPolicy/01-target-namespaces/README.md diff --git a/06-AuthorizationPolicy/01-target-namespaces/authentication.yaml b/08-AuthorizationPolicy/01-target-namespaces/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/authentication.yaml rename to 08-AuthorizationPolicy/01-target-namespaces/authentication.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/deployment.yaml b/08-AuthorizationPolicy/01-target-namespaces/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/deployment.yaml rename to 08-AuthorizationPolicy/01-target-namespaces/deployment.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml b/08-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml rename to 08-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/gateway.yaml b/08-AuthorizationPolicy/01-target-namespaces/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/gateway.yaml rename to 08-AuthorizationPolicy/01-target-namespaces/gateway.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml b/08-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml b/08-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/README.md b/08-AuthorizationPolicy/02-target-service-accounts/README.md similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/README.md rename to 08-AuthorizationPolicy/02-target-service-accounts/README.md diff --git a/06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml b/08-AuthorizationPolicy/02-target-service-accounts/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/authentication.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml b/08-AuthorizationPolicy/02-target-service-accounts/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/deployment.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml b/08-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml b/08-AuthorizationPolicy/02-target-service-accounts/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml rename to 08-AuthorizationPolicy/02-target-service-accounts/gateway.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml b/08-AuthorizationPolicy/03-target-deployments/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml rename to 08-AuthorizationPolicy/03-target-deployments/01-namespace.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/README.md b/08-AuthorizationPolicy/03-target-deployments/README.md similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/README.md rename to 08-AuthorizationPolicy/03-target-deployments/README.md diff --git a/06-AuthorizationPolicy/03-target-deployments/authentication.yaml b/08-AuthorizationPolicy/03-target-deployments/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/authentication.yaml rename to 08-AuthorizationPolicy/03-target-deployments/authentication.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/deployment.yaml b/08-AuthorizationPolicy/03-target-deployments/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/deployment.yaml rename to 08-AuthorizationPolicy/03-target-deployments/deployment.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml b/08-AuthorizationPolicy/03-target-deployments/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml rename to 08-AuthorizationPolicy/03-target-deployments/deployment_2.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/gateway.yaml b/08-AuthorizationPolicy/03-target-deployments/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/gateway.yaml rename to 08-AuthorizationPolicy/03-target-deployments/gateway.yaml diff --git a/06-AuthorizationPolicy/README.md b/08-AuthorizationPolicy/README.md similarity index 100% rename from 06-AuthorizationPolicy/README.md rename to 08-AuthorizationPolicy/README.md diff --git a/10-mTLS_PeerAuthentication/01-disable-mTLS/README.md b/10-mTLS_PeerAuthentication/01-disable-mTLS/README.md index 9d45257..52cbaf7 100644 --- a/10-mTLS_PeerAuthentication/01-disable-mTLS/README.md +++ b/10-mTLS_PeerAuthentication/01-disable-mTLS/README.md @@ -558,7 +558,7 @@ On this scenario, we met a fatal error, not allowing us to access the service, u From my understanding, not only from this interaction, but from investigating through Istio forums (yet I don't have the link handy, so take this words with some grains of salt), **the traffic cannot be double terminated**, for such if we have an `HTTPS` backend, we might require to disable `mTLS` in order to communicate with it. We also would need to set a [Destination Rule like we did further above](#destination-rule), to specify that the traffic must be terminated with the backend (`tls.mode: STRICT`). -Yet this depends on which would be our architecture, due also being able to set up [TLS Passthrough](../../02-Traffic_management/11-TLS-PASSTHROUGH), or use a [TCP Forwarding](../../02-Traffic_management/10-TCP-FORWARDING). +Yet this depends on which would be our architecture, due also being able to set up [TLS Passthrough](../../03-Gateway_Ingress/11-TLS-PASSTHROUGH), or use a [TCP Forwarding](../../03-Gateway_Ingress/10-TCP-FORWARDING). ```shell curl 192.168.1.50/https-mTLS diff --git a/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md index e860918..3a1f688 100755 --- a/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md +++ b/90-MixConfigs/06-HTTPS-Gateway_Service_Entry/README.md @@ -8,7 +8,7 @@ The page used as a destination is my own [GitHub page](https://github.com/). # Based on -- [05-hello_world_1_Service_Entry](../../02-Traffic_management/05-Service_Entry) +- [05-hello_world_1_Service_Entry](../../04-Backends/05-Service_Entry) # Configuration @@ -75,7 +75,7 @@ The path `/external` will forward the request towards the destination URL `githu Highlight that the destination is `github.com`, which is the same as the contents set on the field `host` from the [ServiceEntry resource configured above](#serviceentry). -As seen [in the previous example, where the host that didn't have the `HOST` header wasn't able to receive a response by the destination](../../02-Traffic_management/05-Service_Entry/#external-noh), we configured the `HOST` header to match the URL from the external service. +As seen [in the previous example, where the host that didn't have the `HOST` header wasn't able to receive a response by the destination](../../04-Backends/05-Service_Entry/#external-noh), we configured the `HOST` header to match the URL from the external service. ```yaml apiVersion: networking.istio.io/v1alpha3 @@ -108,7 +108,7 @@ spec: ## DestinationRule -As seen in the example [02-Traffic_management/09-HTTPS-backend](../../02-Traffic_management/09-HTTPS-backend), where we configure Istio to use an `HTTPS` backend, the same configuration is applied on this case (yes, I am aware that a `ServiceEntry` is also a backend). +As seen in the example [02-Traffic_management/09-HTTPS-backend](../../04-Backends/09-HTTPS-backend), where we configure Istio to use an `HTTPS` backend, the same configuration is applied on this case (yes, I am aware that a `ServiceEntry` is also a backend). For such, we deploy a `DestinationRule` setting to expect to terminate the TLS traffic, for the traffic with resource destination `github.com`, and port `8443`, which matches the settings set in our [ServiceEntry](#serviceentry) deployed. -- 2.47.2 From 5059a13888582bce6c2378aaef73d7952522a488 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Wed, 10 May 2023 10:51:56 +0200 Subject: [PATCH 10/21] 01-Host_Based_Routing documented --- .../01-Host_Based_Routing/Deployment.yaml | 25 ++ .../01-Host_Based_Routing/Gateway.yaml | 14 ++ .../01-Host_Based_Routing/README.md | 238 ++++++++++++++++++ .../01-Host_Based_Routing/Service.yaml | 13 + .../01-Host_Based_Routing/VirtualService.yaml | 20 ++ 5 files changed, 310 insertions(+) create mode 100755 03-Gateway_Ingress/01-Host_Based_Routing/Deployment.yaml create mode 100644 03-Gateway_Ingress/01-Host_Based_Routing/Gateway.yaml create mode 100755 03-Gateway_Ingress/01-Host_Based_Routing/README.md create mode 100644 03-Gateway_Ingress/01-Host_Based_Routing/Service.yaml create mode 100755 03-Gateway_Ingress/01-Host_Based_Routing/VirtualService.yaml diff --git a/03-Gateway_Ingress/01-Host_Based_Routing/Deployment.yaml b/03-Gateway_Ingress/01-Host_Based_Routing/Deployment.yaml new file mode 100755 index 0000000..233fd2c --- /dev/null +++ b/03-Gateway_Ingress/01-Host_Based_Routing/Deployment.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 diff --git a/03-Gateway_Ingress/01-Host_Based_Routing/Gateway.yaml b/03-Gateway_Ingress/01-Host_Based_Routing/Gateway.yaml new file mode 100644 index 0000000..14aa061 --- /dev/null +++ b/03-Gateway_Ingress/01-Host_Based_Routing/Gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "my.domain" \ No newline at end of file diff --git a/03-Gateway_Ingress/01-Host_Based_Routing/README.md b/03-Gateway_Ingress/01-Host_Based_Routing/README.md new file mode 100755 index 0000000..93676e5 --- /dev/null +++ b/03-Gateway_Ingress/01-Host_Based_Routing/README.md @@ -0,0 +1,238 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +This example deploys the same infrastructure as the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), and restricts the access to the gateway based on the domain host from the destination URL. + +The domain host targeted will be `my.domain`. + +This example configures: + + Generic Kubernetes resources: + - 1 Service + - 1 Deployment + + Istio resources: + - 1 Gateway + - 1 Virtual Service + +> **Note:**\ +> I don't intend to explain thing related to Kubernetes unless necessary. + + +# Based on + +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment + +# Configuration + +## Service + +Creates a service named `helloworld`. + +This service listens for the port `80` expecting `HTTP` traffic and will forward the incoming traffic towards the port `80` from the destination pod. + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld +``` + +## Deployment + +Deploys a Nginx server that listens for the port `80`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` + +## Gateway + +Deploys an Istio gateway that's listening to the port `80` for `HTTP` traffic. + +The gateway only will allow the traffic that uses as a URL host: `my.domain`. + +The `selector` field is used to "choose" which Istio Load Balancers will have this gateway assigned to. + +The Istio `default` profile creates a Load Balancer in the namespace `istio-system` that has the label `istio: ingressgateway` set, allowing us to target that specific Load Balancer and assign this gateway resource to it. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "my.domain" +``` + +## VirtualService + +The Virtual Service resources are used to route and filter the received traffic from the gateway resources, and route it towards the desired destination. + +On this example we select the gateway `helloworld-gateway`, which is the [gateway that 's described in the `Gateway` section](#gateway). + +On this resource, we are also not limiting the incoming traffic to any specific host, allowing for all the incoming traffic to go through the rules set. + +Here we created a rule that will be applied on `HTTP` related traffic (including `HTTPS` and `HTTP2`) when the destination path is exactly `/helloworld`. + +This traffic will be forwarded to the port `80` of the destination service `helloworld` (the full path URL equivalent would be `helloworld.$NAMESPACE.svc.cluster.local`). + +Additionally, there will be an internal URL rewrite set, as if the URL is not modified, it would attempt to reach to the `/helloworld` path from the Nginx deployment, which currently has no content and would result in an error code `404` (Not found). + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld + port: + number: 80 + rewrite: + uri: "/" +``` + +# Walkthrough + +## Deploy resources + +Deploy the resources. + +```shell +kubectl apply -f ./ +``` +```text +deployment.apps/helloworld-nginx created +gateway.networking.istio.io/helloworld-gateway created +service/helloworld created +virtualservice.networking.istio.io/helloworld-vs created +``` + +## Wait for the deployment to be ready + +Wait for the Nginx deployment to be up and ready. + +```shell +kubectl get deployment helloworld-nginx -w +``` +```text +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-nginx 1/1 1 1 44s +``` + +## Test the service + +### Get LB IP + +To perform the desired tests, we will need to obtain the IP Istio Load Balancer that we selected in the [Gateway section](#gateway). + +On my environment, the IP is the `192.168.1.50`. + +```shell +kubectl get svc -l istio=ingressgateway -A +``` +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.97.47.216 192.168.1.50 15021:31316/TCP,80:32012/TCP,443:32486/TCP 39h +``` + +### Curl /helloworld + +When performing a curl towards the destination path, as we are not using the domain host specified in the [gateway resource](#gateway), we are failing to match any rule. + +```shell + curl 192.168.1.50/helloworld -I +``` +```text +HTTP/1.1 404 Not Found +date: Wed, 10 May 2023 08:25:26 GMT +server: istio-envoy +transfer-encoding: chunked +``` + +### Curl my.domain/helloworld + +We can "fake" the destination domain by modifying the `Host` header. + +After setting that up, and attempting to curl the destination, we receive a positive response from the Nginx backend. + +```shell +curl 192.168.1.50/helloworld -s -HHOST:my.domain | grep ".*" +``` +```text +Welcome to nginx! +``` + + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +deployment.apps "helloworld-nginx" deleted +gateway.networking.istio.io "helloworld-gateway" deleted +service "helloworld" deleted +virtualservice.networking.istio.io "helloworld-vs" deleted +``` + +# Links of interest + +- https://istio.io/latest/docs/reference/config/networking/gateway/ \ No newline at end of file diff --git a/03-Gateway_Ingress/01-Host_Based_Routing/Service.yaml b/03-Gateway_Ingress/01-Host_Based_Routing/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/03-Gateway_Ingress/01-Host_Based_Routing/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/03-Gateway_Ingress/01-Host_Based_Routing/VirtualService.yaml b/03-Gateway_Ingress/01-Host_Based_Routing/VirtualService.yaml new file mode 100755 index 0000000..205231b --- /dev/null +++ b/03-Gateway_Ingress/01-Host_Based_Routing/VirtualService.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld + port: + number: 80 + rewrite: + uri: "/" \ No newline at end of file -- 2.47.2 From 4bd53c84de5f56da3b08027d1e2b057b4c68ee3e Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 07:44:53 +0200 Subject: [PATCH 11/21] 02-Target_Namespace documented --- .../02-Target_Namespace/01-namespace.yaml | 4 + .../02-Target_Namespace/Deployment.yaml | 25 ++ .../02-Target_Namespace/Gateway.yaml | 14 + .../02-Target_Namespace/README.md | 294 ++++++++++++++++++ .../02-Target_Namespace/Service.yaml | 13 + .../02-Target_Namespace/VirtualService.yaml | 43 +++ 6 files changed, 393 insertions(+) create mode 100755 03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml create mode 100755 03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml create mode 100644 03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml create mode 100755 03-Gateway_Ingress/02-Target_Namespace/README.md create mode 100644 03-Gateway_Ingress/02-Target_Namespace/Service.yaml create mode 100755 03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml diff --git a/03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml b/03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml new file mode 100755 index 0000000..8e80824 --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: foo \ No newline at end of file diff --git a/03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml b/03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml new file mode 100755 index 0000000..233fd2c --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 diff --git a/03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml b/03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml new file mode 100644 index 0000000..c314947 --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml @@ -0,0 +1,14 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 80 + name: http-b + protocol: HTTP + hosts: + - "foo/*" \ No newline at end of file diff --git a/03-Gateway_Ingress/02-Target_Namespace/README.md b/03-Gateway_Ingress/02-Target_Namespace/README.md new file mode 100755 index 0000000..940472d --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/README.md @@ -0,0 +1,294 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +This example deploys the same infrastructure as the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), and restrict which `VirtualService` Istio resources can access/select the `Gateway` Istio resource, based on the `VirtualService` namespace. + +The domain host targeted will be `my.domain`. + +This example configures: + + Generic Kubernetes resources: + - 1 Service + - 1 Deployment + - 1 Namespace + + Istio resources (`default` namespace): + - 1 Gateway + - Virtual Service + + Istio resources (`foo`namespace): + - 1 Virtual Service + +> **Note:**\ +> I don't intend to explain thing related to Kubernetes unless necessary. + +# Based on + +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment + +# Configuration + +## Service + +Creates a service named `helloworld`. + +This service listens for the port `80` expecting `HTTP` traffic and will forward the incoming traffic towards the port `80` from the destination pod. + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld +``` + +## Deployment + +Deploys a Nginx server that listens for the port `80`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` + +## Namespace + +Creates a namespace named `foo`. + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: foo +``` + +## Gateway + +Deploys an Istio gateway that's listening to the port `80` for `HTTP` traffic. + +The gateway won't target any specific host domain, yet limits the `VirtualService` Istio resources that can target this gateway, limiting its access to the `VirtualServices` Istio resources created in the `foo` namespace. + +The `selector` field is used to "choose" which Istio Load Balancers will have this gateway assigned to. + +The Istio `default` profile creates a Load Balancer in the namespace `istio-system` that has the label `istio: ingressgateway` set, allowing us to target that specific Load Balancer and assign this gateway resource to it. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 80 + name: http-b + protocol: HTTP + hosts: + - "foo/*" +``` + +## VirtualService + +We will create two `VirtualServices` with the same configuration, only difference will be the namespace they are created onto (and the destination path), this will be used to test if the [`Gateway` namespace restriction configured](#gateway) is being applied to the `VirtualService` resources as desired. + +On this example we select the gateway `helloworld-gateway`, which is the [gateway that 's described in the `Gateway` section](#gateway). + +On this resource, we are also not limiting the incoming traffic to any specific host, allowing for all the incoming traffic to go through the rules set. + +Additionally, there will be an internal URL rewrite set, as if the URL is not modified, it would attempt to reach to the `/helloworld` path from the Nginx deployment, which currently has no content and would result in an error code `404` (Not found). + + +## helloworld-foo + +`VirtualService` created in the namespace `foo`. + +Here we created a rule that will be applied on `HTTP` related traffic (including `HTTPS` and `HTTP2`) when the destination path is exactly `/helloworld`. + +This traffic will be forwarded to the port `80` of the destination service `helloworld.default.svc.cluster.local`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-foo + namespace: foo +spec: + hosts: + - "*" + gateways: + - default/helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + rewrite: + uri: "/" +``` + +## helloworld-default + +`VirtualService` created in the namespace `default`. + +Here we created a rule that will be applied on `HTTP` related traffic (including `HTTPS` and `HTTP2`) when the destination path is exactly `/failure`. + +This traffic will be forwarded to the port `80` of the destination service `helloworld.default.svc.cluster.local`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-default + namespace: default +spec: + hosts: + - "*" + gateways: + - default/helloworld-gateway + http: + - match: + - uri: + exact: /failure + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + rewrite: + uri: "/" +``` + +# Walkthrough + +## Deploy resources + +Deploy the resources. + +```shell +kubectl apply -f ./ +``` +```text +namespace/foo created +deployment.apps/helloworld-nginx created +gateway.networking.istio.io/helloworld-gateway created +service/helloworld created +virtualservice.networking.istio.io/helloworld-foo created +virtualservice.networking.istio.io/helloworld-default created +``` + +## Wait for the deployment to be ready + +Wait for the Nginx deployment to be up and ready. + +```shell +kubectl get deployment helloworld-nginx -w +``` +```text +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-nginx 1/1 1 1 44s +``` + +## Test the service + +### Get LB IP + +To perform the desired tests, we will need to obtain the IP Istio Load Balancer that we selected in the [Gateway section](#gateway). + +On my environment, the IP is the `192.168.1.50`. + +```shell +kubectl get svc -l istio=ingressgateway -A +``` +```text +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +istio-ingressgateway LoadBalancer 10.97.47.216 192.168.1.50 15021:31316/TCP,80:32012/TCP,443:32486/TCP 39h +``` + +### Curl /helloworld + +When performing a curl towards the destination path, as we are not using the domain host specified in the [gateway resource](#gateway), we are failing to match any rule. + +```shell + curl 192.168.1.50/helloworld -I +``` +```text +HTTP/1.1 404 Not Found +date: Wed, 10 May 2023 08:25:26 GMT +server: istio-envoy +transfer-encoding: chunked +``` + +### Curl my.domain/helloworld + +We can "fake" the destination domain by modifying the `Host` header. + +After setting that up, and attempting to curl the destination, we receive a positive response from the Nginx backend. + +```shell +curl 192.168.1.50/helloworld -s -HHOST:my.domain | grep ".*" +``` +```text +Welcome to nginx! +``` + + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +namespace "foo" deleted +deployment.apps "helloworld-nginx" deleted +gateway.networking.istio.io "helloworld-gateway" deleted +service "helloworld" deleted +virtualservice.networking.istio.io "helloworld-foo" deleted +virtualservice.networking.istio.io "helloworld-default" deleted +``` + +# Links of interest + +- https://istio.io/latest/docs/reference/config/networking/gateway/ \ No newline at end of file diff --git a/03-Gateway_Ingress/02-Target_Namespace/Service.yaml b/03-Gateway_Ingress/02-Target_Namespace/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml b/03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml new file mode 100755 index 0000000..a503d09 --- /dev/null +++ b/03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml @@ -0,0 +1,43 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-foo + namespace: foo +spec: + hosts: + - "*" + gateways: + - default/helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + rewrite: + uri: "/" +--- +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-default + namespace: default +spec: + hosts: + - "*" + gateways: + - default/helloworld-gateway + http: + - match: + - uri: + exact: /failure + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 80 + rewrite: + uri: "/" \ No newline at end of file -- 2.47.2 From 4940fdd3b78d3fd715f0dd66fd7e57d9e32fb727 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 07:46:38 +0200 Subject: [PATCH 12/21] renamed "Target_Namespaces" to 02-Restrict_Namespace, documented --- .../01-namespace.yaml | 0 .../Deployment.yaml | 0 .../{02-Target_Namespace => 02-Restrict_Namespaces}/Gateway.yaml | 0 .../{02-Target_Namespace => 02-Restrict_Namespaces}/README.md | 0 .../{02-Target_Namespace => 02-Restrict_Namespaces}/Service.yaml | 0 .../VirtualService.yaml | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/01-namespace.yaml (100%) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/Deployment.yaml (100%) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/Gateway.yaml (100%) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/README.md (100%) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/Service.yaml (100%) rename 03-Gateway_Ingress/{02-Target_Namespace => 02-Restrict_Namespaces}/VirtualService.yaml (100%) diff --git a/03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml b/03-Gateway_Ingress/02-Restrict_Namespaces/01-namespace.yaml similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/01-namespace.yaml rename to 03-Gateway_Ingress/02-Restrict_Namespaces/01-namespace.yaml diff --git a/03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml b/03-Gateway_Ingress/02-Restrict_Namespaces/Deployment.yaml similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/Deployment.yaml rename to 03-Gateway_Ingress/02-Restrict_Namespaces/Deployment.yaml diff --git a/03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml b/03-Gateway_Ingress/02-Restrict_Namespaces/Gateway.yaml similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/Gateway.yaml rename to 03-Gateway_Ingress/02-Restrict_Namespaces/Gateway.yaml diff --git a/03-Gateway_Ingress/02-Target_Namespace/README.md b/03-Gateway_Ingress/02-Restrict_Namespaces/README.md similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/README.md rename to 03-Gateway_Ingress/02-Restrict_Namespaces/README.md diff --git a/03-Gateway_Ingress/02-Target_Namespace/Service.yaml b/03-Gateway_Ingress/02-Restrict_Namespaces/Service.yaml similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/Service.yaml rename to 03-Gateway_Ingress/02-Restrict_Namespaces/Service.yaml diff --git a/03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml b/03-Gateway_Ingress/02-Restrict_Namespaces/VirtualService.yaml similarity index 100% rename from 03-Gateway_Ingress/02-Target_Namespace/VirtualService.yaml rename to 03-Gateway_Ingress/02-Restrict_Namespaces/VirtualService.yaml -- 2.47.2 From 9fbc2c5f1fe367f5f70013a0a98d544004fe3e05 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 08:21:42 +0200 Subject: [PATCH 13/21] spelling fix --- 07-MeshConfig/01-Outboud-Traffic-Policy/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/07-MeshConfig/01-Outboud-Traffic-Policy/README.md b/07-MeshConfig/01-Outboud-Traffic-Policy/README.md index b42b823..715faa2 100755 --- a/07-MeshConfig/01-Outboud-Traffic-Policy/README.md +++ b/07-MeshConfig/01-Outboud-Traffic-Policy/README.md @@ -10,7 +10,7 @@ On this example compares the behavior between setting up the MeshConfig `Outboun - REGISTRY_ONLY: Restricted to services that figure in the service registry a and the ServiceEntry objects. -More info regarding this configuration at the pertintent documentation (https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-OutboundTrafficPolicy-Mode) +More info regarding this configuration at the pertinent documentation (https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-OutboundTrafficPolicy-Mode) ## Runthrough @@ -70,7 +70,7 @@ server: istio-envoy ### Test egress the helloworld deployment -It returns a 301 code, meaning that it was able to reach the destination and it was attempted to redirect the traffic from HTTP to HTTPS. +It returns a 301 code, meaning that it was able to reach the destination, and it was attempted to redirect the traffic from HTTP to HTTPS. ```shell $ kubectl exec -i -t "$(kubectl get pod -l app=helloworld | tail -n 1 | awk '{print $1}')" -- curl wikipedia.com -I -- 2.47.2 From faf8b08e775ea0815f4fdb828d1cf877513c052d Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 08:24:21 +0200 Subject: [PATCH 14/21] Assigned the number 12 to CircuitBreaking --- {XX-CirtcuitBreaking => 12-CircuitBreaking}/Deployment.yaml | 0 {XX-CirtcuitBreaking => 12-CircuitBreaking}/DestinationRule.yaml | 0 {XX-CirtcuitBreaking => 12-CircuitBreaking}/Fortio.yaml | 0 {XX-CirtcuitBreaking => 12-CircuitBreaking}/README.md | 0 {XX-CirtcuitBreaking => 12-CircuitBreaking}/Service.yaml | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename {XX-CirtcuitBreaking => 12-CircuitBreaking}/Deployment.yaml (100%) rename {XX-CirtcuitBreaking => 12-CircuitBreaking}/DestinationRule.yaml (100%) rename {XX-CirtcuitBreaking => 12-CircuitBreaking}/Fortio.yaml (100%) rename {XX-CirtcuitBreaking => 12-CircuitBreaking}/README.md (100%) rename {XX-CirtcuitBreaking => 12-CircuitBreaking}/Service.yaml (100%) diff --git a/XX-CirtcuitBreaking/Deployment.yaml b/12-CircuitBreaking/Deployment.yaml similarity index 100% rename from XX-CirtcuitBreaking/Deployment.yaml rename to 12-CircuitBreaking/Deployment.yaml diff --git a/XX-CirtcuitBreaking/DestinationRule.yaml b/12-CircuitBreaking/DestinationRule.yaml similarity index 100% rename from XX-CirtcuitBreaking/DestinationRule.yaml rename to 12-CircuitBreaking/DestinationRule.yaml diff --git a/XX-CirtcuitBreaking/Fortio.yaml b/12-CircuitBreaking/Fortio.yaml similarity index 100% rename from XX-CirtcuitBreaking/Fortio.yaml rename to 12-CircuitBreaking/Fortio.yaml diff --git a/XX-CirtcuitBreaking/README.md b/12-CircuitBreaking/README.md similarity index 100% rename from XX-CirtcuitBreaking/README.md rename to 12-CircuitBreaking/README.md diff --git a/XX-CirtcuitBreaking/Service.yaml b/12-CircuitBreaking/Service.yaml similarity index 100% rename from XX-CirtcuitBreaking/Service.yaml rename to 12-CircuitBreaking/Service.yaml -- 2.47.2 From 57e858f4161e6905d6e6ac24838a70a4a22e4d22 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 10:10:56 +0200 Subject: [PATCH 15/21] 01-ingress-proxy-forwarding documented. --- .../01-ingress-proxy-forwarding/Gateway.yaml | 21 -- .../01-ingress-proxy-forwarding/README.md | 241 +++++++++++++----- .../VirtualService.yaml | 20 ++ 3 files changed, 200 insertions(+), 82 deletions(-) create mode 100644 05-Sidecar/01-ingress-proxy-forwarding/VirtualService.yaml diff --git a/05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml b/05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml index cb147c2..456e384 100755 --- a/05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml +++ b/05-Sidecar/01-ingress-proxy-forwarding/Gateway.yaml @@ -12,24 +12,3 @@ spec: protocol: HTTP hosts: - "*" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: VirtualService -metadata: - name: helloworld-vs -spec: - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld.default.svc.cluster.local - port: - number: 8080 - rewrite: - uri: "/" \ No newline at end of file diff --git a/05-Sidecar/01-ingress-proxy-forwarding/README.md b/05-Sidecar/01-ingress-proxy-forwarding/README.md index b551f03..0bc2a1d 100755 --- a/05-Sidecar/01-ingress-proxy-forwarding/README.md +++ b/05-Sidecar/01-ingress-proxy-forwarding/README.md @@ -1,50 +1,105 @@ -# Continues from - -- 01-hello_world_1_service_1_deployment - -# TO TRAFFIC PATH DIAGRAM - -`etc -> "POD" -> sidecar -> service container` +--- +gitea: none +include_toc: true +--- # Description -This example configures the sidecar proxy on the pods created, to forward the traffic incoming from the port `8080` to the port `80` +This example deploys the same infrastructure as the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), configures the **sidecar** `envoy-proxy`/`istio-proxy`/`sidecar-proxy` on the pods created, to forward the traffic incoming from the port `8080` to the port `80`. -## Files +This example configures: -- deployment.yaml -- gateway.yaml -- sidecar.yaml + Generic Kubernetes resources: + - 1 Service + - 1 Deployment + + Istio resources: + - 1 Gateway + - 1 Virtual Service + - 1 Sidecar configration -> Added the `sidecar.yaml` file. +# Based on -## deployment.yaml +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) -### Creates +# Configuration -#### Service +`etc -> "POD" -> sidecar -> service container` -- helloworld +## Service -#### Deployments +Creates a service named `helloworld`. -- helloworld-nginx (Nginx container) +This service listens for the port `8080` expecting `HTTP` traffic and will forward the incoming traffic towards the port `8080` from the destination pod. -## gateway.yaml +```yaml +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld +spec: + ports: + - port: 8080 + name: http + selector: + app: helloworld +``` -### Creates +## Deployment -#### Gateway +Deploys a Nginx server that listens for the port `80`. -##### helloworld-gateway +We can notice how in the service we opened the port `8080` and in the deployment we are listening to the port `80`, more about this in the [Sidecar Section](#sidecar). -###### Configuration +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-nginx + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` -```yml -... + +## Gateway + +Deploys an Istio gateway that's listening to the port `80` for `HTTP` traffic. + +It doesn't filter for any specific host. + +The `selector` field is used to "choose" which Istio Load Balancers will have this gateway assigned to. + +The Istio `default` profile creates a Load Balancer in the namespace `istio-system` that has the label `istio: ingressgateway` set, allowing us to target that specific Load Balancer and assign this gateway resource to it. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway spec: selector: - istio: ingressgateway # use istio default controller + istio: ingressgateway servers: - port: number: 80 @@ -54,14 +109,25 @@ spec: - "*" ``` -#### VirtualService +## VirtualService -##### helloworld-vs +The Virtual Service resources are used to route and filter the received traffic from the gateway resources, and route it towards the desired destination. -###### Configuration +On this example we select the gateway `helloworld-gateway`, which is the [gateway that 's described in the `Gateway` section](#gateway). + +On this resource, we are also not limiting the incoming traffic to any specific host, allowing for all the incoming traffic to go through the rules set. + +Here we created a rule that will be applied on `HTTP` related traffic when the destination path is exactly `/helloworld`. + +This traffic will be forwarded to the port `8080` of the destination service `helloworld` (the full path URL equivalent would be `helloworld.$NAMESPACE.svc.cluster.local`). + +Additionally, there will be an internal URL rewrite set, as if the URL is not modified, it would attempt to reach to the `/helloworld` path from the Nginx deployment, which currently has no content and would result in an error code `404` (Not found). ```yaml -... +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs spec: hosts: - "*" @@ -73,27 +139,46 @@ spec: exact: /helloworld route: - destination: - host: helloworld.default.svc.cluster.local + host: helloworld port: - number: 8080 + number: 80 rewrite: uri: "/" ``` -- On this example, we are using the port `8080` as a destination. +## Sidecar -## sidecar.yaml +This will configure the sidecar configuration from the `envoy-proxy` in each pod. -### creates +`workloadSelector` will be used to select the target pods, where, on this scenario, it will target the pods that have the label set `app: helloworld`. -#### sidecar +The ingress configuration set, will listen for the port `8080` from the pod, and forward it to the pod's port `80` through the loopback (127.0.0.1) IP. -##### helloworld-sidecar +On this scenario we are performing a simple `8080` to `80` redirect. + +> **Note:**\ +> A reminder that a `POD` is an object that groups container(s). + ++ more notes: + +- workloadSelector: + +> `workloadSelector` is used to target the `PODS`, on which apply this sidecar configuration. \ +> Bear in mind that this configuration doesn't target kinds `Service`, nor `Deployment`, it's applied to a kind `Pod` or `ServiceEntry` \ +> If there is no `workloadSelector` specified, it will be used as default configuration for the namespace on which was created. \ +> More info in the [Istio documentation for workloadSelector](https://istio.io/latest/docs/reference/config/networking/sidecar/#WorkloadSelector) + +- ingress: + +> Configure the behavior of the ingress traffic.\ +> On this "grabs"/targets the ingress traffic with port 8080, and forwards it to the port IP `127.0.0.1` (loopback) respective to the destination pod, with the destination port set to 80, which is the port that the service is currently listening to. -###### Configuration ```yaml -... +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: helloworld-sidecar spec: workloadSelector: labels: @@ -104,37 +189,31 @@ spec: protocol: HTTP name: ingressport defaultEndpoint: 127.0.0.1:80 -```` - -workloadSelector: - -> `workloadSelector` is used to target the `PODS`, on which apply this sidecar configuration. \ -> Bear in mind that this configuration doesn't target kinds `Service`, nor `Deployment`, it's applied to a kind `Pod` or `ServiceEntry` \ -> If there is no `workloadSelector` specified, it will be used as default configuration for the namespace on which was created. \ -> More info in the [Istio documentation for workloadSelector](https://istio.io/latest/docs/reference/config/networking/sidecar/#WorkloadSelector) - -ingress: - -> Configure the behavior of the ingress traffic.\ -> On this "grabs"/targets the ingress traffic with port 8080, and forwards it to the port IP `127.0.0.1` (loopback) respective to the destination pod, with the destination port set to 80, which is the port that the service is currently listening to. +``` # Run example ## Deploy resources ```shell -$ kubectl apply -f ./ -service/helloworld created +kubectl apply -f ./ +``` + +```text deployment.apps/helloworld-nginx created gateway.networking.istio.io/helloworld-gateway created -virtualservice.networking.istio.io/helloworld-vs created +service/helloworld created sidecar.networking.istio.io/helloworld-sidecar created +virtualservice.networking.istio.io/helloworld-vs created ``` ## Wait for the pods to be ready ```shell -$ kubectl get deployment helloworld-nginx -w +kubectl get deployment helloworld-nginx -w +``` + +```text NAME READY UP-TO-DATE AVAILABLE AGE helloworld-nginx 1/1 1 1 39s ``` @@ -143,30 +222,70 @@ helloworld-nginx 1/1 1 1 39s ### Get LB IP +To perform the desired tests, we will need to obtain the IP Istio Load Balancer that we selected in the [Gateway section](#gateway). + +On my environment, the IP is the `192.168.1.50`. + ```shell -$ kubectl get svc istio-ingressgateway -n istio-system +kubectl get svc -l istio=ingressgateway -A +``` +```text NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 10.97.47.216 192.168.1.50 15021:31316/TCP,80:32012/TCP,443:32486/TCP 39h ``` ### Curl +We can perform a curl towards the destination. + +A reminder that the configuration set in the [service](#service) created, it's listening to the port `8080` and forwarding the traffic to the same pod (`8080`). + +As well on the Istio's [VirtualService](#virtualservice), we configured the destination port as `8080`. + +Yet, on the [Sidecar](#sidecar) configuration, we are redirecting the ingress traffic from the port `8080`, to the port `80`. + ```shell -$ curl 192.168.1.50/helloworld -s | grep ".*" +curl 192.168.1.50/helloworld -s | grep ".*" +``` +```text Welcome to nginx! ``` ### Delete the sidecar configuration to force failure. +As per the moment let's delete the `sidecar` configuration deployed. ```shell -$ kubectl delete sidecars.networking.istio.io helloworld-sidecar +kubectl delete sidecars.networking.istio.io helloworld-sidecar +``` +```text sidecar.networking.istio.io "helloworld-sidecar" deleted ``` + ### Curl again +After deleting the `sidecar` configuration, which was handling the ingress traffic from port `8080`, we can observe that we are no longer able to handle the incoming requests, raising an error message. + ```shell -$ curl 192.168.1.50/helloworld -s +curl 192.168.1.50/helloworld -s +``` +```text upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: delayed connect error: 111 ``` +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +deployment.apps "helloworld-nginx" deleted +gateway.networking.istio.io "helloworld-gateway" deleted +service "helloworld" deleted +virtualservice.networking.istio.io "helloworld-vs" deleted +Error from server (NotFound): error when deleting "Sidecar.yaml": sidecars.networking.istio.io "helloworld-sidecar" not found +``` + + diff --git a/05-Sidecar/01-ingress-proxy-forwarding/VirtualService.yaml b/05-Sidecar/01-ingress-proxy-forwarding/VirtualService.yaml new file mode 100644 index 0000000..9dd7345 --- /dev/null +++ b/05-Sidecar/01-ingress-proxy-forwarding/VirtualService.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + port: + number: 8080 + rewrite: + uri: "/" \ No newline at end of file -- 2.47.2 From 38a7b70758ea2cd8c7ac2828b9aab805d3948977 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Thu, 11 May 2023 23:23:46 +0200 Subject: [PATCH 16/21] removed an space, wow --- 05-Sidecar/01-ingress-proxy-forwarding/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/05-Sidecar/01-ingress-proxy-forwarding/README.md b/05-Sidecar/01-ingress-proxy-forwarding/README.md index 0bc2a1d..67d04fb 100755 --- a/05-Sidecar/01-ingress-proxy-forwarding/README.md +++ b/05-Sidecar/01-ingress-proxy-forwarding/README.md @@ -264,7 +264,7 @@ sidecar.networking.istio.io "helloworld-sidecar" deleted ### Curl again -After deleting the `sidecar` configuration, which was handling the ingress traffic from port `8080`, we can observe that we are no longer able to handle the incoming requests, raising an error message. +After deleting the `sidecar` configuration, which was handling the ingress traffic from port `8080`, we can observe that we are no longer able to handle the incoming requests, raising an error message. ```shell curl 192.168.1.50/helloworld -s -- 2.47.2 From 6153529f9a96febd14314f7c21ef5abae9bb3b10 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 15 May 2023 02:47:19 +0200 Subject: [PATCH 17/21] Added a link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfb8c7c..e1de249 100755 --- a/README.md +++ b/README.md @@ -114,3 +114,4 @@ https://istio.io/latest/docs/ops/configuration/traffic-management/protocol-selec - https://istiobyexample.dev/ +- https://www.istioworkshop.io/ \ No newline at end of file -- 2.47.2 From 9dbcf712defc4e8835ab183715f127773b8b49a8 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 15 May 2023 02:48:49 +0200 Subject: [PATCH 18/21] Added a link. Added the logs entry of `istio-proxy` container from a pod. --- 00-Troubleshooting/README.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/00-Troubleshooting/README.md b/00-Troubleshooting/README.md index ad90083..fcb5ad1 100644 --- a/00-Troubleshooting/README.md +++ b/00-Troubleshooting/README.md @@ -78,6 +78,26 @@ listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes kubectl logs -n istio-system -f deployments/istiod ``` +## Istio-Proxy Pod + +This will display the logs from a deployment while targeting the `istio-proxy` container from the targeted pod/deployment. + +As well will attach the session to stream new logs. (`-f` `--follow`) + +```shell +kubectl logs deployments/helloworld-default -f -c istio-proxy +``` + +```text +[2023-05-15T00:42:03.699Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.111.90.232:8080 172.17.121.65:52006 - - +[2023-05-15T00:42:24.785Z] "HEAD / HTTP/1.1" 200 - via_upstream - "-" 0 0 2 1 "-" "curl/7.74.0" "c133cbf0-b57d-4fba-8f84-d683ab903399" "helloworld.default.svc.cluster.local" "172.17.121.65:80" inbound|80|| 127.0.0.6:51695 172.17.121.65:80 172.17.121.65:43786 outbound_.80_._.helloworld.default.svc.cluster.local default +[2023-05-15T00:42:24.784Z] "HEAD / HTTP/1.1" 200 - via_upstream - "-" 0 0 5 4 "-" "curl/7.74.0" "c133cbf0-b57d-4fba-8f84-d683ab903399" "helloworld.default.svc.cluster.local" "172.17.121.65:80" outbound|80||helloworld.default.svc.cluster.local 172.17.121.65:43786 10.111.90.232:80 172.17.121.65:57030 - default +[2023-05-15T00:43:23.209Z] "HEAD / HTTP/1.1" 200 - via_upstream - "-" 0 0 6 5 "-" "curl/7.74.0" "e1f0a2f3-93ff-4c41-8cb3-6d3a53fce065" "helloworld.foo.svc.cluster.local" "172.17.247.42:80" outbound|80||helloworld.foo.svc.cluster.local 172.17.121.65:55040 10.109.248.148:80 172.17.121.65:60520 - default +[2023-05-15T00:43:29.751Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.109.248.148:8080 172.17.121.65:40370 - - +[2023-05-15T00:43:31.979Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.109.248.148:8080 172.17.121.65:40402 - - +``` + + ## Ingress The service targeted, `istio-ingressgateway`, is an Ingress Load Balancer service from Istio. @@ -177,4 +197,8 @@ InboundPassthroughClusterIpv4 - - PassthroughCluster - - - ORIGINAL_DST agent - - - STATIC ... -``` \ No newline at end of file +``` + +# Other links + +## [Debugging with Istio](https://www.istioworkshop.io/12-debugging/01-istioctl-debug-command/) -- 2.47.2 From 8ba4495ea7fe6ecf53ab3f2cb58d63a54bc295c9 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 15 May 2023 15:19:28 +0200 Subject: [PATCH 19/21] Documented `02-egress-proxy`. Not to brag, BUT I believe it's fairly godlike. --- 05-Sidecar/02-egress-proxy/01-namespace.yaml | 13 + 05-Sidecar/02-egress-proxy/Deployment.yaml | 80 ++ 05-Sidecar/02-egress-proxy/README.md | 738 +++++++++++++++++++ 05-Sidecar/02-egress-proxy/Service.yaml | 39 + 05-Sidecar/02-egress-proxy/Sidecar.yaml | 62 ++ 5 files changed, 932 insertions(+) create mode 100755 05-Sidecar/02-egress-proxy/01-namespace.yaml create mode 100755 05-Sidecar/02-egress-proxy/Deployment.yaml create mode 100755 05-Sidecar/02-egress-proxy/README.md create mode 100644 05-Sidecar/02-egress-proxy/Service.yaml create mode 100755 05-Sidecar/02-egress-proxy/Sidecar.yaml diff --git a/05-Sidecar/02-egress-proxy/01-namespace.yaml b/05-Sidecar/02-egress-proxy/01-namespace.yaml new file mode 100755 index 0000000..44d6408 --- /dev/null +++ b/05-Sidecar/02-egress-proxy/01-namespace.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: foo + labels: + istio-injection: "enabled" +#--- +#apiVersion: v1 +#kind: Namespace +#metadata: +# name: test +# labels: +# istio-injection: "enabled" \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/Deployment.yaml b/05-Sidecar/02-egress-proxy/Deployment.yaml new file mode 100755 index 0000000..80999e6 --- /dev/null +++ b/05-Sidecar/02-egress-proxy/Deployment.yaml @@ -0,0 +1,80 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-default + labels: + app: helloworld + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-foo + labels: + app: helloworld + namespace: foo +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +#--- +#apiVersion: apps/v1 +#kind: Deployment +#metadata: +# name: helloworld-test +# labels: +# app: helloworld +# namespace: test +#spec: +# replicas: 1 +# selector: +# matchLabels: +# app: helloworld +# template: +# metadata: +# labels: +# app: helloworld +# spec: +# containers: +# - name: helloworld +# image: nginx +# resources: +# requests: +# cpu: "100m" +# imagePullPolicy: IfNotPresent #Always +# ports: +# - containerPort: 80 diff --git a/05-Sidecar/02-egress-proxy/README.md b/05-Sidecar/02-egress-proxy/README.md new file mode 100755 index 0000000..3bed1d9 --- /dev/null +++ b/05-Sidecar/02-egress-proxy/README.md @@ -0,0 +1,738 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +This example deploys the same infrastructure as the [previous example](../../01-Getting_Started/01-hello_world_1_service_1_deployment), configures the **sidecar** `envoy-proxy`/`istio-proxy`/`sidecar-proxy` on the pods created, to limit the egress resources to which the `istio-proxy`, who proxies the traffic from the pod (both ingress and egress), can send request to. + +This will be done through 2 principles: + +This example configures: + + Generic Kubernetes resources: + - 2 Services + - 2 Deployments + - 1 Namespace + + Istio resources: + - 2 Sidecar configrations + +# Based on + +- [01-hello_world_1_service_1_deployment](../../01-Getting_Started/01-hello_world_1_service_1_deployment) + +# Configuration + +## Namespace + +Creates a namespace named `foo` with the `istio-proxy` injection enabled. + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: foo + labels: + istio-injection: "enabled" +``` + +## Service + +### hellowolrd (default/foo namespace) + +Creates two services named `helloworld`, one in the namespace `default`, and another in the namespace `foo`. + +This service listens for the port `8080` expecting `HTTP` traffic and will forward the incoming traffic towards the port `80` from the destination pod. +Also listens for the port `80` expecting `HTTP` traffic and will forward the incoming traffic towards the port `80` from the destination pod. + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + namespace: foo +spec: + ports: + - port: 8080 + name: http-a + targetPort: 80 + + - port: 80 + name: http-b + targetPort: 80 + + selector: + app: helloworld +--- +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + namespace: default +spec: + ports: + - port: 8080 + name: http-a + targetPort: 80 + + - port: 80 + name: http-b + targetPort: 80 + + selector: + app: helloworld +``` + +## Deployment + +Creates two deployments named `helloworld`, one in the namespace `default`, and another in the namespace `foo` + +### helloworld-default + +Contains a Nginx server that listens for the port `80`. + +It's created in the namespace `default`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-default + labels: + app: helloworld + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` + + +### helloworld-foo + +Contains a Nginx server that listens for the port `80`. + +It's created in the namespace `foo`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-foo + labels: + app: helloworld + namespace: foo +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent #Always + ports: + - containerPort: 80 +``` + + +## Sidecar + +This will configure the sidecar configuration from the `envoy-proxy` in each pod. + +`workloadSelector` will be used to select the target pods, where, on this scenario, it will target the pods that have the label set `app: helloworld`. + +> **Note:**\ +> A reminder that a `POD` is an object that groups container(s). + ++ more notes: + +- workloadSelector: + +> `workloadSelector` is used to target the `PODS`, on which apply this sidecar configuration. \ +> Bear in mind that this configuration doesn't target kinds `Service`, nor `Deployment`, it's applied to a kind `Pod` or `ServiceEntry` \ +> If there is no `workloadSelector` specified, it will be used as default configuration for the namespace on which was created. \ +> More info in the [Istio documentation for workloadSelector](https://istio.io/latest/docs/reference/config/networking/sidecar/#WorkloadSelector) + +- egress: + +> Configure the behavior of the proxied egress traffic.\ +> On this example, we limit port that the `sidecar-proxy` will be allowed to send traffic to, as well limiting the routes that can the `sidecar-proxy` container will be able to learn the routes from.\ +> A reminder that Istio automatically creates routes for each one of the services and each one of the ports configured to be exposed.\ +> More info in the [Istio documentation for IstioEgressListener](https://istio.io/latest/docs/reference/config/networking/sidecar/#IstioEgressListener) + +- outboundTrafficPolicy.mode: + +> The most important step from this configuration.\ +> By setting the value to `REGISTRY_ONLY`, it will restrict the egress connectivity towards the destinations defined in the registry as well of the defined `ServiceEntry` configurations. +> Taking into account that the field `egress`, where we limited the routes that the `sidecar-proxy` would be allowed to learn routes from, combined with this setting set to `REGISTRY_ONLY`, we limit the egress reachability from the PODS.\ +> If the setting is set to `ALLOW_ANY`, the egress limitation will be ignored. +> More info in the [Istio documentation for OutboundTrafficPolicy.Mode](https://istio.io/latest/docs/reference/config/networking/sidecar/#OutboundTrafficPolicy-Mode) + +### helloworld-sidecar-default + +On this example we target the Deployments from the namespace `default` that contain a label named `app` with the contents set to `helloworld`. + +We limit the egress to the port `80`, and will only be able to reach out to the learned destinations from the namespaces `foo`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: helloworld-sidecar-default + namespace: default +spec: + workloadSelector: + labels: + app: helloworld + egress: + - port: + number: 80 + protocol: HTTP + name: egress-http + hosts: + - "foo/*" + outboundTrafficPolicy: + mode: REGISTRY_ONLY +``` + +### helloworld-sidecar-foo + +On this example we target the Deployments from the namespace `foo` that contain a label named `app` with the contents set to `helloworld`. + +We limit the egress to the port `8080`, and will only be able to reach out to the learned destinations from the namespaces `default`, and it's own (`./*`) aka. `foo`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: helloworld-sidecar-foo + namespace: foo +spec: + workloadSelector: + labels: + app: helloworld + egress: + - port: + number: 8080 + protocol: HTTP + name: egress-default + hosts: + - "./*" + - "default/*" + outboundTrafficPolicy: + mode: REGISTRY_ONLY +``` + +# Run example + +## Deploy resources + +```shell +kubectl apply -f ./ +``` + +```text +namespace/foo created +deployment.apps/helloworld-default created +deployment.apps/helloworld-foo created +service/helloworld created +service/helloworld created +sidecar.networking.istio.io/helloworld-sidecar-default created +sidecar.networking.istio.io/helloworld-sidecar-foo created +``` + +## Wait for the pods to be ready + +```shell +watch -n 5 "kubectl get deployment -A | grep helloworld" +``` + +```text +default helloworld-default 1/1 1 1 10s +foo helloworld-foo 1/1 1 1 10s +``` + +## Test the service + +### from `helloworld-default` + +Reminder of the **egress** criteria that has been configured to be met: + +[ ] Port `80`. + +[ ] `HTTP` protocol. + +[ ] Namespace destination `foo`. + +#### Curl helloworld.foo.svc.cluster.local:80 + +On this scenario we meet the following criteria: + +[x] Port `80`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo`. + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:80 -sI +``` + +```text +HTTP/1.1 200 OK +server: envoy +date: Mon, 15 May 2023 11:49:34 GMT +content-type: text/html +content-length: 615 +last-modified: Tue, 28 Mar 2023 15:01:54 GMT +etag: "64230162-267" +accept-ranges: bytes +x-envoy-upstream-service-time: 10 +``` + + + + + +#### Curl helloworld.foo.svc.cluster.local:8080 + +[ ] Port `80`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo`. + + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:8080 -sI +``` + +```text +command terminated with exit code 56 +``` + +##### What's happening? + +Let's observe the logs activity from the `istio-proxy` container, of the deployment `helloworld` in the namespace `default` when we send request towards the service `helloworld` in the namespace `foo` through the port `8080`. + +```shell +NAMESPACE="default" && kubectl logs -l app=helloworld --follow -c istio-proxy -n $NAMESPACE --tail 0 +``` + +From another `shell` send a request towards the destination. + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:8080 -sI +``` + +We can see, how the `istio-proxy` container, from the `helloworld` POD, in the namespace `default`, generates the following log entry: + +```text +[2023-05-15T12:19:03.577Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.107.249.242:8080 172.17.247.52:58820 - - +``` + +On the log generated, it specifies the word `BlackHoleCluster`. + +`BlackHoleCluster` is an Istio resource/destination used to block requests, meaning that our request was forwarded to it, preventing us to reach to the desired destination, as per configured in the [sidecar configuration](#sidecar). + +I understand that this behavior is caused due that the namespace `foo` is an external location respective to the deployment, and for such it requires `istio-proxy` to learn its destination, whereas in this scenario, due [sidecar configuration](#sidecar), doesn't figure either in the list of accepted routes. + +For such, instead the is sent towards `BlackHoleCluster`. + + + + + +#### Curl helloworld.default.svc.cluster.local:80 + +[x] Port `80`. + +[x] `HTTP` protocol. + +[ ] Namespace destination `foo`. + + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:80 -sI +``` + +```text +HTTP/1.1 502 Bad Gateway +date: Mon, 15 May 2023 12:23:12 GMT +server: envoy +transfer-encoding: chunked +``` + +##### What's happening? + +Let's observe the logs activity from the `istio-proxy` container, of the deployment `helloworld` in the namespace `default` when we send request towards the service `helloworld` in the namespace `default` through the port `80`. + +```shell +NAMESPACE="default" && kubectl logs -l app=helloworld --follow -c istio-proxy -n $NAMESPACE --tail 0 +``` + +From another `shell` send a request towards the destination. + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:80 -sI +``` + +We can see, how the `istio-proxy` container, from the `helloworld` POD, in the namespace `default`, generates the following log entry: + +```text +[2023-05-15T12:24:40.757Z] "HEAD / HTTP/1.1" 502 - direct_response - "-" 0 0 0 - "-" "curl/7.74.0" "952652df-7761-4f15-be58-776eeedfb6cf" "helloworld.default.svc.cluster.local" "-" - - 10.108.186.1:80 172.17.247.52:57516 - block_all +``` + +On the log generated, we can observe further information than the previous one, nevertheless I want to put emphasis on the following sections: + +- `502 - direct_response` + +This means that the status code `502` was a `direct response`, coming from istio itself, directly targeting this request. + +- `block_all` + +Istio already acknowledges this request and flags is as doesn't meet the requirements configured in the [sidecar configuration](#sidecar). + +I understand that this behavior is different from when sending a request to `foo` on the port `8080`, in the current configuration set, we didn't specify any egress setting that allow any kind of egress towards the port `80`. + +For such it raises a `direct response` with status code `502`, as the `istio-proxy` strictly won't accept any egress request with that port. + + + + +#### Curl helloworld.default.svc.cluster.local:8080 + +[x] Port `8080`. + +[x] `HTTP` protocol. + +[ ] Namespace destination `foo`. + + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:8080 -sI +``` + +```text +command terminated with exit code 56 +``` + +##### What's happening? + +Let's observe the logs activity from the `istio-proxy` container, of the deployment `helloworld` in the namespace `default` when we send request towards the service `helloworld` in the namespace `default` through the port `8080`. + +```shell +NAMESPACE="default" && kubectl logs -l app=helloworld --follow -c istio-proxy -n $NAMESPACE --tail 0 +``` + +From another `shell` send a request towards the destination. + +```shell +NAMESPACE="default" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:8080 -sI +``` + +We can see, how the `istio-proxy` container, from the `helloworld` POD, in the namespace `default`, generates the following log entry: + +```text +[2023-05-15T12:48:31.605Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.108.186.1:8080 172.17.247.52:53742 - - +``` + +`BlackHoleCluster` resembles the same behavior as on the section [Curl helloworld.foo.svc.cluster.local:8080](#curl-helloworldfoosvcclusterlocal--8080). + + + + + + + +### from `helloworld-foo` + +Reminder of the **egress** criteria that has been configured to be met: + +[ ] Port `8080`. + +[ ] `HTTP` protocol. + +[ ] Namespace destination `foo` or `default`. + + + + +#### Curl helloworld.foo.svc.cluster.local:80 + +On this scenario we meet the following criteria: + +[ ] Port `8080`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo` or `default`. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:80 -sI +``` + +```text +command terminated with exit code 56 +``` + + +##### What's happening? + +Let's observe the logs activity from the `istio-proxy` container, of the deployment `helloworld` in the namespace `foo` when we send request towards the service `helloworld` in the namespace `foo` through the port `80`. + +```shell +NAMESPACE="foo" && kubectl logs -l app=helloworld --follow -c istio-proxy -n $NAMESPACE --tail 0 +``` + +From another `shell` send a request towards the destination. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:80 -sI +``` + +We can see, how the `istio-proxy` container, from the `helloworld` POD, in the namespace `foo`, generates the following log entry: + +```text +[2023-05-15T12:56:49.064Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.107.249.242:80 172.17.121.93:57680 - - +``` + +`BlackHoleCluster` resembles the same behavior as on the section [Curl helloworld.foo.svc.cluster.local:8080](#curl-helloworldfoosvcclusterlocal--8080). + + + + + + +#### Curl helloworld.foo.svc.cluster.local:8080 + +On this scenario we meet the following criteria: + +[x] Port `8080`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo` or `default`. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.foo.svc.cluster.local:8080 -sI +``` + +```text +HTTP/1.1 200 OK +server: envoy +date: Mon, 15 May 2023 12:57:58 GMT +content-type: text/html +content-length: 615 +last-modified: Tue, 28 Mar 2023 15:01:54 GMT +etag: "64230162-267" +accept-ranges: bytes +x-envoy-upstream-service-time: 77 +``` + + + + + +#### Curl helloworld.default.svc.cluster.local:80 + +On this scenario we meet the following criteria: + +[ ] Port `8080`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo` or `default`. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:80 -sI +``` + +```text +command terminated with exit code 56 +``` + +##### What's happening? + +Let's observe the logs activity from the `istio-proxy` container, of the deployment `helloworld` in the namespace `foo` when we send request towards the service `helloworld` in the namespace `default` through the port `80`. + +```shell +NAMESPACE="foo" && kubectl logs -l app=helloworld --follow -c istio-proxy -n $NAMESPACE --tail 0 +``` + +From another `shell` send a request towards the destination. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:80 -sI +``` + +We can see, how the `istio-proxy` container, from the `helloworld` POD, in the namespace `foo`, generates the following log entry: + +```text +[2023-05-15T13:03:50.935Z] "- - -" 0 UH - - "-" 0 0 0 - "-" "-" "-" "-" "-" BlackHoleCluster - 10.108.186.1:80 172.17.121.93:43342 - - +``` + +`BlackHoleCluster` resembles the same behavior as on the section [Curl helloworld.foo.svc.cluster.local:8080](#curl-helloworldfoosvcclusterlocal--8080). + + + + + +#### Curl helloworld.default.svc.cluster.local:8080 + +On this scenario we meet the following criteria: + +[x] Port `8080`. + +[x] `HTTP` protocol. + +[x] Namespace destination `foo` or `default`. + +```shell +NAMESPACE="foo" && kubectl exec -n ${NAMESPACE} "$(kubectl get pod -n ${NAMESPACE} -l app=helloworld -o jsonpath={.items..metadata.name})" -- curl helloworld.default.svc.cluster.local:8080 -sI +``` + +```text +HTTP/1.1 200 OK +server: envoy +date: Mon, 15 May 2023 13:07:49 GMT +content-type: text/html +content-length: 615 +last-modified: Tue, 28 Mar 2023 15:01:54 GMT +etag: "64230162-267" +accept-ranges: bytes +x-envoy-upstream-service-time: 67 +``` + +## BlackHoleCluster? + +Let's check the learned routes from each deployment. + +### helloworld-default + +```shell +NAMESPACE="default" && istioctl proxy-config clusters -n $NAMESPACE "$(kubectl get pods -n ${NAMESPACE} -l app=helloworld | tail -n 1 | awk '{ print $1 }')" +``` +```text +SERVICE FQDN PORT SUBSET DIRECTION TYPE DESTINATION RULE + 80 - inbound ORIGINAL_DST +BlackHoleCluster - - - STATIC +InboundPassthroughClusterIpv4 - - - ORIGINAL_DST +PassthroughCluster - - - ORIGINAL_DST +agent - - - STATIC +helloworld.foo.svc.cluster.local 80 - outbound EDS +prometheus_stats - - - STATIC +sds-grpc - - - STATIC +xds-grpc - - - STATIC +zipkin - - - STRICT_DNS +``` + +We can observe the following entries: + +- `BlackHoleCluster - - - STATIC` + +and + +- `helloworld.foo.svc.cluster.local 80 - outbound EDS` + +Where `BlackHoleCluster` is a static destination without port attributed nor direction set, and is the route used to send the traffic to the `void`. + +As well, we can find the route `helloworld.foo.svc.cluster.local` that specifies the port `80` and direction `outbound`. + +> **Note:**\ +> For more information about the routes, refer to the [documentation about `pilot-discovery`](https://istio.io/latest/docs/reference/commands/pilot-discovery/#pilot-discovery-completion). + + +### helloworld-foo + +```shell +NAMESPACE="foo" && istioctl proxy-config clusters -n $NAMESPACE "$(kubectl get pods -n ${NAMESPACE} -l app=helloworld | tail -n 1 | awk '{ print $1 }')" +``` +```text +SERVICE FQDN PORT SUBSET DIRECTION TYPE DESTINATION RULE + 80 - inbound ORIGINAL_DST +BlackHoleCluster - - - STATIC +InboundPassthroughClusterIpv4 - - - ORIGINAL_DST +PassthroughCluster - - - ORIGINAL_DST +agent - - - STATIC +helloworld.default.svc.cluster.local 8080 - outbound EDS +helloworld.foo.svc.cluster.local 8080 - outbound EDS +prometheus_stats - - - STATIC +sds-grpc - - - STATIC +xds-grpc - - - STATIC +zipkin - - - STRICT_DNS +``` + +We can observe the following entries: + +- `BlackHoleCluster - - - STATIC` + +and + +- `helloworld.foo.svc.cluster.local 80 - outbound EDS` + +Where `BlackHoleCluster` is a static destination without port attributed nor direction set, and is the route used to send the traffic to the `void`. + +As well, we can find the routes `helloworld.foo.svc.cluster.local` and `helloworld.default.svc.cluster.local` where both specify the port `8080` and direction `outbound`. + +> **Note:**\ +> For more information about the routes, refer to the [documentation about `pilot-discovery`](https://istio.io/latest/docs/reference/commands/pilot-discovery/#pilot-discovery-completion). + + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +namespace "foo" deleted +deployment.apps "helloworld-default" deleted +deployment.apps "helloworld-foo" deleted +service "helloworld" deleted +service "helloworld" deleted +sidecar.networking.istio.io "helloworld-sidecar-default" deleted +sidecar.networking.istio.io "helloworld-sidecar-foo" deleted +``` + + +# Links of interest + +- https://istio.io/latest/docs/reference/config/networking/sidecar/#IstioEgressListener + +- https://istio.io/latest/blog/2019/monitoring-external-service-traffic/#what-are-blackhole-and-passthrough-clusters + +- https://istio.io/v1.0/help/ops/traffic-management/proxy-cmd/#deep-dive-into-envoy-configuration +- +- https://istio.io/latest/docs/reference/commands/pilot-discovery/#pilot-discovery-completion \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/Service.yaml b/05-Sidecar/02-egress-proxy/Service.yaml new file mode 100644 index 0000000..281a5df --- /dev/null +++ b/05-Sidecar/02-egress-proxy/Service.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + namespace: foo +spec: + ports: + - port: 8080 + name: http-a + targetPort: 80 + + - port: 80 + name: http-b + targetPort: 80 + + selector: + app: helloworld +--- +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + namespace: default +spec: + ports: + - port: 8080 + name: http-a + targetPort: 80 + + - port: 80 + name: http-b + targetPort: 80 + + selector: + app: helloworld \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/Sidecar.yaml b/05-Sidecar/02-egress-proxy/Sidecar.yaml new file mode 100755 index 0000000..78cd993 --- /dev/null +++ b/05-Sidecar/02-egress-proxy/Sidecar.yaml @@ -0,0 +1,62 @@ +#apiVersion: networking.istio.io/v1alpha3 +#kind: Sidecar +#metadata: +# name: global-sidecar +# namespace: istio-system +#spec: +# egress: +# - hosts: +# - "./*" +# outboundTrafficPolicy: +# mode: REGISTRY_ONLY +--- +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: helloworld-sidecar-default + namespace: default +spec: + workloadSelector: + labels: + app: helloworld + egress: + - port: + number: 80 + protocol: HTTP + name: egress-http + hosts: +# - "./*" +# - "istio-system/*" + - "foo/*" + outboundTrafficPolicy: + mode: REGISTRY_ONLY +--- +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: helloworld-sidecar-foo + namespace: foo +spec: + workloadSelector: + labels: + app: helloworld + egress: + - port: + number: 8080 + protocol: HTTP + name: egress-default + hosts: + - "default/*" +# - port: +# number: 80 +# protocol: HTTP +# name: egress-foo +# hosts: + - "./*" +#- "./*" + # - "default/helloworld.default.svc.cluster.local" + # - "*/*" + # - "default/helloworld.default.svc.cluster.local" + # - "foo/*" + outboundTrafficPolicy: + mode: REGISTRY_ONLY \ No newline at end of file -- 2.47.2 From 6c6f9680973d936df78221b8ac8bebb26e9f3fa1 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 15 May 2023 15:19:48 +0200 Subject: [PATCH 20/21] Deleted a useless line. --- 05-Sidecar/01-ingress-proxy-forwarding/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/05-Sidecar/01-ingress-proxy-forwarding/README.md b/05-Sidecar/01-ingress-proxy-forwarding/README.md index 67d04fb..4cee450 100755 --- a/05-Sidecar/01-ingress-proxy-forwarding/README.md +++ b/05-Sidecar/01-ingress-proxy-forwarding/README.md @@ -24,8 +24,6 @@ This example configures: # Configuration -`etc -> "POD" -> sidecar -> service container` - ## Service Creates a service named `helloworld`. -- 2.47.2 From 747c3f11715f1675101fc87326d3682ddce51d44 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 15 May 2023 15:22:43 +0200 Subject: [PATCH 21/21] Documented `02-egress-proxy`. Not to brag, BUT I believe it's fairly godlike. --- 05-Sidecar/02-egress-proxy/01-namespace.yaml | 9 +----- 05-Sidecar/02-egress-proxy/Deployment.yaml | 29 +------------------- 05-Sidecar/02-egress-proxy/README.md | 2 +- 05-Sidecar/02-egress-proxy/Sidecar.yaml | 24 ---------------- 4 files changed, 3 insertions(+), 61 deletions(-) diff --git a/05-Sidecar/02-egress-proxy/01-namespace.yaml b/05-Sidecar/02-egress-proxy/01-namespace.yaml index 44d6408..418aa23 100755 --- a/05-Sidecar/02-egress-proxy/01-namespace.yaml +++ b/05-Sidecar/02-egress-proxy/01-namespace.yaml @@ -3,11 +3,4 @@ kind: Namespace metadata: name: foo labels: - istio-injection: "enabled" -#--- -#apiVersion: v1 -#kind: Namespace -#metadata: -# name: test -# labels: -# istio-injection: "enabled" \ No newline at end of file + istio-injection: "enabled" \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/Deployment.yaml b/05-Sidecar/02-egress-proxy/Deployment.yaml index 80999e6..ac7ce0a 100755 --- a/05-Sidecar/02-egress-proxy/Deployment.yaml +++ b/05-Sidecar/02-egress-proxy/Deployment.yaml @@ -50,31 +50,4 @@ spec: cpu: "100m" imagePullPolicy: IfNotPresent #Always ports: - - containerPort: 80 -#--- -#apiVersion: apps/v1 -#kind: Deployment -#metadata: -# name: helloworld-test -# labels: -# app: helloworld -# namespace: test -#spec: -# replicas: 1 -# selector: -# matchLabels: -# app: helloworld -# template: -# metadata: -# labels: -# app: helloworld -# spec: -# containers: -# - name: helloworld -# image: nginx -# resources: -# requests: -# cpu: "100m" -# imagePullPolicy: IfNotPresent #Always -# ports: -# - containerPort: 80 + - containerPort: 80 \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/README.md b/05-Sidecar/02-egress-proxy/README.md index 3bed1d9..10c6ca0 100755 --- a/05-Sidecar/02-egress-proxy/README.md +++ b/05-Sidecar/02-egress-proxy/README.md @@ -734,5 +734,5 @@ sidecar.networking.istio.io "helloworld-sidecar-foo" deleted - https://istio.io/latest/blog/2019/monitoring-external-service-traffic/#what-are-blackhole-and-passthrough-clusters - https://istio.io/v1.0/help/ops/traffic-management/proxy-cmd/#deep-dive-into-envoy-configuration -- + - https://istio.io/latest/docs/reference/commands/pilot-discovery/#pilot-discovery-completion \ No newline at end of file diff --git a/05-Sidecar/02-egress-proxy/Sidecar.yaml b/05-Sidecar/02-egress-proxy/Sidecar.yaml index 78cd993..f73fcb0 100755 --- a/05-Sidecar/02-egress-proxy/Sidecar.yaml +++ b/05-Sidecar/02-egress-proxy/Sidecar.yaml @@ -1,15 +1,3 @@ -#apiVersion: networking.istio.io/v1alpha3 -#kind: Sidecar -#metadata: -# name: global-sidecar -# namespace: istio-system -#spec: -# egress: -# - hosts: -# - "./*" -# outboundTrafficPolicy: -# mode: REGISTRY_ONLY ---- apiVersion: networking.istio.io/v1alpha3 kind: Sidecar metadata: @@ -25,8 +13,6 @@ spec: protocol: HTTP name: egress-http hosts: -# - "./*" -# - "istio-system/*" - "foo/*" outboundTrafficPolicy: mode: REGISTRY_ONLY @@ -47,16 +33,6 @@ spec: name: egress-default hosts: - "default/*" -# - port: -# number: 80 -# protocol: HTTP -# name: egress-foo -# hosts: - "./*" -#- "./*" - # - "default/helloworld.default.svc.cluster.local" - # - "*/*" - # - "default/helloworld.default.svc.cluster.local" - # - "foo/*" outboundTrafficPolicy: mode: REGISTRY_ONLY \ No newline at end of file -- 2.47.2