Skip to content

Commit

Permalink
Provide FAQ topics (kedacore#469)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkerkhove authored Jun 21, 2021
1 parent 59a1c08 commit e93f6f3
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 3 deletions.
42 changes: 39 additions & 3 deletions data/faq20.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@ a = "There is no charge for using KEDA itself, we just ask people to [become a l
type = "General"

[[qna]]
q = "Can I scale my HTTP container or function with KEDA and Kubernetes?"
q = "Can I scale HTTP workloads with KEDA and Kubernetes?"
a = """
KEDA will scale a container using metrics from a scaler, but unfortunately there is no scaler today for HTTP workloads.
KEDA will scale a container using metrics from a scaler, but unfortunately there is no scaler today for HTTP workloads out-of-the-box.
We recommend using the [Prometheus scaler](/scalers/prometheus/) to create scale rule based on metrics around HTTP events for now. Read [Anirudh Garg's blog post](https://dev.to/anirudhgarg_99/scale-up-and-down-a-http-triggered-function-app-in-kubernetes-using-keda-4m42) to learn more.
We do, however, provide some alternative approaches:
- Use our HTTP add-on scaler which is currently in experimental stage ([GitHub](https://github.com/kedacore/http-add-on))
- Use [Prometheus scaler](/docs/latest/scalers/prometheus/) to create scale rule based on metrics around HTTP events
- Read [Anirudh Garg's blog post](https://dev.to/anirudhgarg_99/scale-up-and-down-a-http-triggered-function-app-in-kubernetes-using-keda-4m42) to learn more.
"""
type = "Features"

Expand All @@ -32,6 +35,39 @@ q = "Is short polling intervals a problem?"
a = "Polling interval really only impacts the time-to-activation (scaling from 0 to 1) but once scaled to one it's really up to the HPA (horizontal pod autoscaler) which polls KEDA."
type = "Features"

[[qna]]
q = "Using multiple triggers for the same scale target"
a = """
KEDA allows you to use multiple triggers as part of the same `ScaledObject` or `ScaledJob`.
By doing this, your autoscaling becomes better:
- All your autoscaling rules are in one place
- You will not have multiple `ScaledObject`'s or `ScaledJob`'s interferring with each other
KEDA will start scaling as soon as when one of the triggers meets the criteria. Horizontal Pod Autoscaler (HPA) will calculate metrics for every scaler and use the highest desired replica count to scale the workload to.
"""
type = "Best Practices"

[[qna]]
q = "Don't combine `ScaledObject` with Horizontal Pod Autoscaler (HPA)"
a = """
We recommend not to combine using KEDA's `ScaledObject` with a Horizontal Pod Autoscaler (HPA) to scale the same workload.
They will compete with each other resulting given KEDA uses Horizontal Pod Autoscaler (HPA) under the hood and will result in odd scaling behavior.
If you are using a Horizontal Pod Autoscaler (HPA) to scale on CPU and/or memory, we recommend using the [CPU scaler](/docs/latest/scalers/cpu/) & [Memory scaler](/docs/latest/scalers/memory/) scalers instead.
"""
type = "Best Practices"

[[qna]]
q = "What does the target metric value in the Horizontal Pod Autoscaler (HPA) represent?"
a = """
The target metric value is used by the Horizontal Pod Autoscaler (HPA) to make scaling decisions.
The current target value on the Horizontal Pod Autoscaler (HPA) often does not match with the metrics on the system you are scaling on. This is because of how the Horizontal Pod Autoscaler's (HPA) [scaling algorithm](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-details) works.
"""
type = "Kubernetes"

[[qna]]
q = "How can I get involved?"
a = """
Expand Down
40 changes: 40 additions & 0 deletions layouts/shortcodes/faq20.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,26 @@ <h2>General</h2>
</div>
{{ end }}

<h2>Best Practices</h2>

{{ range where $faq20 ".type" "==" "Best Practices" }}
{{ $question := .q | markdownify }}
{{ $answer := .a | markdownify }}
{{ $id := .q | urlize }}
<div class="card is-collapsible" x-data="{ open: false }" id="{{ $id }}">
<header class="card-header has-mouse-icon" @click="open = !open">
<p class="card-header-title title is-size-4 is-size-4-mobile">
{{ $question }}
</p>
</header>
<div class="card-content" x-show="open">
<div class="content is-medium has-text-grey-dark">
{{ $answer }}
</div>
</div>
</div>
{{ end }}

<h2>Features</h2>

{{ range where $faq20 ".type" "==" "Features" }}
Expand All @@ -40,6 +60,26 @@ <h2>Features</h2>
</div>
{{ end }}

<h2>Kubernetes</h2>

{{ range where $faq20 ".type" "==" "Kubernetes" }}
{{ $question := .q | markdownify }}
{{ $answer := .a | markdownify }}
{{ $id := .q | urlize }}
<div class="card is-collapsible" x-data="{ open: false }" id="{{ $id }}">
<header class="card-header has-mouse-icon" @click="open = !open">
<p class="card-header-title title is-size-4 is-size-4-mobile">
{{ $question }}
</p>
</header>
<div class="card-content" x-show="open">
<div class="content is-medium has-text-grey-dark">
{{ $answer }}
</div>
</div>
</div>
{{ end }}

<h2>Community</h2>

{{ range where $faq20 ".type" "==" "Community" }}
Expand Down

0 comments on commit e93f6f3

Please sign in to comment.