Skip to content

Commit 0361f77

Browse files
authored
Update module-06-advanced-gitops-techniques.adoc
1 parent 02c8712 commit 0361f77

File tree

1 file changed

+43
-13
lines changed

1 file changed

+43
-13
lines changed
Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# Module 6: Advanced Tekton Techniques (Optional)
1+
== Module 6: Advanced Tekton Techniques (Optional)
22

3-
## Progressive Delivery with Tekton
3+
=== Progressive Delivery with Tekton
44

5-
### Introduction
5+
==== Introduction
66

77
Progressive delivery is a strategy that allows for the gradual rollout of new software versions, reducing the risk of deployment failures. Tekton, combined with Kubernetes features, can facilitate canary and blue/green deployments.
88

99
**Learn more about Progressive Delivery**
1010

1111
- https://argo-rollouts.readthedocs.io/en/stable/[Argo CD Progressive Delivery]
1212

13-
### Canary Deployments
13+
==== Canary Deployments
1414

1515
A canary deployment involves rolling out a new version of an application to a small subset of users before fully deploying it. This allows for testing the new version in a live environment with real user traffic.
1616

1717
**Canary Deployments in OpenShift**
1818

1919
- https://developers.redhat.com/articles/2024/03/26/canary-deployment-strategy-openshift-service-mesh[Canary deployment strategy with OpenShift Service Mesh]
2020

21-
#### Tekton Implementation
21+
===== Tekton Implementation
2222

2323
- Create a Tekton pipeline that deploys the new version of the application to a small percentage of pods.
2424
- Use Kubernetes features like `PodDisruptionBudgets` and `HorizontalPodAutoscaler` to manage the rollout.
@@ -32,15 +32,15 @@ A canary deployment involves rolling out a new version of an application to a sm
3232

3333
- https://kubernetes.io/docs/concepts/workloads/pods/disruptions/[Pod Disruptions]
3434

35-
### Blue/Green Deployments
35+
==== Blue/Green Deployments
3636

3737
A blue/green deployment involves running two identical production environments (blue and green) simultaneously. The new version is deployed to the inactive environment (green), tested, and then switched to become the active environment.
3838

3939
**Argo CD Blue/Green Deployment Guide**
4040

4141
- https://argo-cd.readthedocs.io/en/stable/user-guide/blue_green/[Argo CD Blue/Green Deployment]
4242

43-
#### Tekton Implementation
43+
===== Tekton Implementation
4444

4545
- Create a Tekton pipeline that deploys the new version of the application to the green environment.
4646
- Use Kubernetes services to switch traffic from the blue environment to the green environment once the new version is verified.
@@ -50,19 +50,19 @@ A blue/green deployment involves running two identical production environments (
5050

5151
- https://tekton.dev/docs/pipelines/pipelines/#specifying-pipelineservices[Specifying Pipeline Services]
5252

53-
## Multi-Environment Deployments
53+
=== Multi-Environment Deployments
5454

55-
### Introduction
55+
==== Introduction
5656

5757
Managing deployments across multiple environments (e.g., development, staging, production) requires dynamic configuration and environment-specific settings.
5858

5959
**Multi-Environment Deployments**
6060

6161
- https://www.redhat.com/en/blog/multi-cluster-deployment-kubernetes-gitops[How to deploy multicluster applications with OpenShift and GitOps]
6262

63-
### Pipeline Parameters and Workspaces
63+
==== Pipeline Parameters and Workspaces
6464

65-
#### Pipeline Parameters
65+
===== Pipeline Parameters
6666

6767
- Use `PipelineParameters` to pass environment-specific configurations to the pipeline.
6868
- Example: Define parameters for different environments (e.g., `env=dev`, `env=staging`, `env=prod`).
@@ -71,11 +71,41 @@ Managing deployments across multiple environments (e.g., development, staging, p
7171

7272
- https://tekton.dev/docs/pipelines/pipelines/#specifying-parameters[Specifying Parameters]
7373

74-
#### Workspaces
74+
===== Workspaces
7575

7676
- Use `Workspaces` to share data between tasks in the pipeline.
7777
- Example: Store environment-specific configuration files in a workspace and use them in different tasks.
7878

7979
**Tekton Documentation**
8080

81-
- https://tekton.dev/docs/pipelines/pipelines/#specifying-workspaces[Specifying Workspaces]
81+
- https://tekton.dev/docs/pipelines/pipelines/#specifying-workspaces[Specifying Workspaces]
82+
83+
==== Debugging TaskRuns
84+
85+
Tekton allows you to debug `TaskRuns` by setting breakpoints and inspecting the execution environment.
86+
87+
**Adding Breakpoints:**
88+
89+
- Modify the `TaskRun` to include a debug breakpoint.
90+
- This halts execution at a specified step, allowing inspection.
91+
92+
**Inspecting the Environment:**
93+
94+
- Access the pod associated with the `TaskRun`.
95+
- Use standard debugging tools to inspect files, environment variables, and running processes.
96+
97+
**Tekton Documentation**
98+
99+
- https://tekton.dev/docs/pipelines/debug/[Debugging TaskRuns]
100+
101+
==== Common Issues and Solutions
102+
103+
**TaskRun Failures:**
104+
105+
**Issue:** A `TaskRun` fails unexpectedly.
106+
107+
**Solution:**
108+
109+
- Check the logs for error messages.
110+
- Verify that all required resources and parameters are correctly defined.
111+
- Ensure that the

0 commit comments

Comments
 (0)