Skip to content

Commit

Permalink
Update docmentation to reflect multi-controller changes (#378)
Browse files Browse the repository at this point in the history
  • Loading branch information
Luke Reed authored Oct 25, 2021
1 parent 7f4346a commit cb0385c
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Check out the [documentation at docs.fairwinds.com](https://goldilocks.docs.fair

## How can this help with my resource settings?

By using the kubernetes [vertical-pod-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) in recommendation mode, we can see a suggestion for resource requests on each of our apps. This tool creates a VPA for each deployment in a namespace and then queries them for information.
By using the kubernetes [vertical-pod-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) in recommendation mode, we can see a suggestion for resource requests on each of our apps. This tool creates a VPA for each workload in a namespace and then queries them for information.

Once your VPAs are in place, you'll see recommendations appear in the Goldilocks dashboard:
<div align="center">
Expand Down
2 changes: 1 addition & 1 deletion cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func init() {
var createCmd = &cobra.Command{
Use: "create-vpas",
Short: "Create VPAs",
Long: `Create a VPA for every Deployment in the specified namespace.`,
Long: `Create a VPA for every workload in the specified namespace.`,
Run: func(cmd *cobra.Command, args []string) {
klog.V(4).Infof("Starting to create the VPA objects in namespace: %s", nsName)
kubeClient := kube.GetInstance()
Expand Down
2 changes: 1 addition & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ func init() {
var rootCmd = &cobra.Command{
Use: "goldilocks",
Short: "goldilocks",
Long: `A tool for analysis of kubernetes Deployment resource usage.`,
Long: `A tool for analysis of kubernetes workload resource usage.`,
Run: func(cmd *cobra.Command, args []string) {
klog.Error("You must specify a sub-command.")
err := cmd.Help()
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Goldilocks is a utility that can help you identify a starting point for resource

## How can this help with my resource settings?

By using the kubernetes [vertical-pod-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) in recommendation mode, we can see a suggestion for resource requests on each of our apps. This tool creates a VPA for each Deployment in a namespace and then queries them for information.
By using the kubernetes [vertical-pod-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) in recommendation mode, we can see a suggestion for resource requests on each of our apps. This tool creates a VPA for each workload in a namespace and then queries them for information.

Once your VPAs are in place, you'll see recommendations appear in the Goldilocks dashboard:
<div align="center">
Expand Down
16 changes: 8 additions & 8 deletions docs/advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The CLI was originally developed to test the features of Goldilocks. While the C
The CLI summary function should still be useful. It runs the same summary output that the dashboard uses, and can generate a JSON object that can be used elsewhere.

```
A tool for analysis of kubernetes Deployment resource usage.
A tool for analysis of kubernetes workload resource usage.
Usage:
goldilocks [flags]
Expand Down Expand Up @@ -64,7 +64,7 @@ kubectl label ns goldilocks goldilocks.fairwinds.com/enabled=true

> Note: This feature is for advanced usage only and is not recommended nor the default!
VPAs created for Deployments in a Namespace have an update mode of "off" by
VPAs created for workloads in a Namespace have an update mode of "off" by
default, meaning the VPAs only report recommendations and do not actually
auto-scale the Pods.

Expand Down Expand Up @@ -120,17 +120,17 @@ Example of an annotation
] }
```

#### Deployment Specifications
#### Workload Specifications

If you want a specific Deployment to have a VPA in a specific update mode,
then you can annotate the Deployment with `goldilocks.fairwinds.com/vpa-update-mode=<mode>`
to control the update mode for a specific Deployment in a Namespace (regardless of labeling on the Namespace).
If you want a specific workload to have a VPA in a specific update mode,
then you can annotate the workload with `goldilocks.fairwinds.com/vpa-update-mode=<mode>`
to control the update mode for a specific workload in a Namespace (regardless of labeling on the Namespace).

### create-vpas

`goldilocks create-vpas -n some-namespace`

This will search for any deployments in the given namespace and generate a VPA for each of them. Each vpa will be labelled for use by this tool.
This will search for any workloads in the given namespace and generate a VPA for each of them. Each vpa will be labelled for use by this tool.

### delete-vpas

Expand All @@ -152,7 +152,7 @@ Queries all the VPA objects that are labelled for this tool across all namespace

The `dashboard` and `summary` commands can exclude recommendations for a list of comma separated container names using the `--exclude-containers` argument. This option can be useful for hiding recommendations for sidecar containers for things like Linkerd and Istio.

Containers can be excluded for individual deployments by applying a label to any deployment. The label value should be a list of comma separated container names. The label value will be combined with any values provided through the `--exclude-containers` argument.
Containers can be excluded for individual workloads by applying a label to any of the workload controller resources (`Deployment`, `StatefulSet`, `DaemonSet`, etc). The label value should be a list of comma separated container names. The label value will be combined with any values provided through the `--exclude-containers` argument.

Example label:

Expand Down
4 changes: 2 additions & 2 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

* kubectl
* [vertical-pod-autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler) configured in the cluster
* some Deployments with pods (Goldilocks will not monitor any controllers except Deployments)
* some workloads with pods (Goldilocks will monitor any workload controller that includes a PodSpec template (`spec.template.spec.containers[]` to be specific). This includes `Deployments`, `DaemonSets`, and `StatefulSets` among others.)
* metrics-server (a requirement of vpa)
* golang 1.11+
* golang 1.17+

### Installing Vertical Pod Autoscaler

Expand Down

0 comments on commit cb0385c

Please sign in to comment.