Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: final polish of getting started guides #1449

Merged
merged 36 commits into from
May 25, 2023
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
1eda748
final polish of getting started guides
StackScribe May 23, 2023
f50cc87
common installation instructions
StackScribe May 23, 2023
7559829
markdownlint-fix
StackScribe May 23, 2023
a8fd591
fix xref errors
StackScribe May 23, 2023
909b3e8
fixes to otel page
StackScribe May 23, 2023
9f3fead
Merge branch 'main' into 0522-smallpolish
StackScribe May 23, 2023
e075859
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
a70d648
Update docs/content/en/docs/implementing/integrate/_index.md
StackScribe May 23, 2023
14b0269
Update docs/content/en/docs/getting-started/_index.md
StackScribe May 23, 2023
7d6dcbb
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
fe24b7b
Update docs/content/en/docs/getting-started/_index.md
StackScribe May 23, 2023
503f81a
Update docs/content/en/docs/getting-started/_index.md
StackScribe May 23, 2023
5fa5fd6
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
4472eab
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
79455ac
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
2b23f83
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 23, 2023
5601b11
Update docs/content/en/docs/getting-started/orchestrate/_index.md
StackScribe May 23, 2023
64aba8d
Update docs/content/en/docs/getting-started/orchestrate/_index.md
StackScribe May 23, 2023
4c26b7b
Update docs/content/en/docs/implementing/integrate/_index.md
StackScribe May 23, 2023
6995a7d
Update docs/content/en/docs/install/install.md
StackScribe May 23, 2023
1c495bb
Merge branch 'main' into 0522-smallpolish
StackScribe May 23, 2023
389584a
minor rewrites in response to comments
StackScribe May 24, 2023
eb16f76
Merge branch 'main' into 0522-smallpolish
StackScribe May 24, 2023
823dc3d
fixed xref
StackScribe May 24, 2023
e5fc5c3
k8s.md
StackScribe May 24, 2023
69f28ac
little polishing
StackScribe May 25, 2023
496c35d
final polishing
StackScribe May 25, 2023
8f17e01
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
0306c67
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
51c086c
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
9153893
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
d58a50b
Update docs/content/en/docs/getting-started/observability/_index.md
StackScribe May 25, 2023
d306ba5
Update docs/content/en/docs/getting-started/orchestrate/_index.md
StackScribe May 25, 2023
f600af8
Update docs/content/en/docs/install/install.md
StackScribe May 25, 2023
6cad66e
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
f562853
Update docs/content/en/docs/install/_index.md
StackScribe May 25, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 36 additions & 14 deletions docs/content/en/docs/getting-started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,47 @@ weight: 15
hidechildren: false # this flag hides all sub-pages in the sidebar-multicard.html
---

> **Note**
This section is under development.
We welcome your input!**

This section provides excercises to introduce you to
the Keptn Lifecycle Toolkit.
Choose the exercise that interest you the most.
Choose the exercise that interests you the most.

## Introducing the Keptn Lifecycle Toolkit

