Skip to content

Commit d1cb0e3

Browse files
authored
Merge branch 'main' into enhance-and-restructure-autoops-section
2 parents 57fe4d5 + 116b26f commit d1cb0e3

38 files changed

+841
-107
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
# Add LLM/AI related files
1010
AGENTS.md
1111
.github/copilot-instructions.md
12-
.github/instructions/**.instructions.md
12+
.github/instructions
1313
CLAUDE.md
1414
GEMINI.md
1515
.cursor
1616

1717
# VS code settings
18-
.vscode
18+
.vscode

deploy-manage/api-keys/elastic-cloud-api-keys.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ These keys provides access to the API that enables you to manage your deployment
3434

3535
::::{note}
3636
When an API key is nearing expiration, Elastic sends an email to the creator of the API key and each of the operational contacts. When you use an API key to authenticate, the API response header `X-Elastic-Api-Key-Expiration` indicates the key’s expiration date. You can log this value to detect API keys that are nearing expiration.
37+
38+
Once an API key expires, it will automatically be removed from the API Keys tab.
3739
::::
3840

39-
5. Click **Create API key**, copy the generated API key, and store it in a safe place. You can also download the key as a CSV file.
41+
6. Click **Create API key**, copy the generated API key, and store it in a safe place. You can also download the key as a CSV file.
4042

4143
The API key needs to be supplied in the `Authorization` header of a request, in the following format:
4244

deploy-manage/deploy/cloud-on-k8s/pod-disruption-budget.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ In {{eck}} 3.1 and earlier, all clusters follow the [default PodDisruptionBudget
1919
:::
2020

2121
## Advanced rules (Enterprise license required)
22+
2223
```{applies_to}
2324
deployment:
2425
eck: ga 3.2
2526
```
2627

27-
In Elasticsearch clusters managed by ECK and licensed with an Enterprise license, a separate PDB is created for each type of `nodeSet` defined in the manifest. This setup allows Kubernetes upgrade or maintenance operations to be executed more quickly. Each PDB permits one Elasticsearch Pod per `nodeSet` to be disrupted at a time, provided the Elasticsearch cluster maintains the health status described in the following table:
28+
In {{es}} clusters managed by ECK and licensed with an Enterprise license, PDBs are created based on {{es}} node roles, allowing Kubernetes upgrade or maintenance operations to be executed more quickly. Multiple `nodeSets` with the same roles, such as `master` or `ml`, are combined into a single PDB. Each PDB permits one {{es}} Pod to be disrupted at a time, provided the {{es}} cluster maintains the health status described in the following table.
2829

2930
| Role | Cluster health required | Notes |
3031
|------|------------------------|--------|
@@ -40,6 +41,7 @@ In Elasticsearch clusters managed by ECK and licensed with an Enterprise license
4041
Single-node clusters are not considered highly available and can always be disrupted regardless of license type.
4142

4243
## Default rules (Basic license) [default-pdb-rules]
44+
4345
:::{note}
4446
In {{eck}} 3.1 and earlier, all clusters follow this behavior regardless of license type.
4547
:::

deploy-manage/remote-clusters/_snippets/apikeys-local-ece-remote-private.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
This snippet is in use in the following locations:
33
- ece-remote-cluster-self-managed.md
44
- ece-remote-cluster-other-ece.md
5+
- ece-enable-ccs-for-eck.md
56
67
It requires remote_type substitution to be defined
78
-->
@@ -10,7 +11,7 @@ It requires remote_type substitution to be defined
1011

1112
Narrow the list by name, ID, or choose from several other filters. To further define the list, use a combination of filters.
1213

13-
3. Access the **Security** page of the deployment.
14+
3. From the navigation menu, select **Security**.
1415
4. Select **Remote Connections > Add trusted environment** and choose **{{remote_type}}**. Then click **Next**.
1516
5. Select **API keys** as authentication mechanism and click **Next**.
1617
6. When asked whether the Certificate Authority (CA) of the remote environment’s proxy or load-balancing infrastructure is public, select **No, it is private**.
@@ -21,13 +22,13 @@ It requires remote_type substitution to be defined
2122
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
2223
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
2324

24-
2. Click **Add** to save the API key to the keystore.
25+
2. Click **Add** to save the API key.
2526
3. Repeat these steps for each API key you want to add. For example, if you want to use several clusters of the remote environment for CCR or CCS.
2627

2728
8. Add the CA certificate of the remote environment.
2829
9. Provide a name for the trusted environment. That name will appear in the trust summary of your deployment's **Security** page.
2930
10. Select **Create trust** to complete the configuration.
30-
11. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
31+
11. Restart the local deployment to reload the new settings. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
3132

3233
::::{note}
3334
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.

deploy-manage/remote-clusters/_snippets/apikeys-local-ece-remote-public.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,24 @@ This snippet is in use in the following locations:
44
- ece-remote-cluster-same-ece.md
55
- ece-remote-cluster-other-ece.md
66
- ece-remote-cluster-ece-ess.md
7+
- ece-enable-ccs-for-eck.md
78
-->
89
1. [Log into the Cloud UI](/deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md).
910
2. On the **Deployments** page, select your deployment.
1011

1112
Narrow the list by name, ID, or choose from several other filters. To further define the list, use a combination of filters.
1213

13-
3. From the deployment menu, select **Security**.
14+
3. From the navigation menu, select **Security**.
1415
4. Locate **Remote Connections > Trust management > Connections using API keys** and select **Add API key**.
1516

1617
1. Fill both fields.
1718

18-
* For the **Remote cluster name**, enter the the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
19+
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
1920
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
2021

21-
2. Click **Add** to save the API key to the keystore.
22+
2. Click **Add** to save the API key.
2223

23-
5. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.
24+
5. Restart the local deployment to reload the new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
2425

2526
::::{note}
2627
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.

deploy-manage/remote-clusters/_snippets/apikeys-local-ech-remote-private.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
This snippet is in use in the following locations:
33
- ec-remote-cluster-self-managed.md
44
- ec-remote-cluster-ece.md
5+
- ec-enable-ccs-for-eck.md
56
67
It requires remote_type substitution to be defined
78
-->
@@ -21,13 +22,13 @@ It requires remote_type substitution to be defined
2122
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
2223
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
2324

24-
2. Click **Add** to save the API key to the keystore.
25+
2. Click **Add** to save the API key.
2526
3. Repeat these steps for each API key you want to add. For example, if you want to use several clusters of the remote environment for CCR or CCS.
2627

2728
8. Add the CA certificate of the remote environment.
2829
9. Provide a name for the trusted environment. That name will appear in the trust summary of your deployment's **Security** page.
2930
10. Select **Create trust** to complete the configuration.
30-
11. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
31+
11. Restart the local deployment to reload the new settings. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
3132

3233
::::{note}
3334
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.

deploy-manage/remote-clusters/_snippets/apikeys-local-ech-remote-public.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This snippet is in use in the following locations:
44
- ec-remote-cluster-same-ess.md
55
- ec-remote-cluster-other-ess.md
66
- ec-remote-cluster-ece.md
7+
- ec-enable-ccs-for-eck.md
8+
79
-->
810
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
911
2. On the home page, find your hosted deployment and select **Manage** to access it directly. Or, select **Hosted deployments** to go to the **Hosted deployments** page to view all of your deployments.
@@ -15,12 +17,12 @@ This snippet is in use in the following locations:
1517

1618
1. Fill both fields.
1719

18-
* For the **Remote cluster name**, enter the the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
20+
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
1921
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
2022

2123
2. Click **Add** to save the API key.
2224

23-
5. Restart the local deployment to reload the new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.
25+
5. Restart the local deployment to reload the new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
2426

2527
::::{note}
2628
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Expose the transport service (defaults to port `9300`) of your ECK cluster to allow external {{es}} clusters to connect:
2+
3+
```yaml
4+
apiVersion: elasticsearch.k8s.elastic.co/v1
5+
kind: Elasticsearch
6+
metadata:
7+
name: <cluster-name>
8+
spec:
9+
transport:
10+
service:
11+
spec:
12+
type: LoadBalancer <1>
13+
```
14+
15+
1. On cloud providers which support external load balancers, setting the type field to `LoadBalancer` provisions a load balancer for your service. Alternatively, expose the service `<cluster-name>-es-transport` through one of the Kubernetes Ingress controllers that support TCP services.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
On the local deployment, add the remote ECK cluster using {{kib}} or the {{es}} API with the following connection settings:
2+
3+
* **Remote address**: Use the FQDN or IP address of the LoadBalancer service, or similar resource, you created to expose the remote cluster server interface (for API key-based authentication) or the transport interface (for TLS certificate-based authentication).
4+
5+
* **TLS server name**: You can try leaving this field empty first. If the connection fails, and your environment is presenting the ECK-managed certificates during the TLS handshake, use `<cluster-name>-es-remote-cluster.<namespace>.svc` as the server name. For example, for a cluster named `quickstart` in the `default` namespace, use `quickstart-es-remote-cluster.default.svc`.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
By default, the remote cluster server interface is deactivated on ECK-managed clusters. To use the API key–based security model for cross-cluster connections, you must first enable it on the remote {{es}} cluster:
2+
3+
```yaml subs=true
4+
apiVersion: elasticsearch.k8s.elastic.co/v1
5+
kind: Elasticsearch
6+
metadata:
7+
name: <cluster-name>
8+
namespace: <namespace>
9+
spec:
10+
version: {{version.stack}}
11+
remoteClusterServer:
12+
enabled: true
13+
nodeSets:
14+
- name: default
15+
count: 3
16+
...
17+
...
18+
```
19+
20+
::::{note}
21+
Enabling the remote cluster server triggers a restart of the {{es}} cluster.
22+
::::
23+

0 commit comments

Comments
 (0)