Skip to content

Commit 6e4156b

Browse files
jrodewigmergify[bot]
authored andcommitted
Fix welcome-to-elastic links (#484)
**Problem:** In elastic/docs#2752, we updated the URL prefix (`welcome-to-elastic`) and name for the "Welcome to Elastic Docs" docs. However, we still have some stray links that use the old `/welcome-to-elastic` URL prefix **Solution:** Updates several outdated links to use an attribute. (cherry picked from commit 01bbc42)
1 parent 1f70e99 commit 6e4156b

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

docs/en/ingest-management/elastic-agent/scaling-on-kubernetes.asciidoc

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ For more information on how to deploy {agent} on {k8s}, please review these page
99
[discrete]
1010
== Observability at scale
1111

12-
This document summarizes some key factors and best practices for using https://www.elastic.co/guide/en/welcome-to-elastic/current/getting-started-kubernetes.html[Elastic {observability}] to monitor {k8s} infrastructure at scale. Users need to consider different parameters and adjust {stack} accordingly. These elements are affected as the size of {k8s} cluster increases:
12+
This document summarizes some key factors and best practices for using {estc-welcome-current}/getting-started-kubernetes.html[Elastic {observability}] to monitor {k8s} infrastructure at scale. Users need to consider different parameters and adjust {stack} accordingly. These elements are affected as the size of {k8s} cluster increases:
1313

1414
- The amount of metrics being collected from several {k8s} endpoints
1515
- The {agent}'s resources to cope with the high CPU and Memory needs for the internal processing
1616
- The {es} resources needed due to the higher rate of metric ingestion
17-
- The Dashboard's visualizations response times as more data are requested on a given time window
17+
- The Dashboard's visualizations response times as more data are requested on a given time window
1818

1919
The document is divided in two main sections:
2020

@@ -41,7 +41,7 @@ The {k8s} {observability} is based on https://docs.elastic.co/en/integrations/ku
4141

4242
Controller manager and Scheduler datastreams are being enabled only on the specific node that actually runs based on autodiscovery rules
4343

44-
The default manifest provided deploys {agent} as DaemonSet which results in an {agent} being deployed on every node of the {k8s} cluster.
44+
The default manifest provided deploys {agent} as DaemonSet which results in an {agent} being deployed on every node of the {k8s} cluster.
4545

4646
Additionally, by default one agent is elected as **leader** (for more information visit <<kubernetes_leaderelection-provider>>). The {agent} Pod which holds the leadership lock is responsible for collecting the cluster-wide metrics in addition to its node's metrics.
4747

@@ -58,7 +58,7 @@ The DaemonSet deployment approach with leader election simplifies the installati
5858
[discrete]
5959
=== Specifying resources and limits in Agent manifests
6060

61-
Resourcing of your Pods and the Scheduling priority (check section <<agent-scheduling,Scheduling priority>>) of them are two topics that might be affected as the {k8s} cluster size increases.
61+
Resourcing of your Pods and the Scheduling priority (check section <<agent-scheduling,Scheduling priority>>) of them are two topics that might be affected as the {k8s} cluster size increases.
6262
The increasing demand of resources might result to under-resource the Elastic Agents of your cluster.
6363

6464
Based on our tests we advise to configure only the `limit` section of the `resources` section in the manifest. In this way the `request`'s settings of the `resources` will fall back to the `limits` specified. The `limits` is the upper bound limit of your microservice process, meaning that can operate in less resources and protect {k8s} to assign bigger usage and protect from possible resource exhaustion.
@@ -76,11 +76,11 @@ Based on our https://github.com/elastic/elastic-agent/blob/main/docs/elastic-age
7676

7777
Sample Elastic Agent Configurations:
7878
|===
79-
| No of Pods in K8s Cluster | Leader Agent Resources | Rest of Agents
80-
| 1000 | cpu: "1500m", memory: "800Mi" | cpu: "300m", memory: "600Mi"
81-
| 3000 | cpu: "2000m", memory: "1500Mi" | cpu: "400m", memory: "800Mi"
82-
| 5000 | cpu: "3000m", memory: "2500Mi" | cpu: "500m", memory: "900Mi"
83-
| 10000 | cpu: "3000m", memory: "3600Mi" | cpu: "700m", memory: "1000Mi"
79+
| No of Pods in K8s Cluster | Leader Agent Resources | Rest of Agents
80+
| 1000 | cpu: "1500m", memory: "800Mi" | cpu: "300m", memory: "600Mi"
81+
| 3000 | cpu: "2000m", memory: "1500Mi" | cpu: "400m", memory: "800Mi"
82+
| 5000 | cpu: "3000m", memory: "2500Mi" | cpu: "500m", memory: "900Mi"
83+
| 10000 | cpu: "3000m", memory: "3600Mi" | cpu: "700m", memory: "1000Mi"
8484
|===
8585

8686
> The above tests were performed with {agent} version 8.7 and scraping period of `10sec` (period setting for the {k8s} integration). Those numbers are just indicators and should be validated for each different {k8s} environment and amount of workloads.
@@ -94,19 +94,19 @@ Although daemonset installation is simple, it can not accommodate the varying ag
9494

9595
- A dedicated {agent} deployment of a single Agent for collecting cluster wide metrics from the apiserver
9696

97-
- Node level {agent}s(no leader Agent) in a Daemonset
97+
- Node level {agent}s(no leader Agent) in a Daemonset
9898

9999
- kube-state-metrics shards and {agent}s in the StatefulSet defined in the kube-state-metrics autosharding manifest
100-
100+
101101
Each of these groups of {agent}s will have its own policy specific to its function and can be resourced independently in the appropriate manifest to accommodate its specific resource requirements.
102102

103-
Resource assignment led us to alternatives installation methods.
103+
Resource assignment led us to alternatives installation methods.
104104

105105
IMPORTANT: The main suggestion for big scale clusters *is to install {agent} as side container along with `kube-state-metrics` Shard*. The installation is explained in details https://github.com/elastic/elastic-agent/tree/main/deploy/kubernetes#kube-state-metrics-ksm-in-autosharding-configuration[{agent} with Kustomize in Autosharding]
106106

107107
The following **alternative configuration methods** have been verified:
108108

109-
1. With `hostNetwork:false`
109+
1. With `hostNetwork:false`
110110
- {agent} as Side Container within KSM Shard pod
111111
- For non-leader {agent} deployments that collect per KSM shards
112112
2. With `taint/tolerations` to isolate the {agent} daemonset pods from rest of deployments
@@ -116,10 +116,10 @@ You can find more information in the document called https://github.com/elastic/
116116
Based on our https://github.com/elastic/elastic-agent/blob/main/docs/elastic-agent-scaling-tests.md[{agent} scaling tests], the following table aims to assist users on how to configure their KSM Sharding as {k8s} cluster scales:
117117
|===
118118
| No of Pods in K8s Cluster | No of KSM Shards | Agent Resources
119-
| 1000 | No Sharding can be handled with default KSM config | limits: memory: 700Mi , cpu:500m
120-
| 3000 | 4 Shards | limits: memory: 1400Mi , cpu:1500m
121-
| 5000 | 6 Shards | limits: memory: 1400Mi , cpu:1500m
122-
| 10000 | 8 Shards | limits: memory: 1400Mi , cpu:1500m
119+
| 1000 | No Sharding can be handled with default KSM config | limits: memory: 700Mi , cpu:500m
120+
| 3000 | 4 Shards | limits: memory: 1400Mi , cpu:1500m
121+
| 5000 | 6 Shards | limits: memory: 1400Mi , cpu:1500m
122+
| 10000 | 8 Shards | limits: memory: 1400Mi , cpu:1500m
123123
|===
124124

125125
> The tests above were performed with {agent} version 8.8 + TSDB Enabled and scraping period of `10sec` (for the {k8s} integration). Those numbers are just indicators and should be validated per different {k8s} policy configuration, along with applications that the {k8s} cluster might include
@@ -152,7 +152,7 @@ Additionally, https://github.com/elastic/integrations/blob/main/docs/dashboard_g
152152
[discrete]
153153
=== Elastic Stack Configuration
154154

155-
The configuration of Elastic Stack needs to be taken under consideration in large scale deployments. In case of Elastic Cloud deployments the choice of the deployment https://www.elastic.co/guide/en/cloud/current/ec-getting-started-profiles.html[{ecloud} hardware profile] is important.
155+
The configuration of Elastic Stack needs to be taken under consideration in large scale deployments. In case of Elastic Cloud deployments the choice of the deployment https://www.elastic.co/guide/en/cloud/current/ec-getting-started-profiles.html[{ecloud} hardware profile] is important.
156156

157157
For heavy processing and big ingestion rate needs, the `CPU-optimised` profile is proposed.
158158

@@ -161,7 +161,7 @@ For heavy processing and big ingestion rate needs, the `CPU-optimised` profile i
161161
== Validation and Troubleshooting practices
162162

163163
[discrete]
164-
=== Define if Agents are collecting as expected
164+
=== Define if Agents are collecting as expected
165165

166166
After {agent} deployment, we need to verify that Agent services are healthy, not restarting (stability) and that collection of metrics continues with expected rate (latency).
167167

@@ -217,7 +217,7 @@ Components:
217217
Healthy: communicating with pid '42462'
218218
------------------------------------------------
219219

220-
It is a common problem of lack of CPU/memory resources that agent process restart as {k8s} size grows. In the logs of agent you
220+
It is a common problem of lack of CPU/memory resources that agent process restart as {k8s} size grows. In the logs of agent you
221221

222222
[source,json]
223223
------------------------------------------------
@@ -229,7 +229,7 @@ kubectl logs -n kube-system elastic-agent-qw6f4 | grep "kubernetes/metrics"
229229
230230
------------------------------------------------
231231

232-
You can verify the instant resource consumption by running `top pod` command and identify if agents are close to the limits you have specified in your manifest.
232+
You can verify the instant resource consumption by running `top pod` command and identify if agents are close to the limits you have specified in your manifest.
233233

234234
[source,bash]
235235
------------------------------------------------
@@ -261,7 +261,7 @@ Identify how many events have been sent to {es}:
261261

262262
[source,bash]
263263
------------------------------------------------
264-
kubectl logs -n kube-system elastic-agent-h24hh -f | grep -i state_pod
264+
kubectl logs -n kube-system elastic-agent-h24hh -f | grep -i state_pod
265265
[ouptut truncated ...]
266266
267267
"state_pod":{"events":2936,"success":2936}
@@ -282,5 +282,5 @@ Corresponding dashboards for `CPU Usage`, `Index Response Times` and `Memory Pre
282282

283283
== Relevant links
284284

285-
- https://www.elastic.co/guide/en/welcome-to-elastic/current/getting-started-kubernetes.html[Monitor {k8s} Infrastructure]
285+
- {estc-welcome-current}/getting-started-kubernetes.html[Monitor {k8s} Infrastructure]
286286
- https://www.elastic.co/blog/kubernetes-cluster-metrics-logs-monitoring[Blog: Managing your {k8s} cluster with Elastic {observability}]

0 commit comments

Comments
 (0)