You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/continuous-delivery/deploy-srv-diff-platforms/helm/helm-cd-quickstart.md
+33-26Lines changed: 33 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,20 @@
1
1
---
2
2
title: Helm deployments overview
3
-
description: High-level view of Harness Helm deployments and Harness' options for users to perform Helm Deployments.
3
+
description: High-level view of Harness Helm deployments and Harness's options for users to perform Helm Deployments.
4
+
tags:
5
+
- helm
6
+
- helm-deployment
7
+
- harness-managed-helm
8
+
- native-helm
9
+
- helm-charts
10
+
- canary-deployment
11
+
- blue-green-deployment
4
12
sidebar_position: 1
5
13
---
6
14
7
-
Harness supports Helm deployments as part of its Kubernetes swimlane. You can deploy Helm charts and subcharts to your target infrastructure using all of the common chart and artifact repositories and cloud platforms.
15
+
Harness supports Helm deployments as part of its Kubernetes swimlane. You can deploy Helm charts and subcharts to your target infrastructure using the common chart and artifact repositories and cloud platforms.
8
16
9
-
This topic explains Harness managed Helm and Helm managed Helm deployments, advantages and disadvantages of both approaches, and what option is best suited for your requirement.
10
-
This topic explains Harness managed Helm and Helm managed Helm deployments, advantages and disadvantages of both approaches, and what option is best suited for your requirement.
17
+
This topic explains Harness-managed Helm and Helm-managed Helm deployments, the advantages and disadvantages of both approaches, and which option is best suited for your requirements.
11
18
12
19
## Helm pipeline components
13
20
@@ -53,7 +60,7 @@ For a detailed explanation of Helm deployments, go to [Deploy Helm charts](/docs
53
60
<td>
54
61
<ul>
55
62
<li>A <b>Deploy</b> stage includes the deployment strategy and steps.</li>
56
-
<li>Pick a strategy and Harness automatically adds the required steps.</li>
63
+
<li>Pick a strategy, and Harness automatically adds the required steps.</li>
57
64
<li>Add custom steps to perform other tasks.</li>
58
65
</ul>
59
66
</td>
@@ -63,42 +70,42 @@ For a detailed explanation of Helm deployments, go to [Deploy Helm charts](/docs
63
70
64
71
## Deploying Helm charts managed by Harness
65
72
66
-
In a Harnessmanaged Helm deployment, Harness fetches Helm chart and deploy it using Kubernetes `kubectl apply -f` command. This deployment method is a suitable option for users who are not fully invested in Helm and are not using its advanced features like Helm hooks, subcharts, and Helm dependencies. Such users can focus on Helm packaging the Kubernetes resources for you and publishing it to a target source. This approach gives you granular control on the Kubernetes resources, and how they're applied. You can specify which files you wish to skip for deployment, and prioritize which are created before the deployment, and so on.
73
+
In a Harness-managed Helm deployment, Harness fetches the Helm chart and deploys it using Kubernetes `kubectl apply -f` command. This deployment method is suitable for users who are not fully invested in Helm and are not using its advanced features like Helm hooks, subcharts, and Helm dependencies. Such users can focus on Helm packaging the Kubernetes resources for you and publishing them to a target source. This approach gives you granular control over the Kubernetes resources and their application. You can specify which files you wish to skip for deployment, prioritize which are created before the deployment, and so on.
67
74
68
-
With more control over the Helmpackaged Kubernetes resources, Harness has the luxury of orchestrating Canary and Blue Green deployments, and tracking the resources accordingly. Harness appends canary labels to a Canarydeployed service. Harness identifies the primary and stage services' Kubernetes objects deployed and manages the labels and selectors so the correct resources receive traffic. This approach gives Harness further control to version your ConfigMaps and Secrets along with your deployed resources so you get the correct versions with your deployed resources.
75
+
With more control over the Helm-packaged Kubernetes resources, Harness has the luxury of orchestrating Canary and Blue Green deployments and tracking the resources accordingly. Harness appends canary labels to a Canary-deployed service. Harness identifies the primary and stage services' Kubernetes objects deployed and manages the labels and selectors so that the correct resources receive traffic. This approach gives Harness further control to version your ConfigMaps and Secrets along with your deployed resources, so you get the correct versions with your deployed resources.
69
76
70
-
In the event of rollback, because Harness tracks and control how the files are released, Harness can initiate a rollback based on the ConfigMap version that captures the state of your last successfully deployed service.
77
+
Because Harness tracks and controls how the files are released in the event of rollback, Harness can initiate a rollback based on the ConfigMap version that captures the state of your last successfully deployed service.
71
78
72
79
Here's a summary of the process:
73
80
74
81
1. Harness fetches the manifests from your Helm repository to the Harness Delegate.
75
82
<details>
76
83
<summary>Add different types of manifests</summary>
77
84
78
-
Here's a showing you how to add different types of manifests. It also describes how to add Helm charts and multiple values YAML files in the same repo as the chart, or in separate repos.
85
+
Here's a tutorial showing you how to add different types of manifests. It also describes how to add Helm charts and multiple-value YAML files in the same repo as the chart or in separate repos.
2. Harness unzips the chart and runs a `helm template` over the Kubernetes resources packaged in the Helm chart.
92
+
2. Harness unzips the chart and runs a `helm template` over the Kubernetes resources in the Helm chart.
86
93
3. On the same Harness Delegate, or a delegate that has access to the target Kubernetes Cluster, Harness proceeds to deploy the Helm chart using the `kubectl apply -f <+kubernetes.resource.yml>` command.
87
94
4. Once deployed, Harness manages and tracks the deployed Helm chart using the **Release Name**.
88
95
89
96
### Configuring Helm charts managed by Harness
90
97
91
98
1. Create a [Harness service](/docs/continuous-delivery/get-started/services-and-environments-overview#services) in your Harness project.
92
99
2. In service **Configuration**, under **Service Definition** > **Deployment Type**, select **Kubernetes**.
93
-
3. In **Manifests**, select **Add Manifest** and navigate to **Manifest Source** in your service, and configure Git, OCI Helm, or HTTP Helm.
100
+
3. In **Manifests**, select **Add Manifest**, navigate to **Manifest Source** in your service, and configure Git, OCI Helm, or HTTP Helm.
94
101
4. Ensure that you have selected **Kubernetes** deployment type in your environment **Infrastructure Definition** as well.
95
102
96
-
For detailed steps on how to deploy Harnessmanaged Helm charts, go to [Deploy Helm charts](/docs/continuous-delivery/deploy-srv-diff-platforms/helm/deploy-helm-charts).
103
+
For detailed steps on deploying Harness-managed Helm charts, go to [Deploy Helm charts](/docs/continuous-delivery/deploy-srv-diff-platforms/helm/deploy-helm-charts).
97
104
98
105
### Pros
99
106
100
-
- Harness can orchestrate the Helm chart deployment in a Canary and Blue Green strategy.
101
-
-Helm is now focused to package your resources, not deploy your resources. How you deploy and roll out your resources is now sequenced and managed by Harness.
107
+
- Harness can orchestrate the Helm chart deployment using a Canary and Blue Green strategy.
108
+
Helm is now focused on packaging your resources, not deploying them. How you deploy and roll out your resources is now sequenced and managed by Harness.
102
109
- Versioning: Harness Kubernetes deployments version all objects, such as ConfigMaps and Secrets.
103
110
- Rollback: In the event of deployment failure, Harness Kubernetes deployments will roll back to the last successful version via the versioned ConfigMap generated by Harness.
104
111
@@ -108,25 +115,25 @@ For detailed steps on how to deploy Harness managed Helm charts, go to [Deploy H
108
115
109
116
## Deploying Helm charts managed by Helm (Native Helm deployment)
110
117
111
-
This approach is great when you are first moving to Harness. This requires minimal changes to your Helm package and deployment process. Harness just takes your existing Helm chart and deploys it to the target Kubernetes cluster that you specify for deployment.
118
+
This approach is excellent when you are first moving to Harness. This requires minimal changes to your Helm package and deployment process. Harness takes your Helm chart and deploys it to the target Kubernetes cluster you specify for deployment.
112
119
113
-
This approach is also suitable if you want to deploy complex Helm charts with hooks, subcharts, and dependency charts because you need not break down your chart and sequence out the dependency charts before deploying the main Helm chart.
120
+
This approach is also suitable if you want to deploy complex Helm charts with hooks, subcharts, and dependency charts because you do not need to break down your chart and sequence out the dependency charts before deploying the main Helm chart.
114
121
115
-
This approach also works well with the commodity Helm charts because you need not make any tweaks to the open source chart. Just supply a values.yaml file and Harness will perform the Helm fetch and Helm install.
122
+
This approach also works well with the commodity Helm charts because you need not tweak the open source chart. Just supply a values.yaml file, and Harness will perform the Helm fetch and Helm install.
116
123
117
124
Here's a summary of the process:
118
125
119
-
1. Harness fetches the manifests from your Helm repository on to the Harness Delegate.
120
-
2. Harness unzips the chart, runs a `helm template` over the Kubernetes resources packaged in the Helm Chart.
121
-
3. On the same Harness Delegate, or a delegate that has access to the target Kubernetes cluster, Harness will proceed to deploy using the `helm install {YOUR_HELM_CHART}` or a `helm upgrade {YOUR HELM CHART}`.
126
+
1. Harness fetches the manifests from your Helm repository onto the Harness Delegate.
127
+
2. Harness unzips the chart and runs a `helm template` over the Kubernetes resources in the Helm Chart.
128
+
3. On the same Harness Delegate, or a delegate that has access to the target Kubernetes cluster, Harness will proceed to deploy using the `helm install {YOUR_HELM_CHART}` or a `helm upgrade {YOUR_HELM__CHART}`.
122
129
4. After the deployment, Harness queries the deployed instances for tracking using the Helm client.
123
130
124
131
For detailed steps on Native Helm deployment, go to [Native Helm deployment](/docs/continuous-delivery/deploy-srv-diff-platforms/helm/native-helm-quickstart).
125
132
126
133
### Pros
127
134
128
135
- Rollback: Harness does not perform rollback. Instead, Harness uses Helm's native rollback functionality. This approach works well if you want to use your existing setup.
129
-
- Harness will honor the user's pre and postinstall hooks configured in the Helm chart.
136
+
- Harness will honor the user's pre- and post-install hooks configured in the Helm chart.
130
137
131
138
### Cons
132
139
@@ -137,12 +144,12 @@ For detailed steps on Native Helm deployment, go to [Native Helm deployment](/do
137
144
138
145
1. Create a [Harness service](/docs/continuous-delivery/get-started/services-and-environments-overview#services) in your Harness project.
139
146
2. In service **Configuration**, under **Service Definition** > **Deployment Type**, select **Native Helm**.
140
-
3. In **Manifests**, select **Add Manifest** and navigate to **Manifest Source** in your service, and configure Git, OCI Helm, or HTTP Helm.
147
+
3. In **Manifests**, select **Add Manifest**, navigate to **Manifest Source** in your service, and configure Git, OCI Helm, or HTTP Helm.
141
148
4. Ensure that you have selected **Native Helm** deployment type in your environment **Infrastructure Definition** as well.
142
149
143
150
## What is supported in both approaches?
144
151
145
-
### Optional: Trigger pipelines on new Helm chart published or on a new artifact image defined within the Helm chart
152
+
### Optional: Trigger pipelines on a new Helm chart published or on a new artifact image defined within the Helm chart
146
153
147
154
You can add a trigger to your Harness pipeline that will run the pipeline when the Helm chart or artifact version changes or is published to a repository.
148
155
@@ -154,11 +161,11 @@ For details, go to:
154
161
155
162
### Optional: Helm Chart to Manage Harness Delegates
156
163
157
-
Harness includes a Helm-based Harness Delegate but you can use any delegate type for Helm deployments.
164
+
Harness includes a Helm-based Harness Delegate, but you can use any delegate type for Helm deployments.
158
165
159
-
Helm chart delegates are a great way to manage delegates at scale and via automation. The chart remains the same and you simply need to swap out the values.yaml for delegate installation.
166
+
Helm chart delegates are a great way to manage delegates at scale and via automation. The chart remains the same; you simply need to swap out the values. Use YAML for delegate installation.
160
167
161
-
You can parameterize much of the Helm Chart via Go Templating and pass in parameters via the values.yaml. This makes the Helm installation consistent and, depending on the team's requirements, you can pass in a values.yaml to spin up the delegate.
168
+
You can parameterize much of the Helm Chart via Go Templating and pass in parameters via the values.yaml. This makes the Helm installation consistent, and, depending on the team's requirements, you can pass in a values.yaml to spin up the delegate.
162
169
163
170
For steps on Helm delegates, go to [Delegate installation overview](/docs/platform/delegates/install-delegates/overview).
Copy file name to clipboardExpand all lines: docs/continuous-delivery/get-started/service-licensing-for-cd.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,21 @@ helpdocs_topic_id: ihboxj8xlz
6
6
helpdocs_category_id: Dxej4ug0n5
7
7
helpdocs_is_private: false
8
8
helpdocs_is_published: true
9
+
tags:
10
+
- cd-services
11
+
- license-consumption
12
+
- service-licensing
13
+
- active-services
14
+
- service-instances
15
+
- custom-deployments
16
+
- pipelines-with-no-service
17
+
- subscription-page
18
+
- improved-service-license-tracking
19
+
- gitops-service-licensing
20
+
- service-instance-count
21
+
- licensing-changes
22
+
- legacy-licenses
23
+
- license-transition
9
24
---
10
25
11
26
Harness Continuous Delivery & GitOps (CD) module uses 'Services' as a key construct in defining and managing the pieces of software that you want to deploy. Since the core value of the CD module is in deploying these services, most Harness customers either directly license by Services (legacy model) or license by Developers (Developer 360 model) and receive services as an included entitlement. More details on the Developer 360 model are available [here](/docs/platform/get-started/subscriptions-licenses/subscriptions).
0 commit comments