The [Introducing Keptn Lifecycle Toolkit](https://youtu.be/449HAFYkUlY)
video discusses three common use cases for the Lifecycle Toolkit
This exercise introduces three common use cases for the Lifecycle Toolkit
and walks you through the implementation process for each.
The following exercises provide more detailed instructions
for implementing these use cases:
We recommend that you do all three exercises in order
but you can do any of them independently.

* [Getting started with Keptn metrics](metrics)
* [Standardize access to observability data](observability)
* [Orchestrate deployment checks](orchestrate)
* [Manage the release cycle](orchestrate)

These exercises are based on the
[simplenode-dev](https://github.com/keptn-sandbox/klt-on-k3s-with-argocd)
example.
You can clone that repo to access it locally
or just look at it for examples
as you implement the functionality "from scratch"
on your local Kubernetes cluster.
The
[README](https://github.com/keptn-sandbox/klt-on-k3s-with-argocd/blob/main/setup/observability/README.md)
file for that repo contains additional information.

You can run these exercises on an existing Kubernetes cluster
or you can create a new cluster.
For personal study and demonstrations,
these exercises run well on a local Kubernetes cluster.
See [Create Local Kubernetes Cluster](../install/k8s.md/#create-local-kubernetes-cluster).

Two videos are available to introduce these exercises:

* [Introducing Keptn Lifecycle Toolkit](https://youtu.be/449HAFYkUlY)
* [Use SLOs and get DORA the Native K8s way!](https://www.youtube.com/watch?v=zeEC0475SOU)

## Getting started with Lifecycle Toolkit

If you prefer,
[Getting started with Lifecycle Toolkit](generic-gs)
provides an exercise that introduces you to
all the things KLT can do.
The
[KLT End-to-end exercise](generic-gs)
exercise provides a more detailed exercise
for managing the deployment lifecycle
with pre- and post-deployment evaluations and tasks.
57 changes: 38 additions & 19 deletions docs/content/en/docs/getting-started/metrics/_index.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
---
title: Getting started with Keptn metrics
description: Learn how Keptn metrics enhances your deployment
title: Custom Keptn metrics
description: Enhance your deployment with custom Keptn metrics
weight: 25
---

The Keptn metrics component of the Keptn Lifecycle Toolkit
allow you to define any type of metric
The Custom Keptn metrics component of the Keptn Lifecycle Toolkit
allows you to define any type of metric
from multiple instances
of any type of data source in your Kubernetes cluster.
You may have deployment tools like Argo, Flux, KEDA, HPA, or Keptn
that need observability data to make automated decisions
such as whether a rollout is good, whether to scale up or down.
such as whether a rollout is good, or whether to scale up or down.

Your observability data may come
from multiple observability solutions --
Prometheus, Dynatrace, Datadog and others --
or data directly from your cloud provider such as AWS, Google, or Azure.

or may be data that comes directly
from your cloud provider such as AWS, Google, or Azure.
The Keptn Metrics Server unifies and standardizes access to all this data.
Minimal configuration is required
because the Keptn Lifecycle Toolkit hooks directly into Kubernetes primitives.
Expand All @@ -27,7 +28,9 @@ from Argo Rollouts, Flux, KEDA, and HPA.
Each has plugins but it is difficult to maintain them,
especially if you are using multiple tools,
and multible observability platforms,
and multiple instance of some tools or observability platforms.
and multiple instances of some tools or observability platforms.
The Custom Keptn metrics feature unites all these metrics
integrates metrics from all these sources into a single set of metrics.

## Using this exercise

Expand All @@ -39,21 +42,33 @@ or just look at it for examples
as you implement the functionality "from scratch"
on your local Kubernetes deployment cluster.

This is the first of three exercises in the
[Introducing the Keptn Lifecycle Toolkit](../#introducing-the-keptn-lifecycle-toolkit)
series.
After completing this exercise,
you may want to do the other exercises:

- In [Standardize observability](../observability),
you learn how to standardize access
to the observability data for your cluster.
- In
[Manage release lifecycle](../orchestrate),
you learn how to implement
pre- and post-deployment tasks and evaluations
to orchestrate the flow of all the `workloads`
that are part of your `application`.

The steps to implement metrics in an existing cluster are:

1. [Install the Keptn Lifecycle Toolkit](../../install/install.md)
1. Configure metrics to use
1. Configure the metrics you want to use:
- [Define metrics providers](#define-metrics-providers)
- [Define KeptnMetric information](#define-keptnmetric-information)
- [View available metrics](#view-available-metrics)

If you want to create your own cluster to run this exercise,
follow the instructions in [Installation](../../install).

See the
[Introducing Keptn Lifecycle Toolkit](https://youtu.be/449HAFYkUlY)
video for a demonstration of this exercise.

## Define metrics to use

You need to define the external observability platforms
Expand All @@ -79,11 +94,14 @@ You can specify a virtually unlimited number of providers,
including multiple instances of each observability platform.
Each one must be assigned a unique name,
identified by the type of platform it is
and the URL.
and the URL of the target server.
If the target server is protected by a `secret`,
provide information about the token and key.

> Note: The video and example application use an older syntax
of the `KeptnMetricsProvider` and `KeptnMetric` resources.
The syntax shown in this document is correct for v0.7.1 and later.
The syntax shown in this document and the reference page
is correct for v0.7.1 and later.

Definition of
[dev-prometheus](https://github.com/keptn-sandbox/klt-on-k3s-with-argocd/blob/main/simplenode-dev/keptn-prometheus-provider.yaml)
Expand Down Expand Up @@ -170,10 +188,11 @@ Note the following:
then apply all of them.
- Each metric is assigned a unique `name`.
- The value of the `spec.provider.name` field
must correspond to the name assigned in a
must correspond to the name assigned in
the `metadata.name` field of a `KeptnMetricsProvider` resource.
- Information is fetched in on a continuous basis
at a rate specified by the value of the `spec.fetchIntervalSeconds` field.
at a rate specified
by the value of the `spec.fetchIntervalSeconds` field.

### View available metrics

Expand Down Expand Up @@ -251,13 +270,13 @@ $ kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta2/namespaces/simplenode-d
}
```

You can also display the graphics using a dashboard such as Grafana.
You can also display the metrics graphically using a dashboard such as Grafana.

## Implementing autoscaling with HPA

The Kubernetes HorizontalPodAutoscaler (HPA)
uses metrics to provide autoscaling for the cluster.
HPA can retrieve KeptnMetrics and use it to implement HPA.
HPA can retrieve KeptnMetrics and use those metrics to implement HPA.
See
Using the [HorizontalPodAutoscaler](../../implementing/evaluatemetrics.md/#using-the-horizontalpodautoscaler)
for detailed information.
Expand Down
Loading