From 03a604c91efa563f2ca001dc6d451bfa504d6610 Mon Sep 17 00:00:00 2001 From: savagebidoof Date: Mon, 1 May 2023 01:06:33 +0200 Subject: [PATCH] Refractoring and some documentation performed. --- .../README.md | 120 ----- .../README.md | 142 ------ .../README.md | 261 ----------- .../gateway.yaml | 62 --- 01-Simple/README.md | 38 -- 04-Envoy/01-envoy_add_headers/gateway.yaml | 36 -- .../07-External-Authrorization}/README.md | 0 .../.placeholder/08-monitoring}/README.md | 0 .../__-NetworkPolicies/README.md | 0 .../__-cert-management/README.md | 0 .../00-Troubleshooting}/README.md | 6 +- .../Deployment.yaml | 23 - .../Gateway.yaml | 14 + .../README.md | 236 ++++++++++ .../Service.yaml | 13 + .../VirtualService.yaml | 15 - .../Deployment.yaml | 24 - .../Gateway.yaml | 14 + .../README.md | 306 +++++++++++++ .../Service.yaml | 13 + .../VirtualService.yaml | 20 + .../Deployment.yaml | 29 +- .../DestinationRule.yaml | 16 + .../Gateway.yaml | 15 + .../README.md | 426 ++++++++++++++++++ .../Service.yaml | 14 + .../VirtualService.yaml | 31 ++ .../01-namespace.yaml | 0 .../README.md | 0 .../deployment.yaml | 0 .../gateway.yaml | 4 +- NEW/01-Getting_Started/README.md | 47 ++ .../HTTPS-NGINX-DOCKERFILE/Dockerfile | 0 .../HTTPS-NGINX-DOCKERFILE/README.md | 0 .../HTTPS-NGINX-DOCKERFILE/server.conf | 0 README.md => NEW/README.md | 7 +- .../01-2_deployments_method/README.md | 0 .../01-2_deployments_method/deployment.yaml | 0 .../01-2_deployments_method/gateway.yaml | 0 .../02-DirectResponse-HTTP-Body/README.md | 0 .../deployment.yaml | 0 .../02-DirectResponse-HTTP-Body/gateway.yaml | 0 .../03-HTTPRewrite/README.md | 0 .../03-HTTPRewrite/deployment.yaml | 0 .../03-HTTPRewrite/gateway.yaml | 0 .../04-HTTPRedirect/README.md | 0 .../04-HTTPRedirect/deployment.yaml | 0 .../04-HTTPRedirect/gateway.yaml | 0 .../05-hello_world_1_Service_Entry/README.md | 0 .../ServiceEntry.yaml | 0 .../gateway.yaml | 0 .../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 .../README.md | 2 +- .../ServiceEntry.yaml | 0 .../gateway.yaml | 0 .../src/github-screenshot.png | Bin .../02-Traffic_management}/06-mTLS/README.md | 2 +- .../06-mTLS/authentication.yaml | 0 .../06-mTLS/deployment.yaml | 0 .../06-mTLS/deployment_2.yaml | 0 .../06-mTLS/gateway.yaml | 0 .../07-HTTPS-Gateway-Simple-TLS/README.md | 2 +- .../deployment.yaml | 0 .../07-HTTPS-Gateway-Simple-TLS/gateway.yaml | 0 .../08a-HTTPS-min-TLS-version/README.md | 0 .../08a-HTTPS-min-TLS-version/deployment.yaml | 0 .../08a-HTTPS-min-TLS-version/gateway.yaml | 0 .../08b-HTTPS-max-TLS-version/README.md | 0 .../08b-HTTPS-max-TLS-version/deployment.yaml | 0 .../08b-HTTPS-max-TLS-version/gateway.yaml | 0 .../09-HTTPS-backend/README.md | 0 .../09-HTTPS-backend/authentication.yaml | 0 .../09-HTTPS-backend/deployment.yaml | 0 .../09-HTTPS-backend/gateway.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 .../README.md | 0 .../gateway.yaml | 0 .../02-Traffic_management}/README.md | 0 .../src/06-kiali-services-byeworld.png | Bin .../src/06-kiali-services-helloworld.png | Bin .../src/06-kiali-services.png | Bin .../01-ingress-proxy-forwarding/README.md | 0 .../deployment.yaml | 0 .../01-ingress-proxy-forwarding/gateway.yaml | 0 .../01-ingress-proxy-forwarding/sidecar.yaml | 0 {03-Sidecar => OLD/03-Sidecar}/README.md | 0 .../04-Envoy}/01-envoy_add_headers/README.md | 0 .../01-envoy_add_headers/deployment.yaml | 1 - .../04-Envoy}/01-envoy_add_headers/envoy.yaml | 0 .../01-envoy_add_headers/envoy2.yaml | 0 .../01-envoy_add_headers}/gateway.yaml | 0 {04-Envoy => OLD/04-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}/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 .../06-AuthorizationPolicy}/README.md | 0 .../01-namespace.yaml | 0 .../01-Create-Istio-LoadBalancer/README.md | 2 +- .../deployment.yaml | 0 .../01-Create-Istio-LoadBalancer/gateway.yaml | 0 .../01-Create-Istio-LoadBalancer/ingress.yaml | 0 .../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 | 0 .../02-portLevelMtls/Service.yaml | 0 .../02-portLevelMtls/authentication.yaml | 0 .../02-portLevelMtls/deployment.yaml | 0 .../02-portLevelMtls/gateway.yaml | 0 .../XX-CirtcuitBreaking}/Deployment.yaml | 0 .../XX-CirtcuitBreaking}/DestinationRule.yaml | 0 .../XX-CirtcuitBreaking}/Fortio.yaml | 0 .../XX-CirtcuitBreaking}/README.md | 0 .../XX-CirtcuitBreaking}/Service.yaml | 0 146 files changed, 1184 insertions(+), 757 deletions(-) delete mode 100755 01-Simple/01-hello_world_1_service_1_deployment/README.md delete mode 100755 01-Simple/02-hello_world_1_service_2_deployments_unmanaged/README.md delete mode 100755 01-Simple/03-hello_world_1_service_2_deployments_managed_version/README.md delete mode 100755 01-Simple/03-hello_world_1_service_2_deployments_managed_version/gateway.yaml delete mode 100755 01-Simple/README.md delete mode 100755 04-Envoy/01-envoy_add_headers/gateway.yaml rename {07-External-Authrorization => NEW/.placeholder/07-External-Authrorization}/README.md (100%) rename {08-monitoring => NEW/.placeholder/08-monitoring}/README.md (100%) rename {.placeholder => NEW/.placeholder}/__-NetworkPolicies/README.md (100%) rename {.placeholder => NEW/.placeholder}/__-cert-management/README.md (100%) rename {00-Troubleshooting => NEW/00-Troubleshooting}/README.md (96%) rename 09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml => NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Deployment.yaml (53%) create mode 100644 NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Gateway.yaml create mode 100755 NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/README.md create mode 100644 NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Service.yaml rename 01-Simple/01-hello_world_1_service_1_deployment/gateway.yaml => NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/VirtualService.yaml (56%) rename 01-Simple/02-hello_world_1_service_2_deployments_unmanaged/deployment.yaml => NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Deployment.yaml (66%) create mode 100755 NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Gateway.yaml create mode 100755 NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/README.md create mode 100644 NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Service.yaml create mode 100644 NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/VirtualService.yaml rename 01-Simple/03-hello_world_1_service_2_deployments_managed_version/deployment.yaml => NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Deployment.yaml (67%) create mode 100644 NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/DestinationRule.yaml create mode 100755 NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Gateway.yaml create mode 100755 NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/README.md create mode 100644 NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Service.yaml create mode 100644 NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/VirtualService.yaml rename {01-Simple => NEW/01-Getting_Started}/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/01-namespace.yaml (100%) rename {01-Simple => NEW/01-Getting_Started}/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/README.md (100%) rename {01-Simple => NEW/01-Getting_Started}/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/deployment.yaml (100%) rename {01-Simple => NEW/01-Getting_Started}/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml (96%) create mode 100755 NEW/01-Getting_Started/README.md rename {99-resources => NEW/99-resources}/HTTPS-NGINX-DOCKERFILE/Dockerfile (100%) rename {99-resources => NEW/99-resources}/HTTPS-NGINX-DOCKERFILE/README.md (100%) rename {99-resources => NEW/99-resources}/HTTPS-NGINX-DOCKERFILE/server.conf (100%) rename README.md => NEW/README.md (83%) rename {02-Traffic_management => OLD/02-Traffic_management}/01-2_deployments_method/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/01-2_deployments_method/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/01-2_deployments_method/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/02-DirectResponse-HTTP-Body/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/02-DirectResponse-HTTP-Body/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/02-DirectResponse-HTTP-Body/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/03-HTTPRewrite/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/03-HTTPRewrite/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/03-HTTPRewrite/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/04-HTTPRedirect/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/04-HTTPRedirect/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/04-HTTPRedirect/gateway.yaml (100%) rename {01-Simple => OLD/02-Traffic_management}/05-hello_world_1_Service_Entry/README.md (100%) rename {01-Simple => OLD/02-Traffic_management}/05-hello_world_1_Service_Entry/ServiceEntry.yaml (100%) rename {01-Simple => OLD/02-Traffic_management}/05-hello_world_1_Service_Entry/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05a-FaultInjection-delay/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05a-FaultInjection-delay/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05a-FaultInjection-delay/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05b-FaultInjection-abort/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05b-FaultInjection-abort/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/05b-FaultInjection-abort/gateway.yaml (100%) rename {01-Simple => OLD/02-Traffic_management}/06-hello_world_1_HTTPS-Service_Entry/README.md (96%) rename {01-Simple => OLD/02-Traffic_management}/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml (100%) rename {01-Simple => OLD/02-Traffic_management}/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml (100%) rename {01-Simple => OLD/02-Traffic_management}/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/06-mTLS/README.md (98%) rename {02-Traffic_management => OLD/02-Traffic_management}/06-mTLS/authentication.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/06-mTLS/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/06-mTLS/deployment_2.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/06-mTLS/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/07-HTTPS-Gateway-Simple-TLS/README.md (97%) rename {02-Traffic_management => OLD/02-Traffic_management}/07-HTTPS-Gateway-Simple-TLS/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/07-HTTPS-Gateway-Simple-TLS/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08a-HTTPS-min-TLS-version/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08a-HTTPS-min-TLS-version/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08a-HTTPS-min-TLS-version/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08b-HTTPS-max-TLS-version/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08b-HTTPS-max-TLS-version/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/08b-HTTPS-max-TLS-version/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/09-HTTPS-backend/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/09-HTTPS-backend/authentication.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/09-HTTPS-backend/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/09-HTTPS-backend/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/10-TCP-FORWARDING/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/10-TCP-FORWARDING/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/10-TCP-FORWARDING/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/11-TLS-PASSTHROUGH/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/11-TLS-PASSTHROUGH/deployment.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/11-TLS-PASSTHROUGH/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/12-HTTP-to-HTTPS-traffic-redirect/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/12-HTTP-to-HTTPS-traffic-redirect/gateway.yaml (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/README.md (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/src/06-kiali-services-byeworld.png (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/src/06-kiali-services-helloworld.png (100%) rename {02-Traffic_management => OLD/02-Traffic_management}/src/06-kiali-services.png (100%) rename {03-Sidecar => OLD/03-Sidecar}/01-ingress-proxy-forwarding/README.md (100%) rename {03-Sidecar => OLD/03-Sidecar}/01-ingress-proxy-forwarding/deployment.yaml (100%) rename {03-Sidecar => OLD/03-Sidecar}/01-ingress-proxy-forwarding/gateway.yaml (100%) rename {03-Sidecar => OLD/03-Sidecar}/01-ingress-proxy-forwarding/sidecar.yaml (100%) rename {03-Sidecar => OLD/03-Sidecar}/README.md (100%) rename {04-Envoy => OLD/04-Envoy}/01-envoy_add_headers/README.md (100%) rename {04-Envoy => OLD/04-Envoy}/01-envoy_add_headers/deployment.yaml (91%) rename {04-Envoy => OLD/04-Envoy}/01-envoy_add_headers/envoy.yaml (100%) rename {04-Envoy => OLD/04-Envoy}/01-envoy_add_headers/envoy2.yaml (100%) rename {01-Simple/02-hello_world_1_service_2_deployments_unmanaged => OLD/04-Envoy/01-envoy_add_headers}/gateway.yaml (100%) rename {04-Envoy => OLD/04-Envoy}/README.md (100%) rename {05-MeshConfig => OLD/05-MeshConfig}/01-Outboud-Traffic-Policy/README.md (100%) rename {05-MeshConfig => OLD/05-MeshConfig}/01-Outboud-Traffic-Policy/deployment.yaml (100%) rename {05-MeshConfig => OLD/05-MeshConfig}/01-Outboud-Traffic-Policy/gateway.yaml (100%) rename {05-MeshConfig => OLD/05-MeshConfig}/README.md (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/README.md (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/authentication.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/deployment.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/01-target-namespaces/gateway.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/01-service-accounts.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/README.md (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/authentication.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/deployment.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/02-target-service-accounts/gateway.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/01-namespace.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/README.md (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/authentication.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/deployment.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/deployment_2.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/03-target-deployments/gateway.yaml (100%) rename {06-AuthorizationPolicy => OLD/06-AuthorizationPolicy}/README.md (100%) rename {09-Ingress => OLD/09-Ingress}/01-Create-Istio-LoadBalancer/01-namespace.yaml (100%) rename {09-Ingress => OLD/09-Ingress}/01-Create-Istio-LoadBalancer/README.md (97%) rename {01-Simple/01-hello_world_1_service_1_deployment => OLD/09-Ingress/01-Create-Istio-LoadBalancer}/deployment.yaml (100%) rename {09-Ingress => OLD/09-Ingress}/01-Create-Istio-LoadBalancer/gateway.yaml (100%) rename {09-Ingress => OLD/09-Ingress}/01-Create-Istio-LoadBalancer/ingress.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/01-disable-mTLS/README.md (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/01-disable-mTLS/Service.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/01-disable-mTLS/authentication.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/01-disable-mTLS/deployment.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/01-disable-mTLS/gateway.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/02-portLevelMtls/README.md (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/02-portLevelMtls/Service.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/02-portLevelMtls/authentication.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/02-portLevelMtls/deployment.yaml (100%) rename {10-PeerAuthentication => OLD/10-PeerAuthentication}/02-portLevelMtls/gateway.yaml (100%) rename {XX-CirtcuitBreaking => OLD/XX-CirtcuitBreaking}/Deployment.yaml (100%) rename {XX-CirtcuitBreaking => OLD/XX-CirtcuitBreaking}/DestinationRule.yaml (100%) rename {XX-CirtcuitBreaking => OLD/XX-CirtcuitBreaking}/Fortio.yaml (100%) rename {XX-CirtcuitBreaking => OLD/XX-CirtcuitBreaking}/README.md (100%) rename {XX-CirtcuitBreaking => OLD/XX-CirtcuitBreaking}/Service.yaml (100%) diff --git a/01-Simple/01-hello_world_1_service_1_deployment/README.md b/01-Simple/01-hello_world_1_service_1_deployment/README.md deleted file mode 100755 index f48a3ab..0000000 --- a/01-Simple/01-hello_world_1_service_1_deployment/README.md +++ /dev/null @@ -1,120 +0,0 @@ -##### https://github.com/istio/istio/tree/master/samples/helloworld - -### Base simple template - -# Simple Hello World - -- 1 Service -- 1 Deployment - -I think that by default uses `RANDOM`. - -https://istio.io/latest/docs/reference/config/networking/destination-rule/#TrafficPolicy-PortTrafficPolicy - -https://istio.io/latest/docs/reference/config/networking/destination-rule/#LoadBalancerSettings - -> Contains service account configurations, yet they are commented as not "necessary". - - -## Files - -- deployment.yaml -- gateway.yaml - -## deployment.yaml - -### Creates - -#### Service - -- helloworld - -#### Deployments - -- helloworld-nginx (Nginx container) - -## gateway.yaml - -### Creates - -#### Gateway - -##### helloworld-gateway - -###### Configuration - -```yml -port: 80 -istio-ingress: ingressgateway -hosts: "*" -``` - -#### VirtualService - -##### helloworld-vs - -###### Configuration - - - -```yaml - hosts: - - "*" - gateways: - - helloworld-gateway - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld - port: - number: 80 - rewrite: - uri: "/" -``` -- Allows the traffic that have as a destination any domain. - -- Only allows traffic that has as a destination the directory/path `/helloworld`. - -- `rewrite.uri` allows to redirect the traffic towards the root directory of the service, as the service(s) used don't have any directory named `helloworld` but are configured to work at the root base level. - -- Traffic request is sent to the service named `helloworld`, to the service port 80. - -# Run example - -## Deploy resources - -```shell -$ kubectl apply -f ./ -service/helloworld created -deployment.apps/helloworld-nginx created -gateway.networking.istio.io/helloworld-gateway created -virtualservice.networking.istio.io/helloworld-vs created -``` - -## Wait for the deployment to be ready - -```shell -$ kubectl get deployment helloworld-nginx -w -NAME READY UP-TO-DATE AVAILABLE AGE -helloworld-nginx 1/1 1 1 44s -``` - -## Test the service - -### Get LB IP - -```shell -$ kubectl get svc -l istio=ingressgateway -A -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 - -```shell -$ curl 192.168.1.50/helloworld -s | grep ".*"  ✔ -Welcome to nginx! -``` \ No newline at end of file diff --git a/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/README.md b/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/README.md deleted file mode 100755 index 65bc6b3..0000000 --- a/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/README.md +++ /dev/null @@ -1,142 +0,0 @@ -##### https://github.com/istio/istio/tree/master/samples/helloworld - -# Simple Hello World - -- 1 Service -- 2 Versions - -Iterates between the versions without any specific policy. (actually doesn't use the version for anything) - -By default uses `Round Robin` - -https://istio.io/latest/docs/concepts/traffic-management/#load-balancing-options - -> Contains service account configurations, yet they are commented as not "necessary". - - -# Changes - -## File - -- deployment.yaml -- gateway.yaml - -> Files used maintains from the last version - -## deployment.yaml - -### Creates - -#### Service - -- helloworld - -> Service used maintains from the last version - -#### Deployments - -- helloworld-v1 (Nginx) -- helloworld-v2 (Apache) - -> Renamed the old deployment from `helloworld-nginx` to `helloworld-v1`.\ -> Created a secondary deployment using apache named `helloworld-v2`. - -## gateway.yaml - -### Creates - -#### Gateway - -##### helloworld-gateway - -###### Configuration - -```yml -port: 80 -istio-ingress: ingressgateway -hosts: "*" -``` - -#### VirtualService - -##### helloworld-vs - -###### Configuration - -```yaml -hosts: "*" -uri: "/helloworld" -``` - - - - - - -# Run example - -## Deploy resources - -```shell -$ kubectl apply -f ./ -service/helloworld created -deployment.apps/helloworld-v1 created -deployment.apps/helloworld-v2 created -deployment.apps/helloworld-v2 unchanged -gateway.networking.istio.io/helloworld-gateway created -virtualservice.networking.istio.io/helloworld-vs created -``` - -## Wait for the pods to be ready - -(I think it deploys 2 pods as there is the Envoy Proxy pod besides the Nginx deployment) - -```shell -$ kubectl get deployment helloworld-v{1..2} -w -NAME READY UP-TO-DATE AVAILABLE AGE -helloworld-v1 1/1 1 1 4m1s -helloworld-v2 1/1 1 1 4m1s -``` - -## Test the service - -### Get LB IP - -```shell -$ kubectl get svc istio-ingressgateway -n istio-system -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 - -Iterates randomly between Nginx and Apache - -```shell -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

-``` diff --git a/01-Simple/03-hello_world_1_service_2_deployments_managed_version/README.md b/01-Simple/03-hello_world_1_service_2_deployments_managed_version/README.md deleted file mode 100755 index cd7063c..0000000 --- a/01-Simple/03-hello_world_1_service_2_deployments_managed_version/README.md +++ /dev/null @@ -1,261 +0,0 @@ -##### https://github.com/istio/istio/tree/master/samples/helloworld - -https://istio.io/latest/blog/2017/0.1-canary/ - - -# Continues from - -- 01-hello_world_1_service_1_deployment - -# Simple Hello World - -- 1 Service -- 2 Versions - -Iterates between the versions without any specific policy. (actually doesn't use the version for anything) - - -> Contains service account configurations, yet they are commented as not "necessary". - -## Quick note - -On this version I have "started" to use the full service name instead of the shorten version, aka: - -```yaml - route: - - destination: - host: helloworld -``` - -Will be: - -```yaml - route: - - destination: - host: helloworld.default.svc.cluster.local -``` - -It's overall a good practice to have, so not much of a reason to not do it. - -https://istio.io/latest/docs/reference/config/networking/destination-rule/#DestinationRule - - -# Changes - -## File - -- deployment.yaml -- gateway.yaml - -> Files used maintains from the last version - -## deployment.yaml - -### Creates - -#### Service - -- helloworld - -> Service used maintains from the last version - -#### Deployments - -- helloworld-v1 (Nginx) -- helloworld-v2 (Apache) - -> Renamed the old deployment from `helloworld-nginx` to `helloworld-v1`.\ -> Created a secondary deployment using apache named `helloworld-v2`. - -## gateway.yaml - -#### VirtualService - -##### helloworld-vs - -###### Configuration - - - -```yaml -... - http: - - match: - - uri: - exact: /helloworld - route: - - destination: - host: helloworld.default.svc.cluster.local - port: - number: 80 - subset: v1 - weight: 20 - - destination: - host: helloworld.default.svc.cluster.local - port: - number: 80 - subset: v2 - weight: 80 -... -``` - -> Distributed the traffic between 2 versions (`subsets`), setting a `25%` to the subset `v1` and a `75%` to the subset `v2`. - -> As previously mentioned, the section `http.route.host` points to `helloworld.default.svc.cluster.local`, which is the service we created, on the `default` namespace. - - - - -#### Destination Rule - -###### Declaration configuration - -```yaml -apiVersion: networking.istio.io/v1alpha3 -kind: DestinationRule -metadata: - name: helloworld.default.svc.cluster.local # Destination that will "interject" -``` - -> Here we need to put the `path/destination/service` that we want this rule to interject and manage. - -###### Traffic Configuration - -```yaml - host: helloworld.default.svc.cluster.local - subsets: - - name: v1 - labels: - version: v1 - - name: v2 - labels: - version: v2 -``` - -> On the `Destination Rule` declared the subsets. Each subset has different labels. This will be used to select the deployments within the destination service. - -# Run example - -## Deploy resources - -```shell -$ kubectl apply -f ./ -service/helloworld created -deployment.apps/helloworld-v1 created -deployment.apps/helloworld-v2 created -gateway.networking.istio.io/helloworld-gateway created -virtualservice.networking.istio.io/helloworld-vs created -destinationrule.networking.istio.io/helloworld-destinationrule created -``` - -## Wait for the pods to be ready - -(I think it deploys 2 pods as there is the Envoy Proxy pod besides the Nginx deployment) - -```shell -$ kubectl get deployment helloworld-v{1..2} -w -NAME READY UP-TO-DATE AVAILABLE AGE -helloworld-v1 1/1 1 1 4m1s -helloworld-v2 1/1 1 1 4m1s -``` - -## Test the service - -### Get LB IP - -```shell -$ kubectl get svc istio-ingressgateway -n istio-system -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 - -Iterates between Nginx and Apache. Somwhat close to the ratio configured. - -> Nginx instances (v1): 2 \ -> Apache instances (v2): 9 - -```shell -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

It works!

- -$ curl 192.168.1.50/helloworld -s | grep "

.*

" -

Welcome to nginx!

-``` - -## Check istio configs - -```sh -$ istioctl x describe pod `kubectl get pod -l app=helloworld,version=v1 -o jsonpath='{.items[0].metadata.name}'` -Pod: helloworld-v1-7454b56b86-4cksf - Pod Revision: default - Pod Ports: 80 (helloworld), 15090 (istio-proxy) --------------------- -Service: helloworld - Port: http 80/HTTP targets pod port 80 -DestinationRule: helloworld for "helloworld.default.svc.cluster.local" - Matching subsets: v1 - (Non-matching subsets v2) - No Traffic Policy --------------------- -Effective PeerAuthentication: - Workload mTLS mode: PERMISSIVE - - -Exposed on Ingress Gateway http://192.168.1.50 -VirtualService: helloworld-vs - Weight 20% - /helloworld -``` - - -```shell -$ istioctl x describe pod `kubectl get pod -l app=helloworld,version=v2 -o jsonpath='{.items[0].metadata.name -Pod: helloworld-v2-64b5656d99-5bwgr - Pod Revision: default - Pod Ports: 80 (helloworld), 15090 (istio-proxy) --------------------- -Service: helloworld - Port: http 80/HTTP targets pod port 80 -DestinationRule: helloworld for "helloworld.default.svc.cluster.local" - Matching subsets: v2 - (Non-matching subsets v1) - No Traffic Policy --------------------- -Effective PeerAuthentication: - Workload mTLS mode: PERMISSIVE - - -Exposed on Ingress Gateway http://192.168.1.50 -VirtualService: helloworld-vs - Weight 80% - /helloworld -``` \ No newline at end of file diff --git a/01-Simple/03-hello_world_1_service_2_deployments_managed_version/gateway.yaml b/01-Simple/03-hello_world_1_service_2_deployments_managed_version/gateway.yaml deleted file mode 100755 index 62a63a5..0000000 --- a/01-Simple/03-hello_world_1_service_2_deployments_managed_version/gateway.yaml +++ /dev/null @@ -1,62 +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 -# host: helloworld - port: - number: 80 - subset: v1 - weight: 20 - - destination: -# host: helloworld - host: helloworld.default.svc.cluster.local - port: - number: 80 - subset: v2 - weight: 80 - rewrite: - uri: "/" ---- -apiVersion: networking.istio.io/v1alpha3 -kind: DestinationRule -metadata: - # name: helloworld - name: helloworld.default.svc.cluster.local # Destination that will "interject" -spec: -# host: helloworld # destination service - host: helloworld.default.svc.cluster.local # Full destination service, lil better for consistency - subsets: - - name: v1 - labels: - version: v1 - - name: v2 - labels: - version: v2 diff --git a/01-Simple/README.md b/01-Simple/README.md deleted file mode 100755 index bed5787..0000000 --- a/01-Simple/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Simple examples - - -# Traffic path - -## Istio Ingress Controller ---> Gateway -> Virtual Service (-> Destination Route) -> Ingress -> Deployment - - -# Examples - -ALL NEEDS DOCUMENTATION - -- 01-hello_world_1_service_1_deployment - -- 02-hello_world_1_service_2_deployments_unmanaged - -- 03-hello_world_1_service_2_deployments_managed_version - -- 04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace - -- 05-hello_world_1_Service_Entry - - - - - - - - -# TODO - -do HTTPS ingress - -tcp ingress to minecraft/factorio/zomboid - -Service Entry with outbound policy set to `REGISTRY_ONLY` -istioctl install --set profile=default -y --set meshConfig.accessLogFile=/dev/stdout --set meshConfig.outboundTrafficPolicy.mode=REGISTRY_ONLY -(no funca) \ No newline at end of file diff --git a/04-Envoy/01-envoy_add_headers/gateway.yaml b/04-Envoy/01-envoy_add_headers/gateway.yaml deleted file mode 100755 index 8ba8a20..0000000 --- a/04-Envoy/01-envoy_add_headers/gateway.yaml +++ /dev/null @@ -1,36 +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 - port: - number: 80 - rewrite: - uri: "/" \ No newline at end of file diff --git a/07-External-Authrorization/README.md b/NEW/.placeholder/07-External-Authrorization/README.md similarity index 100% rename from 07-External-Authrorization/README.md rename to NEW/.placeholder/07-External-Authrorization/README.md diff --git a/08-monitoring/README.md b/NEW/.placeholder/08-monitoring/README.md similarity index 100% rename from 08-monitoring/README.md rename to NEW/.placeholder/08-monitoring/README.md diff --git a/.placeholder/__-NetworkPolicies/README.md b/NEW/.placeholder/__-NetworkPolicies/README.md similarity index 100% rename from .placeholder/__-NetworkPolicies/README.md rename to NEW/.placeholder/__-NetworkPolicies/README.md diff --git a/.placeholder/__-cert-management/README.md b/NEW/.placeholder/__-cert-management/README.md similarity index 100% rename from .placeholder/__-cert-management/README.md rename to NEW/.placeholder/__-cert-management/README.md diff --git a/00-Troubleshooting/README.md b/NEW/00-Troubleshooting/README.md similarity index 96% rename from 00-Troubleshooting/README.md rename to NEW/00-Troubleshooting/README.md index 76e484c..ad90083 100644 --- a/00-Troubleshooting/README.md +++ b/NEW/00-Troubleshooting/README.md @@ -52,14 +52,16 @@ Warning [IST0104] (Gateway default/helloworld-gateway) The gateway refers to a p Target a pod and start a packet capture on the istio-proxy container. -This step requires istio to be installed with the flag `values.global.proxy.privileged=true` +This step requires Istio to be installed with the flag `values.global.proxy.privileged=true` This is very useful to confirm if the service is receiving any traffic, or which is the traffic received. If mTLS is enabled and configured, the traffic received should be encrypted. ```shell -$ kubectl exec -n default "$(kubectl get pod -n default -l app=helloworld -o jsonpath={.items..metadata.name})" -c istio-proxy -- sudo tcpdump dst port 80 -A +kubectl exec -n default "$(kubectl get pod -n default -l app=helloworld -o jsonpath={.items..metadata.name})" -c istio-proxy -- sudo tcpdump dst port 80 -A +``` +```text tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes ... diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Deployment.yaml similarity index 53% rename from 09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml rename to NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Deployment.yaml index 36e6b76..233fd2c 100755 --- a/09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml +++ b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Deployment.yaml @@ -1,25 +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: v1 -#kind: ServiceAccount -#metadata: -# name: istio-helloworld -# labels: -# account: ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -36,7 +14,6 @@ spec: labels: app: helloworld spec: -# serviceAccountName: istio-helloworld containers: - name: helloworld image: nginx diff --git a/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Gateway.yaml b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Gateway.yaml new file mode 100644 index 0000000..0693895 --- /dev/null +++ b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/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: + - "*" \ No newline at end of file diff --git a/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/README.md b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/README.md new file mode 100755 index 0000000..13ebeb3 --- /dev/null +++ b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/README.md @@ -0,0 +1,236 @@ +--- +gitea: none +include_toc: true +--- + + +# Description + +This is the most basic example, most of the examples spread through this [repository](../../) will be using variants of this. + +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. + +# 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 + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +## 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 + +Due to accessing the path `/helloworld`, we are triggering the rule set on the [VirtualService configuration](#virtualservice), sending a request to the Nginx backend and returning us its contents. + +```shell +curl 192.168.1.50/helloworld -s | grep ".*" +``` +```text +Welcome to nginx! +``` + +### Curl /other + +What happens if we access a path or URL that doesn't trigger any rule? + + +```shell +curl 192.168.1.50/other -s -I +``` +```text +HTTP/1.1 404 Not Found +date: Sun, 30 Apr 2023 22:16:30 GMT +server: istio-envoy +transfer-encoding: chunked +``` + +We receive a status code `404`. + +I would like to put emphasis on the following line returned: + +```text +server: istio-envoy +``` + +This means that the contents returned was performed by the Istio service, instead of the Nginx or any other possible backend service. + +## 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 +``` \ No newline at end of file diff --git a/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Service.yaml b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/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/01-Simple/01-hello_world_1_service_1_deployment/gateway.yaml b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/VirtualService.yaml similarity index 56% rename from 01-Simple/01-hello_world_1_service_1_deployment/gateway.yaml rename to NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/VirtualService.yaml index 252a01e..205231b 100755 --- a/01-Simple/01-hello_world_1_service_1_deployment/gateway.yaml +++ b/NEW/01-Getting_Started/01-hello_world_1_service_1_deployment/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/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/deployment.yaml b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Deployment.yaml similarity index 66% rename from 01-Simple/02-hello_world_1_service_2_deployments_unmanaged/deployment.yaml rename to NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Deployment.yaml index 761def5..012c69e 100755 --- a/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/deployment.yaml +++ b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Deployment.yaml @@ -1,25 +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: v1 -#kind: ServiceAccount -#metadata: -# name: istio-helloworld -# labels: -# account: ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -36,7 +14,6 @@ spec: labels: app: helloworld spec: -# serviceAccountName: istio-helloworld containers: - name: helloworld image: nginx @@ -63,7 +40,6 @@ spec: labels: app: helloworld spec: -# serviceAccountName: istio-helloworld containers: - name: helloworld image: httpd diff --git a/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Gateway.yaml b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Gateway.yaml new file mode 100755 index 0000000..7a88507 --- /dev/null +++ b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/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: + - "*" diff --git a/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/README.md b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/README.md new file mode 100755 index 0000000..e94edc9 --- /dev/null +++ b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/README.md @@ -0,0 +1,306 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +This example deploys the same infrastructure as the [previous example](../01-hello_world_1_service_1_deployment), this time containing 2 deployments under the same service. + +This example configures: + + Generic Kubernetes resources: + - 1 Service + - 2 Deployments + + Istio resources: + - 1 Gateway + - 1 Virtual Service + + +# Based on + +- [01-hello_world_1_service_1_deployment](../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 + +### helloworld-v1 + +Deploys a Nginx server that listens for the port `80`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-v1 + 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 + ports: + - containerPort: 80 +``` + +### helloworld-v2 + +Deploys an Apache server that listens for the port `80`. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-v2 + labels: + app: helloworld +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - name: helloworld + image: httpd + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent + 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 + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +## 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-v1 created +deployment.apps/helloworld-v2 created +gateway.networking.istio.io/helloworld-gateway created +service/helloworld created +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. + +```shell +kubectl get deployment helloworld-v{1..2} -w +``` +```text +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-v1 1/1 1 1 4m1s +helloworld-v2 1/1 1 1 4m1s +``` + +## 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 + +Performing a series of `curl` requests, we can observe how the response iterate between the Nginx and Apache backends. + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

It works!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

It works!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

It works!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

Welcome to nginx!

+``` + +```shell +curl 192.168.1.50/helloworld -s | grep "

.*

" +``` +```text +

It works!

+``` + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +deployment.apps "helloworld-v1" deleted +deployment.apps "helloworld-v2" deleted +gateway.networking.istio.io "helloworld-gateway" deleted +service "helloworld" deleted +virtualservice.networking.istio.io "helloworld-vs" deleted +``` \ No newline at end of file diff --git a/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Service.yaml b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/Service.yaml new file mode 100644 index 0000000..271ce25 --- /dev/null +++ b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/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/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/VirtualService.yaml b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/VirtualService.yaml new file mode 100644 index 0000000..205231b --- /dev/null +++ b/NEW/01-Getting_Started/02-hello_world_1_service_2_deployments_unmanaged/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/01-Simple/03-hello_world_1_service_2_deployments_managed_version/deployment.yaml b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Deployment.yaml similarity index 67% rename from 01-Simple/03-hello_world_1_service_2_deployments_managed_version/deployment.yaml rename to NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Deployment.yaml index 0745bb1..22a2cba 100755 --- a/01-Simple/03-hello_world_1_service_2_deployments_managed_version/deployment.yaml +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Deployment.yaml @@ -1,25 +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: v1 -#kind: ServiceAccount -#metadata: -# name: istio-helloworld -# labels: -# account: ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -27,6 +5,7 @@ metadata: labels: app: helloworld version: v1 + namespace: default spec: replicas: 1 selector: @@ -39,7 +18,6 @@ spec: app: helloworld version: v1 spec: -# serviceAccountName: istio-helloworld containers: - name: helloworld image: nginx @@ -57,6 +35,7 @@ metadata: labels: app: helloworld version: v2 + namespace: default spec: replicas: 1 selector: @@ -69,7 +48,6 @@ spec: app: helloworld version: v2 spec: -# serviceAccountName: istio-helloworld containers: - name: helloworld image: httpd @@ -78,5 +56,4 @@ spec: cpu: "100m" imagePullPolicy: IfNotPresent ports: - - containerPort: 80 ---- \ No newline at end of file + - containerPort: 80 \ No newline at end of file diff --git a/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/DestinationRule.yaml b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/DestinationRule.yaml new file mode 100644 index 0000000..bfe0e7b --- /dev/null +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/DestinationRule.yaml @@ -0,0 +1,16 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + # name: helloworld (OLD) + name: helloworld.default.svc.cluster.local # Destination that will "interject" + namespace: default +spec: + # host: helloworld # destination service (OLD) + host: helloworld.default.svc.cluster.local # Full destination service, lil better for consistency + subsets: + - name: v1 + labels: + version: v1 + - name: v2 + labels: + version: v2 diff --git a/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Gateway.yaml b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Gateway.yaml new file mode 100755 index 0000000..7f7989d --- /dev/null +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Gateway.yaml @@ -0,0 +1,15 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: helloworld-gateway + namespace: default +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" diff --git a/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/README.md b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/README.md new file mode 100755 index 0000000..3799a0e --- /dev/null +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/README.md @@ -0,0 +1,426 @@ +--- +gitea: none +include_toc: true +--- + +# Description + +Based on the [previous example](../02-hello_world_1_service_2_deployments_unmanaged), where we created 2 deployments under the same service, we will attribute different tags to each Deployment, and afterwards, through the usage of a [DestinationRule](#destinationrule), internationally target the desired backend to route the traffic towards it. + +This is example is based on the following post regarding [canary deployments on Istio](https://istio.io/latest/blog/2017/0.1-canary/). + +This example configures: + + Generic Kubernetes resources: + - 1 Service + - 2 Deployments + + Istio resources: + - 1 Gateway + - 1 Virtual Service + - 1 Destination rule + +Additionally, for consistency, now the resources are being created in the `default` namespace. + +As well, on the [VirtualService section](#virtualservice), we are targeting the service `helloworld` by the full URL, where on previous examples it was targeted by `helloworld`, now it's targeted by `helloworld.default.svc.cluster.local`. + +# Based on + +- [02-hello_world_1_service_2_deployments_unmanaged](../02-hello_world_1_service_2_deployments_unmanaged) + +# 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 + +### helloworld-v1 + +Deploys a Nginx server that listens for the port `80`. + +On this deployment, we attributed the label `version` set to `v1`, this will be used by the [DestinationRule](#destinationrule) resource to target this deployment. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-v1 + labels: + app: helloworld + version: v1 + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + version: v1 + template: + metadata: + labels: + app: helloworld + version: v1 + spec: + containers: + - name: helloworld + image: nginx + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent + ports: + - containerPort: 80 +``` + +### helloworld-v2 + +Deploys an Apache server that listens for the port `80`. + +On this deployment, we attributed the label `version` set to `v2`, this will be used by the [DestinationRule](#destinationrule) resource to target this deployment. + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: helloworld-v2 + labels: + app: helloworld + version: v2 + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: helloworld + version: v2 + template: + metadata: + labels: + app: helloworld + version: v2 + spec: + containers: + - name: helloworld + image: httpd + resources: + requests: + cpu: "100m" + imagePullPolicy: IfNotPresent + 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 + namespace: default +spec: + selector: + istio: ingressgateway # use istio default controller + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" +``` + +## 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`). + +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). + +Also, there's been configured 2 destinations under the same rule, each one with a `subset` set, which will be used by the [DestinationRule](#destinationrule) object to manage the traffic from each destination. + +As well, where each one of the destinations mentioned, has a `weight` set, this value will be used to distribute the incoming requests towards the specified subsets. + +> **Note:** +> A 20% of the traffic will be sent to the `subset` v1, meanwhile 80% will be sent to the `subset` v2. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs + namespace: default +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + # host: helloworld (OLD) + port: + number: 80 + subset: v1 + weight: 20 + - destination: + # host: helloworld (OLD) + host: helloworld.default.svc.cluster.local + port: + number: 80 + subset: v2 + weight: 80 + rewrite: + uri: "/" +``` + +## Destination rule + +This `DestinationRule` interferes with the traffic with destination `helloworld.default.svc.cluster.local`. + +Contains 2 subsets defined, where each one will target a different backend. + +A reminder that the `version: v1` was given to the Nginx backend, meanwhile the Apache backend had set `version: v2`. + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: DestinationRule +metadata: + # name: helloworld (OLD) + name: helloworld.default.svc.cluster.local # Destination that will "interject" + namespace: default +spec: + # host: helloworld # destination service (OLD) + host: helloworld.default.svc.cluster.local # Full destination service, lil better for consistency + subsets: + - name: v1 + labels: + version: v1 + - name: v2 + labels: + version: v2 +``` + +# Walkthrough + +## Deploy resources + +Deploy the resources. + +```shell +kubectl apply -f ./ +``` +```text +deployment.apps/helloworld-v1 created +deployment.apps/helloworld-v2 created +destinationrule.networking.istio.io/helloworld.default.svc.cluster.local created +gateway.networking.istio.io/helloworld-gateway created +service/helloworld created +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. + +```shell +watch -n 2 kubectl get deployment helloworld-v{1..2} +``` +```text +NAME READY UP-TO-DATE AVAILABLE AGE +helloworld-v1 1/1 1 1 58s +helloworld-v2 1/1 1 1 58s +``` + +## 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 + +By performing a series of curls, we can notice how the output received iterates between Nginx and Apache. + +If we take into account the configuration set, and we review the results, we can notice how the ratio is close to the one configured in the [VirtualService](#virtualservice) section. + +> Nginx instances (v1): 2 \ +> Apache instances (v2): 9 + +```text +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

Welcome to nginx!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

It works!

+ +$ curl 192.168.1.50/helloworld -s | grep "

.*

" +

Welcome to nginx!

+``` + +## Check Istio internal configurations created + +Using the command `istioctl x describe pod $POD`, we can see which Istio configuration is currently attributed to that specific pod. + +### v1 + +We can notice the following line: + +`Weight 20%` + +Which matches the configuration set in the [VirtualService](#virtualservice) configuration. + +```sh +istioctl x describe pod $(kubectl get pod -l app=helloworld,version=v1 -o jsonpath='{.items[0].metadata.name}') +``` +```text +Pod: helloworld-v1-7454b56b86-4cksf + Pod Revision: default + Pod Ports: 80 (helloworld), 15090 (istio-proxy) +-------------------- +Service: helloworld + Port: http 80/HTTP targets pod port 80 +DestinationRule: helloworld for "helloworld.default.svc.cluster.local" + Matching subsets: v1 + (Non-matching subsets v2) + No Traffic Policy +-------------------- +Effective PeerAuthentication: + Workload mTLS mode: PERMISSIVE + + +Exposed on Ingress Gateway http://192.168.1.50 +VirtualService: helloworld-vs + Weight 20% + /helloworld +``` + +### v2 + +We can notice the following line: + +`Weight 80%` + +Which matches the configuration set in the [VirtualService](#virtualservice) configuration. + +```shell +istioctl x describe pod `kubectl get pod -l app=helloworld,version=v2 -o jsonpath='{.items[0].metadata.name +``` +```text +Pod: helloworld-v2-64b5656d99-5bwgr + Pod Revision: default + Pod Ports: 80 (helloworld), 15090 (istio-proxy) +-------------------- +Service: helloworld + Port: http 80/HTTP targets pod port 80 +DestinationRule: helloworld for "helloworld.default.svc.cluster.local" + Matching subsets: v2 + (Non-matching subsets v1) + No Traffic Policy +-------------------- +Effective PeerAuthentication: + Workload mTLS mode: PERMISSIVE + + +Exposed on Ingress Gateway http://192.168.1.50 +VirtualService: helloworld-vs + Weight 80% + /helloworld +``` + +## Cleanup + +Finally, a cleanup from the resources deployed. + +```shell +kubectl delete -f ./ +``` +```text +deployment.apps "helloworld-v1" deleted +deployment.apps "helloworld-v2" deleted +destinationrule.networking.istio.io "helloworld.default.svc.cluster.local" 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/blog/2017/0.1-canary/ +- https://istio.io/latest/docs/reference/config/networking/destination-rule/#DestinationRule \ No newline at end of file diff --git a/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Service.yaml b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Service.yaml new file mode 100644 index 0000000..503a64c --- /dev/null +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/Service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: helloworld + labels: + app: helloworld + service: helloworld + namespace: default +spec: + ports: + - port: 80 + name: http + selector: + app: helloworld \ No newline at end of file diff --git a/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/VirtualService.yaml b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/VirtualService.yaml new file mode 100644 index 0000000..3b39a70 --- /dev/null +++ b/NEW/01-Getting_Started/03-hello_world_1_service_2_deployments_managed_version/VirtualService.yaml @@ -0,0 +1,31 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: helloworld-vs + namespace: default +spec: + hosts: + - "*" + gateways: + - helloworld-gateway + http: + - match: + - uri: + exact: /helloworld + route: + - destination: + host: helloworld.default.svc.cluster.local + # host: helloworld (OLD) + port: + number: 80 + subset: v1 + weight: 20 + - destination: + # host: helloworld (OLD) + host: helloworld.default.svc.cluster.local + port: + number: 80 + subset: v2 + weight: 80 + rewrite: + uri: "/" \ No newline at end of file diff --git a/01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/01-namespace.yaml b/NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/01-namespace.yaml similarity index 100% rename from 01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/01-namespace.yaml rename to NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/01-namespace.yaml diff --git a/01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/README.md b/NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/README.md similarity index 100% rename from 01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/README.md rename to NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/README.md diff --git a/01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/deployment.yaml b/NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/deployment.yaml similarity index 100% rename from 01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/deployment.yaml rename to NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/deployment.yaml diff --git a/01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml b/NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml similarity index 96% rename from 01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml rename to NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml index 8dbe334..6f61149 100755 --- a/01-Simple/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml +++ b/NEW/01-Getting_Started/04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace/gateway.yaml @@ -3,7 +3,7 @@ apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: helloworld-gateway - namespace: defaultnt + namespace: default spec: selector: istio: istio-ingress # use istio default controller @@ -19,7 +19,7 @@ apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: helloworld-vs - namespace: defaultnt + namespace: default spec: hosts: - "*" diff --git a/NEW/01-Getting_Started/README.md b/NEW/01-Getting_Started/README.md new file mode 100755 index 0000000..a8a66e5 --- /dev/null +++ b/NEW/01-Getting_Started/README.md @@ -0,0 +1,47 @@ +# Getting Started + +The idea of these examples is to get yourself familiarized with the basic elements used on Istio, allowing you to explore the documentation as well of proceeding with other examples or tests on your onw. + +On these examples you will find the following Istio resources: + +- Gateway +- VirtualService +- DestinationRule + +# Examples + +- 01-hello_world_1_service_1_deployment + +- 02-hello_world_1_service_2_deployments_unmanaged + +- ALL NEEDS DOCUMENTATION + +- 03-hello_world_1_service_2_deployments_managed_version + +- 04-hello_world_1_service_2_deployments_managed_version_defaultnt_namespace + +- 05-hello_world_1_Service_Entry + + + + + +# How to get started? + +## Install Istio + +Follow [this](https://istio.io/latest/docs/setup/getting-started/) guide to install the `default` profile. + +Specifically, the steps of [Download Istio](https://istio.io/latest/docs/setup/getting-started/#download) and [Install Istio][https://istio.io/latest/docs/setup/getting-started/#install). + +Once this is set, proceed with the rest of the installation. + +## Setting up a Cluster? + +Consider using this. + +It's what I used to set up my labs for testing (which is the environment that I to do this repository/set of examples). + +https://gitea.filterhome.xyz/ofilter/ansible_kubernetes_cluster + +Also, I have added MetalLB to allow for my Load Balancers to get a Local IP and be available through the local network environment. \ No newline at end of file diff --git a/99-resources/HTTPS-NGINX-DOCKERFILE/Dockerfile b/NEW/99-resources/HTTPS-NGINX-DOCKERFILE/Dockerfile similarity index 100% rename from 99-resources/HTTPS-NGINX-DOCKERFILE/Dockerfile rename to NEW/99-resources/HTTPS-NGINX-DOCKERFILE/Dockerfile diff --git a/99-resources/HTTPS-NGINX-DOCKERFILE/README.md b/NEW/99-resources/HTTPS-NGINX-DOCKERFILE/README.md similarity index 100% rename from 99-resources/HTTPS-NGINX-DOCKERFILE/README.md rename to NEW/99-resources/HTTPS-NGINX-DOCKERFILE/README.md diff --git a/99-resources/HTTPS-NGINX-DOCKERFILE/server.conf b/NEW/99-resources/HTTPS-NGINX-DOCKERFILE/server.conf similarity index 100% rename from 99-resources/HTTPS-NGINX-DOCKERFILE/server.conf rename to NEW/99-resources/HTTPS-NGINX-DOCKERFILE/server.conf diff --git a/README.md b/NEW/README.md similarity index 83% rename from README.md rename to NEW/README.md index 514fef1..18788ac 100755 --- a/README.md +++ b/NEW/README.md @@ -4,13 +4,18 @@ I have absolutely used as a reference and or template other party configurations I have tried to reference as much as possible as long it's relevant/useful for the reader. +Refer to the specific `README.md` in each example for more information, as the documentation is still in progress. + +As per the moment, most of the examples are located in 02-Traffic_management. + +Currently, the resources are under a relocation and the folders might contain things that don't _really match the topic_. + # Stuff ## Glossary https://istio.io/latest/docs/reference/glossary/ - ## Workload https://istio.io/latest/docs/reference/glossary/#workload diff --git a/02-Traffic_management/01-2_deployments_method/README.md b/OLD/02-Traffic_management/01-2_deployments_method/README.md similarity index 100% rename from 02-Traffic_management/01-2_deployments_method/README.md rename to OLD/02-Traffic_management/01-2_deployments_method/README.md diff --git a/02-Traffic_management/01-2_deployments_method/deployment.yaml b/OLD/02-Traffic_management/01-2_deployments_method/deployment.yaml similarity index 100% rename from 02-Traffic_management/01-2_deployments_method/deployment.yaml rename to OLD/02-Traffic_management/01-2_deployments_method/deployment.yaml diff --git a/02-Traffic_management/01-2_deployments_method/gateway.yaml b/OLD/02-Traffic_management/01-2_deployments_method/gateway.yaml similarity index 100% rename from 02-Traffic_management/01-2_deployments_method/gateway.yaml rename to OLD/02-Traffic_management/01-2_deployments_method/gateway.yaml diff --git a/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md b/OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md similarity index 100% rename from 02-Traffic_management/02-DirectResponse-HTTP-Body/README.md rename to OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/README.md diff --git a/02-Traffic_management/02-DirectResponse-HTTP-Body/deployment.yaml b/OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/deployment.yaml similarity index 100% rename from 02-Traffic_management/02-DirectResponse-HTTP-Body/deployment.yaml rename to OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/deployment.yaml diff --git a/02-Traffic_management/02-DirectResponse-HTTP-Body/gateway.yaml b/OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/gateway.yaml similarity index 100% rename from 02-Traffic_management/02-DirectResponse-HTTP-Body/gateway.yaml rename to OLD/02-Traffic_management/02-DirectResponse-HTTP-Body/gateway.yaml diff --git a/02-Traffic_management/03-HTTPRewrite/README.md b/OLD/02-Traffic_management/03-HTTPRewrite/README.md similarity index 100% rename from 02-Traffic_management/03-HTTPRewrite/README.md rename to OLD/02-Traffic_management/03-HTTPRewrite/README.md diff --git a/02-Traffic_management/03-HTTPRewrite/deployment.yaml b/OLD/02-Traffic_management/03-HTTPRewrite/deployment.yaml similarity index 100% rename from 02-Traffic_management/03-HTTPRewrite/deployment.yaml rename to OLD/02-Traffic_management/03-HTTPRewrite/deployment.yaml diff --git a/02-Traffic_management/03-HTTPRewrite/gateway.yaml b/OLD/02-Traffic_management/03-HTTPRewrite/gateway.yaml similarity index 100% rename from 02-Traffic_management/03-HTTPRewrite/gateway.yaml rename to OLD/02-Traffic_management/03-HTTPRewrite/gateway.yaml diff --git a/02-Traffic_management/04-HTTPRedirect/README.md b/OLD/02-Traffic_management/04-HTTPRedirect/README.md similarity index 100% rename from 02-Traffic_management/04-HTTPRedirect/README.md rename to OLD/02-Traffic_management/04-HTTPRedirect/README.md diff --git a/02-Traffic_management/04-HTTPRedirect/deployment.yaml b/OLD/02-Traffic_management/04-HTTPRedirect/deployment.yaml similarity index 100% rename from 02-Traffic_management/04-HTTPRedirect/deployment.yaml rename to OLD/02-Traffic_management/04-HTTPRedirect/deployment.yaml diff --git a/02-Traffic_management/04-HTTPRedirect/gateway.yaml b/OLD/02-Traffic_management/04-HTTPRedirect/gateway.yaml similarity index 100% rename from 02-Traffic_management/04-HTTPRedirect/gateway.yaml rename to OLD/02-Traffic_management/04-HTTPRedirect/gateway.yaml diff --git a/01-Simple/05-hello_world_1_Service_Entry/README.md b/OLD/02-Traffic_management/05-hello_world_1_Service_Entry/README.md similarity index 100% rename from 01-Simple/05-hello_world_1_Service_Entry/README.md rename to OLD/02-Traffic_management/05-hello_world_1_Service_Entry/README.md diff --git a/01-Simple/05-hello_world_1_Service_Entry/ServiceEntry.yaml b/OLD/02-Traffic_management/05-hello_world_1_Service_Entry/ServiceEntry.yaml similarity index 100% rename from 01-Simple/05-hello_world_1_Service_Entry/ServiceEntry.yaml rename to OLD/02-Traffic_management/05-hello_world_1_Service_Entry/ServiceEntry.yaml diff --git a/01-Simple/05-hello_world_1_Service_Entry/gateway.yaml b/OLD/02-Traffic_management/05-hello_world_1_Service_Entry/gateway.yaml similarity index 100% rename from 01-Simple/05-hello_world_1_Service_Entry/gateway.yaml rename to OLD/02-Traffic_management/05-hello_world_1_Service_Entry/gateway.yaml diff --git a/02-Traffic_management/05a-FaultInjection-delay/README.md b/OLD/02-Traffic_management/05a-FaultInjection-delay/README.md similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/README.md rename to OLD/02-Traffic_management/05a-FaultInjection-delay/README.md diff --git a/02-Traffic_management/05a-FaultInjection-delay/deployment.yaml b/OLD/02-Traffic_management/05a-FaultInjection-delay/deployment.yaml similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/deployment.yaml rename to OLD/02-Traffic_management/05a-FaultInjection-delay/deployment.yaml diff --git a/02-Traffic_management/05a-FaultInjection-delay/gateway.yaml b/OLD/02-Traffic_management/05a-FaultInjection-delay/gateway.yaml similarity index 100% rename from 02-Traffic_management/05a-FaultInjection-delay/gateway.yaml rename to OLD/02-Traffic_management/05a-FaultInjection-delay/gateway.yaml diff --git a/02-Traffic_management/05b-FaultInjection-abort/README.md b/OLD/02-Traffic_management/05b-FaultInjection-abort/README.md similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/README.md rename to OLD/02-Traffic_management/05b-FaultInjection-abort/README.md diff --git a/02-Traffic_management/05b-FaultInjection-abort/deployment.yaml b/OLD/02-Traffic_management/05b-FaultInjection-abort/deployment.yaml similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/deployment.yaml rename to OLD/02-Traffic_management/05b-FaultInjection-abort/deployment.yaml diff --git a/02-Traffic_management/05b-FaultInjection-abort/gateway.yaml b/OLD/02-Traffic_management/05b-FaultInjection-abort/gateway.yaml similarity index 100% rename from 02-Traffic_management/05b-FaultInjection-abort/gateway.yaml rename to OLD/02-Traffic_management/05b-FaultInjection-abort/gateway.yaml diff --git a/01-Simple/06-hello_world_1_HTTPS-Service_Entry/README.md b/OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md similarity index 96% rename from 01-Simple/06-hello_world_1_HTTPS-Service_Entry/README.md rename to OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md index 91b2c30..1eed779 100755 --- a/01-Simple/06-hello_world_1_HTTPS-Service_Entry/README.md +++ b/OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/README.md @@ -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](../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/01-Simple/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml b/OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml similarity index 100% rename from 01-Simple/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml rename to OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/ServiceEntry.yaml diff --git a/01-Simple/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml b/OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml similarity index 100% rename from 01-Simple/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml rename to OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/gateway.yaml diff --git a/01-Simple/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png b/OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png similarity index 100% rename from 01-Simple/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png rename to OLD/02-Traffic_management/06-hello_world_1_HTTPS-Service_Entry/src/github-screenshot.png diff --git a/02-Traffic_management/06-mTLS/README.md b/OLD/02-Traffic_management/06-mTLS/README.md similarity index 98% rename from 02-Traffic_management/06-mTLS/README.md rename to OLD/02-Traffic_management/06-mTLS/README.md index 84e2185..4e6dadb 100755 --- a/02-Traffic_management/06-mTLS/README.md +++ b/OLD/02-Traffic_management/06-mTLS/README.md @@ -5,7 +5,7 @@ include_toc: true # Based on -- [01-hello_world_1_service_1_deployment](../../01-Simple/01-hello_world_1_service_1_deployment) +- [01-hello_world_1_service_1_deployment](../../01-Getting%20Started/01-hello_world_1_service_1_deployment) ## Description diff --git a/02-Traffic_management/06-mTLS/authentication.yaml b/OLD/02-Traffic_management/06-mTLS/authentication.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/authentication.yaml rename to OLD/02-Traffic_management/06-mTLS/authentication.yaml diff --git a/02-Traffic_management/06-mTLS/deployment.yaml b/OLD/02-Traffic_management/06-mTLS/deployment.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/deployment.yaml rename to OLD/02-Traffic_management/06-mTLS/deployment.yaml diff --git a/02-Traffic_management/06-mTLS/deployment_2.yaml b/OLD/02-Traffic_management/06-mTLS/deployment_2.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/deployment_2.yaml rename to OLD/02-Traffic_management/06-mTLS/deployment_2.yaml diff --git a/02-Traffic_management/06-mTLS/gateway.yaml b/OLD/02-Traffic_management/06-mTLS/gateway.yaml similarity index 100% rename from 02-Traffic_management/06-mTLS/gateway.yaml rename to OLD/02-Traffic_management/06-mTLS/gateway.yaml diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md b/OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md similarity index 97% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md rename to OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md index ac080b5..ff66d5e 100644 --- a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md +++ b/OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/README.md @@ -5,7 +5,7 @@ include_toc: true # Based on -- [01-hello_world_1_service_1_deployment](../../01-Simple/01-hello_world_1_service_1_deployment) +- [01-hello_world_1_service_1_deployment](../../01-Getting%20Started/01-hello_world_1_service_1_deployment) # Description diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml b/OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml rename to OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/deployment.yaml diff --git a/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml b/OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml similarity index 100% rename from 02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml rename to OLD/02-Traffic_management/07-HTTPS-Gateway-Simple-TLS/gateway.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/README.md b/OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/README.md similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/README.md rename to OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/README.md diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml b/OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml rename to OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/deployment.yaml diff --git a/02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml b/OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml similarity index 100% rename from 02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml rename to OLD/02-Traffic_management/08a-HTTPS-min-TLS-version/gateway.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/README.md b/OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/README.md similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/README.md rename to OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/README.md diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml b/OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml rename to OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/deployment.yaml diff --git a/02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml b/OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml similarity index 100% rename from 02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml rename to OLD/02-Traffic_management/08b-HTTPS-max-TLS-version/gateway.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/README.md b/OLD/02-Traffic_management/09-HTTPS-backend/README.md similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/README.md rename to OLD/02-Traffic_management/09-HTTPS-backend/README.md diff --git a/02-Traffic_management/09-HTTPS-backend/authentication.yaml b/OLD/02-Traffic_management/09-HTTPS-backend/authentication.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/authentication.yaml rename to OLD/02-Traffic_management/09-HTTPS-backend/authentication.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/deployment.yaml b/OLD/02-Traffic_management/09-HTTPS-backend/deployment.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/deployment.yaml rename to OLD/02-Traffic_management/09-HTTPS-backend/deployment.yaml diff --git a/02-Traffic_management/09-HTTPS-backend/gateway.yaml b/OLD/02-Traffic_management/09-HTTPS-backend/gateway.yaml similarity index 100% rename from 02-Traffic_management/09-HTTPS-backend/gateway.yaml rename to OLD/02-Traffic_management/09-HTTPS-backend/gateway.yaml diff --git a/02-Traffic_management/10-TCP-FORWARDING/README.md b/OLD/02-Traffic_management/10-TCP-FORWARDING/README.md similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/README.md rename to OLD/02-Traffic_management/10-TCP-FORWARDING/README.md diff --git a/02-Traffic_management/10-TCP-FORWARDING/deployment.yaml b/OLD/02-Traffic_management/10-TCP-FORWARDING/deployment.yaml similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/deployment.yaml rename to OLD/02-Traffic_management/10-TCP-FORWARDING/deployment.yaml diff --git a/02-Traffic_management/10-TCP-FORWARDING/gateway.yaml b/OLD/02-Traffic_management/10-TCP-FORWARDING/gateway.yaml similarity index 100% rename from 02-Traffic_management/10-TCP-FORWARDING/gateway.yaml rename to OLD/02-Traffic_management/10-TCP-FORWARDING/gateway.yaml diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/README.md b/OLD/02-Traffic_management/11-TLS-PASSTHROUGH/README.md similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/README.md rename to OLD/02-Traffic_management/11-TLS-PASSTHROUGH/README.md diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml b/OLD/02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml rename to OLD/02-Traffic_management/11-TLS-PASSTHROUGH/deployment.yaml diff --git a/02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml b/OLD/02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml similarity index 100% rename from 02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml rename to OLD/02-Traffic_management/11-TLS-PASSTHROUGH/gateway.yaml diff --git a/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/README.md b/OLD/02-Traffic_management/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 OLD/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/README.md diff --git a/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/gateway.yaml b/OLD/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 OLD/02-Traffic_management/12-HTTP-to-HTTPS-traffic-redirect/gateway.yaml diff --git a/02-Traffic_management/README.md b/OLD/02-Traffic_management/README.md similarity index 100% rename from 02-Traffic_management/README.md rename to OLD/02-Traffic_management/README.md diff --git a/02-Traffic_management/src/06-kiali-services-byeworld.png b/OLD/02-Traffic_management/src/06-kiali-services-byeworld.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services-byeworld.png rename to OLD/02-Traffic_management/src/06-kiali-services-byeworld.png diff --git a/02-Traffic_management/src/06-kiali-services-helloworld.png b/OLD/02-Traffic_management/src/06-kiali-services-helloworld.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services-helloworld.png rename to OLD/02-Traffic_management/src/06-kiali-services-helloworld.png diff --git a/02-Traffic_management/src/06-kiali-services.png b/OLD/02-Traffic_management/src/06-kiali-services.png similarity index 100% rename from 02-Traffic_management/src/06-kiali-services.png rename to OLD/02-Traffic_management/src/06-kiali-services.png diff --git a/03-Sidecar/01-ingress-proxy-forwarding/README.md b/OLD/03-Sidecar/01-ingress-proxy-forwarding/README.md similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/README.md rename to OLD/03-Sidecar/01-ingress-proxy-forwarding/README.md diff --git a/03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml b/OLD/03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml rename to OLD/03-Sidecar/01-ingress-proxy-forwarding/deployment.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml b/OLD/03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml rename to OLD/03-Sidecar/01-ingress-proxy-forwarding/gateway.yaml diff --git a/03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml b/OLD/03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml similarity index 100% rename from 03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml rename to OLD/03-Sidecar/01-ingress-proxy-forwarding/sidecar.yaml diff --git a/03-Sidecar/README.md b/OLD/03-Sidecar/README.md similarity index 100% rename from 03-Sidecar/README.md rename to OLD/03-Sidecar/README.md diff --git a/04-Envoy/01-envoy_add_headers/README.md b/OLD/04-Envoy/01-envoy_add_headers/README.md similarity index 100% rename from 04-Envoy/01-envoy_add_headers/README.md rename to OLD/04-Envoy/01-envoy_add_headers/README.md diff --git a/04-Envoy/01-envoy_add_headers/deployment.yaml b/OLD/04-Envoy/01-envoy_add_headers/deployment.yaml similarity index 91% rename from 04-Envoy/01-envoy_add_headers/deployment.yaml rename to OLD/04-Envoy/01-envoy_add_headers/deployment.yaml index f75b734..e3319c3 100755 --- a/04-Envoy/01-envoy_add_headers/deployment.yaml +++ b/OLD/04-Envoy/01-envoy_add_headers/deployment.yaml @@ -1,4 +1,3 @@ -# https://github.com/istio/istio/blob/master/samples/helloworld/helloworld.yaml apiVersion: v1 kind: Service metadata: diff --git a/04-Envoy/01-envoy_add_headers/envoy.yaml b/OLD/04-Envoy/01-envoy_add_headers/envoy.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/envoy.yaml rename to OLD/04-Envoy/01-envoy_add_headers/envoy.yaml diff --git a/04-Envoy/01-envoy_add_headers/envoy2.yaml b/OLD/04-Envoy/01-envoy_add_headers/envoy2.yaml similarity index 100% rename from 04-Envoy/01-envoy_add_headers/envoy2.yaml rename to OLD/04-Envoy/01-envoy_add_headers/envoy2.yaml diff --git a/01-Simple/02-hello_world_1_service_2_deployments_unmanaged/gateway.yaml b/OLD/04-Envoy/01-envoy_add_headers/gateway.yaml similarity index 100% rename from 01-Simple/02-hello_world_1_service_2_deployments_unmanaged/gateway.yaml rename to OLD/04-Envoy/01-envoy_add_headers/gateway.yaml diff --git a/04-Envoy/README.md b/OLD/04-Envoy/README.md similarity index 100% rename from 04-Envoy/README.md rename to OLD/04-Envoy/README.md diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/README.md b/OLD/05-MeshConfig/01-Outboud-Traffic-Policy/README.md similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/README.md rename to OLD/05-MeshConfig/01-Outboud-Traffic-Policy/README.md diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml b/OLD/05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml rename to OLD/05-MeshConfig/01-Outboud-Traffic-Policy/deployment.yaml diff --git a/05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml b/OLD/05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml similarity index 100% rename from 05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml rename to OLD/05-MeshConfig/01-Outboud-Traffic-Policy/gateway.yaml diff --git a/05-MeshConfig/README.md b/OLD/05-MeshConfig/README.md similarity index 100% rename from 05-MeshConfig/README.md rename to OLD/05-MeshConfig/README.md diff --git a/06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml b/OLD/06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml rename to OLD/06-AuthorizationPolicy/01-target-namespaces/01-namespace.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/README.md b/OLD/06-AuthorizationPolicy/01-target-namespaces/README.md similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/README.md rename to OLD/06-AuthorizationPolicy/01-target-namespaces/README.md diff --git a/06-AuthorizationPolicy/01-target-namespaces/authentication.yaml b/OLD/06-AuthorizationPolicy/01-target-namespaces/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/authentication.yaml rename to OLD/06-AuthorizationPolicy/01-target-namespaces/authentication.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/deployment.yaml b/OLD/06-AuthorizationPolicy/01-target-namespaces/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/deployment.yaml rename to OLD/06-AuthorizationPolicy/01-target-namespaces/deployment.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml b/OLD/06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml rename to OLD/06-AuthorizationPolicy/01-target-namespaces/deployment_2.yaml diff --git a/06-AuthorizationPolicy/01-target-namespaces/gateway.yaml b/OLD/06-AuthorizationPolicy/01-target-namespaces/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/01-target-namespaces/gateway.yaml rename to OLD/06-AuthorizationPolicy/01-target-namespaces/gateway.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml b/OLD/06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/01-namespace.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml b/OLD/06-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 OLD/06-AuthorizationPolicy/02-target-service-accounts/01-service-accounts.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/README.md b/OLD/06-AuthorizationPolicy/02-target-service-accounts/README.md similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/README.md rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/README.md diff --git a/06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml b/OLD/06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/authentication.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml b/OLD/06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/deployment.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml b/OLD/06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/deployment_2.yaml diff --git a/06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml b/OLD/06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml rename to OLD/06-AuthorizationPolicy/02-target-service-accounts/gateway.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml b/OLD/06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml rename to OLD/06-AuthorizationPolicy/03-target-deployments/01-namespace.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/README.md b/OLD/06-AuthorizationPolicy/03-target-deployments/README.md similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/README.md rename to OLD/06-AuthorizationPolicy/03-target-deployments/README.md diff --git a/06-AuthorizationPolicy/03-target-deployments/authentication.yaml b/OLD/06-AuthorizationPolicy/03-target-deployments/authentication.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/authentication.yaml rename to OLD/06-AuthorizationPolicy/03-target-deployments/authentication.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/deployment.yaml b/OLD/06-AuthorizationPolicy/03-target-deployments/deployment.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/deployment.yaml rename to OLD/06-AuthorizationPolicy/03-target-deployments/deployment.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml b/OLD/06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml rename to OLD/06-AuthorizationPolicy/03-target-deployments/deployment_2.yaml diff --git a/06-AuthorizationPolicy/03-target-deployments/gateway.yaml b/OLD/06-AuthorizationPolicy/03-target-deployments/gateway.yaml similarity index 100% rename from 06-AuthorizationPolicy/03-target-deployments/gateway.yaml rename to OLD/06-AuthorizationPolicy/03-target-deployments/gateway.yaml diff --git a/06-AuthorizationPolicy/README.md b/OLD/06-AuthorizationPolicy/README.md similarity index 100% rename from 06-AuthorizationPolicy/README.md rename to OLD/06-AuthorizationPolicy/README.md diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/01-namespace.yaml b/OLD/09-Ingress/01-Create-Istio-LoadBalancer/01-namespace.yaml similarity index 100% rename from 09-Ingress/01-Create-Istio-LoadBalancer/01-namespace.yaml rename to OLD/09-Ingress/01-Create-Istio-LoadBalancer/01-namespace.yaml diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/README.md b/OLD/09-Ingress/01-Create-Istio-LoadBalancer/README.md similarity index 97% rename from 09-Ingress/01-Create-Istio-LoadBalancer/README.md rename to OLD/09-Ingress/01-Create-Istio-LoadBalancer/README.md index 382f17e..bdf9255 100644 --- a/09-Ingress/01-Create-Istio-LoadBalancer/README.md +++ b/OLD/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-Simple/01-hello_world_1_service_1_deployment) +- [01-hello_world_1_service_1_deployment](../../01-Getting%20Started/01-hello_world_1_service_1_deployment) # Description diff --git a/01-Simple/01-hello_world_1_service_1_deployment/deployment.yaml b/OLD/09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml similarity index 100% rename from 01-Simple/01-hello_world_1_service_1_deployment/deployment.yaml rename to OLD/09-Ingress/01-Create-Istio-LoadBalancer/deployment.yaml diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml b/OLD/09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml similarity index 100% rename from 09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml rename to OLD/09-Ingress/01-Create-Istio-LoadBalancer/gateway.yaml diff --git a/09-Ingress/01-Create-Istio-LoadBalancer/ingress.yaml b/OLD/09-Ingress/01-Create-Istio-LoadBalancer/ingress.yaml similarity index 100% rename from 09-Ingress/01-Create-Istio-LoadBalancer/ingress.yaml rename to OLD/09-Ingress/01-Create-Istio-LoadBalancer/ingress.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/README.md b/OLD/10-PeerAuthentication/01-disable-mTLS/README.md similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/README.md rename to OLD/10-PeerAuthentication/01-disable-mTLS/README.md diff --git a/10-PeerAuthentication/01-disable-mTLS/Service.yaml b/OLD/10-PeerAuthentication/01-disable-mTLS/Service.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/Service.yaml rename to OLD/10-PeerAuthentication/01-disable-mTLS/Service.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/authentication.yaml b/OLD/10-PeerAuthentication/01-disable-mTLS/authentication.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/authentication.yaml rename to OLD/10-PeerAuthentication/01-disable-mTLS/authentication.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/deployment.yaml b/OLD/10-PeerAuthentication/01-disable-mTLS/deployment.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/deployment.yaml rename to OLD/10-PeerAuthentication/01-disable-mTLS/deployment.yaml diff --git a/10-PeerAuthentication/01-disable-mTLS/gateway.yaml b/OLD/10-PeerAuthentication/01-disable-mTLS/gateway.yaml similarity index 100% rename from 10-PeerAuthentication/01-disable-mTLS/gateway.yaml rename to OLD/10-PeerAuthentication/01-disable-mTLS/gateway.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/README.md b/OLD/10-PeerAuthentication/02-portLevelMtls/README.md similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/README.md rename to OLD/10-PeerAuthentication/02-portLevelMtls/README.md diff --git a/10-PeerAuthentication/02-portLevelMtls/Service.yaml b/OLD/10-PeerAuthentication/02-portLevelMtls/Service.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/Service.yaml rename to OLD/10-PeerAuthentication/02-portLevelMtls/Service.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/authentication.yaml b/OLD/10-PeerAuthentication/02-portLevelMtls/authentication.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/authentication.yaml rename to OLD/10-PeerAuthentication/02-portLevelMtls/authentication.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/deployment.yaml b/OLD/10-PeerAuthentication/02-portLevelMtls/deployment.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/deployment.yaml rename to OLD/10-PeerAuthentication/02-portLevelMtls/deployment.yaml diff --git a/10-PeerAuthentication/02-portLevelMtls/gateway.yaml b/OLD/10-PeerAuthentication/02-portLevelMtls/gateway.yaml similarity index 100% rename from 10-PeerAuthentication/02-portLevelMtls/gateway.yaml rename to OLD/10-PeerAuthentication/02-portLevelMtls/gateway.yaml diff --git a/XX-CirtcuitBreaking/Deployment.yaml b/OLD/XX-CirtcuitBreaking/Deployment.yaml similarity index 100% rename from XX-CirtcuitBreaking/Deployment.yaml rename to OLD/XX-CirtcuitBreaking/Deployment.yaml diff --git a/XX-CirtcuitBreaking/DestinationRule.yaml b/OLD/XX-CirtcuitBreaking/DestinationRule.yaml similarity index 100% rename from XX-CirtcuitBreaking/DestinationRule.yaml rename to OLD/XX-CirtcuitBreaking/DestinationRule.yaml diff --git a/XX-CirtcuitBreaking/Fortio.yaml b/OLD/XX-CirtcuitBreaking/Fortio.yaml similarity index 100% rename from XX-CirtcuitBreaking/Fortio.yaml rename to OLD/XX-CirtcuitBreaking/Fortio.yaml diff --git a/XX-CirtcuitBreaking/README.md b/OLD/XX-CirtcuitBreaking/README.md similarity index 100% rename from XX-CirtcuitBreaking/README.md rename to OLD/XX-CirtcuitBreaking/README.md diff --git a/XX-CirtcuitBreaking/Service.yaml b/OLD/XX-CirtcuitBreaking/Service.yaml similarity index 100% rename from XX-CirtcuitBreaking/Service.yaml rename to OLD/XX-CirtcuitBreaking/Service.yaml