[K8s plugin] Add README for k8s plugin#5934
Merged
Merged
Conversation
Signed-off-by: Yoshiki Fujikane <ffjlabo@gmail.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5934 +/- ##
==========================================
- Coverage 28.47% 28.46% -0.01%
==========================================
Files 520 520
Lines 56408 56419 +11
==========================================
Hits 16061 16061
- Misses 39081 39092 +11
Partials 1266 1266
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
ffjlabo
commented
Jun 10, 2025
Comment on lines
+10
to
+56
| ### Quick sync | ||
|
|
||
| Quick sync is a fast way to sync application to the state specified in the target Git commit without any progressive strategy. It just applies all the defined manifiests to sync the application. | ||
| The quick sync will be planned in one of the following cases: | ||
| - no pipeline was specified in the application configuration file | ||
| - [pipeline](#pipeline) was specified but the PR did not make any changes on workload (e.g. Deployment's pod template) or config (e.g. ConfigMap, Secret) | ||
|
|
||
| For example, the application configuration as below is missing the pipeline field. This means any pull request touches the application will trigger a quick sync deployment. | ||
|
|
||
| ``` yaml | ||
| apiVersion: pipecd.dev/v1beta1 | ||
| kind: KubernetesApp | ||
| spec: | ||
| input: | ||
| helmChart: | ||
| repository: pipecd | ||
| name: helloworld | ||
| version: v0.3.0 | ||
| ``` | ||
|
|
||
| In another case, even when the pipeline was specified, a PR that just changes the Deployment's replicas number for scaling will also trigger a quick sync deployment. | ||
|
|
||
| ### Pipeline sync | ||
|
|
||
| The `pipeline` field in the application configuration is used to customize the way to do deployment by specifying and configuring the execution stages. You may want to configure those stages to enable a progressive deployment with a strategy like canary, blue-green, a manual approval, an analysis stage. | ||
|
|
||
| To enable customization, PipeCD defines three variants for each Kubernetes application: primary (aka stable), baseline and canary. | ||
| - `primary` runs the current version of code and configuration. | ||
| - `baseline` runs the same version of code and configuration as the primary variant. (Creating a brand-new baseline workload ensures that the metrics produced are free of any effects caused by long-running processes.) | ||
| - `canary` runs the proposed change of code or configuration. | ||
|
|
||
| Depending on the configured pipeline, any variants can exist and receive the traffic during the deployment process but once the deployment is completed, only the `primary` variant should be remained. | ||
|
|
||
| These are the provided stages for Kubernetes application you can use to build your pipeline: | ||
|
|
||
| - `K8S_SYNC` | ||
| - sync application to the state specified in the target Git commit without any progressive strategy | ||
| - `K8S_PRIMARY_ROLLOUT` | ||
| - update the primary resources to the state defined in the target commit | ||
| - `K8S_CANARY_ROLLOUT` | ||
| - generate canary resources based on the definition of the primary resource in the target commit and apply them | ||
| - `K8S_CANARY_CLEAN` | ||
| - remove all canary resources | ||
| - `K8S_BASELINE_ROLLOUT` | ||
| - generate baseline resources based on the definition of the primary resource in the target commit and apply them | ||
| - `K8S_BASELINE_CLEAN` | ||
| - remove all baseline resources |
Member
Author
There was a problem hiding this comment.
Borrowed the sentences from https://pipecd.dev/docs-v0.52.x/user-guide/managing-application/defining-app-configuration/kubernetes/
t-kikuc
reviewed
Jun 10, 2025
| | Field | Type | Description | Required | | ||
| |-|-|-|-| | ||
| | input | [KubernetesDeploymentInput](#kubernetesdeploymentinput) | Input for Kubernetes deployment such as kubectl version, helm version, manifests filter... | No | | ||
| | pipeline | [Pipeline](#pipeline) | Pipeline for deploying progressively. | No | |
Member
Author
Signed-off-by: Yoshiki Fujikane <ffjlabo@gmail.com>
t-kikuc
reviewed
Jun 10, 2025
| Quick sync is a fast way to sync application to the state specified in the target Git commit without any progressive strategy. It just applies all the defined manifiests to sync the application. | ||
| The quick sync will be planned in one of the following cases: | ||
| - no pipeline was specified in the application configuration file | ||
| - [pipeline](#pipeline) was specified but the PR did not make any changes on workload (e.g. Deployment's pod template) or config (e.g. ConfigMap, Secret) |
Member
There was a problem hiding this comment.
Sorry, this #pipeline link too.
Signed-off-by: Yoshiki Fujikane <ffjlabo@gmail.com>
t-kikuc
reviewed
Jun 10, 2025
Comment on lines
+19
to
+29
| ``` yaml | ||
| apiVersion: pipecd.dev/v1beta1 | ||
| kind: KubernetesApp | ||
| spec: | ||
| input: | ||
| helmChart: | ||
| repository: pipecd | ||
| name: helloworld | ||
| version: v0.3.0 | ||
| ``` | ||
|
|
Member
Author
Signed-off-by: Yoshiki Fujikane <ffjlabo@gmail.com>
Signed-off-by: Yoshiki Fujikane <ffjlabo@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does:
as title
Why we need it:
We want to clarify what this plugin is.
Which issue(s) this PR fixes:
Part of #5764
Does this PR introduce a user-facing change?: