Skip to content

Conversation

@abrennan89
Copy link
Contributor

@abrennan89 abrennan89 commented May 7, 2020

Proposed Changes

  • Split autoscaling into its own sub directory and smaller topics, to make the content easier to consume.
  • General content editing.

@knative-prow-robot knative-prow-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 7, 2020
@googlebot googlebot added the cla: yes Indicates the PR's author has signed the CLA. label May 7, 2020
@knative-prow-robot knative-prow-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 7, 2020
@knative-prow-robot knative-prow-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 7, 2020
@knative-prow-robot knative-prow-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 8, 2020
@abrennan89
Copy link
Contributor Author

/retest

@mattmoor
Copy link
Member

mattmoor commented May 8, 2020

/approve
/hold

If you git commit --amend and force push, it will stage the docs for you now :D

@knative-prow-robot knative-prow-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. approved labels May 8, 2020
@abrennan89 abrennan89 force-pushed the autoscaling branch 4 times, most recently from 485c78f to e4feac1 Compare May 8, 2020 15:42
Copy link
Contributor

@markusthoemmes markusthoemmes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm no expert but I'm wondering if making the users click more to get to the respective chapters is doing more harm than it does good. I personally like docs like these, which are mostly setting centered, to be on a single page so I can CTRL-F search for what I need.

@abrennan89
Copy link
Contributor Author

I'm no expert but I'm wondering if making the users click more to get to the respective chapters is doing more harm than it does good. I personally like docs like these, which are mostly setting centered, to be on a single page so I can CTRL-F search for what I need.

The idea is that each section should have a topic that's a self-explanatory user story, i.e. a user looking for how to configure a certain thing will go to the section for that thing, rather than needing to search through a lengthy page/doc to find it.
It also IMHO makes documentation a lot easier to maintain.

@knative-prow-robot knative-prow-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 14, 2020
@abrennan89 abrennan89 changed the title [WIP] Improvements and structure changes for autoscaling docs Improvements and structure changes for autoscaling docs May 21, 2020
@knative-prow-robot knative-prow-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 21, 2020
Copy link
Contributor

@vagababov vagababov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also seems to miss the parameters I've added (activator-capacty and scale to zero pod retention), so we might need to reconcile with the head.

{{< /tab >}}
{{< /tabs >}}
## Global versus per-revision settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably go above the class, since it affects the choices made there as well.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this fits here as well -- it provides more detail, but if users are happy with the first choice they found, it should work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is why we need to be able to reuse / include content - so we can have a blurb about something in more than one place in the docs but maintain it from one file.

Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor bits, but this looks pretty good right now.

I'm going to:

/hold cancel

But I'm going to wait on the LGTM until you get a chance to comment on at least the sample/alias question.

* Disable scale to zero functionality for your cluster ([global configuration only](./scale-to-zero.md)).
* Configure the [type of metrics](./autoscaling-metrics.md) your Autoscaler consumes.
* Configure [concurrency limits](./concurrency.md) for applications.
* Try out the [Go Autoscale Sample App](./autoscale-go/README.md).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you see doing a similar move for other samples in the future (e.g. traffic splitting samples into the networking subsection)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I'd like to do this with all of them, it just makes more sense to me as a place where someone would look for it. WDYT?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we've discussed it; I don't have an intrinsic problem with it, but it would be good to have a documented strategy.

{{< /tab >}}
{{< /tabs >}}
## Global versus per-revision settings
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this fits here as well -- it provides more detail, but if users are happy with the first choice they found, it should work.


### Per-revision settings

Per-revision settings for autoscaling are configured by adding _annotations_ to a revision.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the annotation keys the same ones as are present in the ConfigMap?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, they're different afaik, it's explained in the section for each key.

The possible metric types that can be configured per revision depend on the type of Autoscaler implementation you are using:

* The default KPA Autoscaler supports the `concurrency` and `rps` metrics.
* The HPA Autoscaler supports the `concurrency`, `rps` and `cpu` metrics.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you describe what these options mean?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In particular, how concurrency and RPS differ.

Feel free to defer with a <!-- TODO: ... --> if you don't have bandwidth right now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a TODO note :) I think I had pretty much the same note previously and removed it because I knew I wouldn't get to it 😂

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A TODO lets someone else pick up the item if you don't get back to it. 😁

---

Concurrency determines the number of simultaneous requests that can be processed by each replica of an application at any given time.
<!-- this is where including files would be useful. We could create a concurrency global config module and insert it here, in the docs for metrics, and in the docs for targets. Showing the correct information each time instead of having it in one place with the per revision config jumbled in with it makes it easier to understand IMHO, and would mean users don't need to visit different pages or hunt for the same information for similar user stories @abrennan89.-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reference an issue in the website repo if this isn't working and you want it to?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll come back to it when I have more time :)

@knative-prow-robot knative-prow-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 28, 2020
@abrennan89 abrennan89 requested a review from evankanderson May 29, 2020 17:39
@abrennan89 abrennan89 requested a review from evankanderson June 1, 2020 12:49
Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more alias that needs updating!

Sorry for the delay on re-reviewing.

@abrennan89
Copy link
Contributor Author

No problem, thanks for looking at this @evankanderson - should be finally ready now 😂

@evankanderson
Copy link
Member

BTW, you don't need to squash your changes to the docs repo; Tide will do a squash merge automatically when it merges, so each PR becomes one commit. Leaving the commits un-squashed during review makes it easier to see what's changed since the last commit. (But I'll run through this one and approve in a moment.)

Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@knative-prow-robot knative-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 4, 2020
@knative-prow-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abrennan89, evankanderson, mattmoor

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [evankanderson,mattmoor]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow-robot knative-prow-robot merged commit b3ffdbf into knative:master Jun 4, 2020
@abrennan89 abrennan89 linked an issue Jun 9, 2020 that may be closed by this pull request
knative-prow-robot pushed a commit that referenced this pull request Jun 22, 2020
Auto TLS verification used the `autoscale-go` sample, but it was moved in #2439, and not updated here.
@abrennan89 abrennan89 deleted the autoscaling branch May 3, 2021 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Indicates the PR's author has signed the CLA. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Productionize and public target burst capacity document.

7 participants