-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add documentation for remote cluster proxy mode #52779
Add documentation for remote cluster proxy mode #52779
Conversation
This is related to elastic#49067.
Pinging @elastic/es-docs (>docs) |
Pinging @elastic/es-distributed (:Distributed/Network) |
Depends on #52796 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jrodewig can you have a look too?
`seeds`:: | ||
The configured initial seed transport addresses of the remote cluster when | ||
sniff mode is configured. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like it was double indented.
`seeds`:: | |
The configured initial seed transport addresses of the remote cluster when | |
sniff mode is configured. | |
`seeds`:: | |
Initial seed transport addresses of the remote cluster when | |
sniff mode is configured. |
to three _gateway nodes_ are selected to be connected to as part of remote | ||
cluster requests. | ||
// end::how-remote-clusters-work[] | ||
only to a limited number of nodes in that remote cluster. There are two |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
only to a limited number of nodes in that remote cluster. There are two | |
to a limited number of nodes in that remote cluster. There are two |
I updated this and added a section on proxy mode in the CCS docs. |
|
||
Gateway and seed nodes need to be accessible from the local cluster via your | ||
network. | ||
For remote clusters using the <<sniff-mode,sniff connection> mode, gateway and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is required for the link to render properly.
For remote clusters using the <<sniff-mode,sniff connection> mode, gateway and | |
For remote clusters using the <<sniff-mode,sniff connection>> mode, gateway and |
== {ccs} in proxy mode | ||
|
||
<<proxy-mode,Proxy mode>> remote cluster connections support {ccs}. All remote | ||
connections will connect to the configured `proxy_address`. Any desired |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
connections will connect to the configured `proxy_address`. Any desired | |
connections connect to the configured `proxy_address`. Any desired |
cluster requests. This mode requires that the gateway node's publish addresses | ||
are exposed to the local cluster. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"accessible" is more consistent with what's stated in "proxy" mode and has less of a negative connotation.
cluster requests. This mode requires that the gateway node's publish addresses | |
are exposed to the local cluster. | |
cluster requests. This mode requires that the gateway node's publish addresses | |
are accessible by the local cluster. |
<2> The hostname and <<modules-transport,transport>> port (default: 9300) of a | ||
seed node in the remote cluster. | ||
<3> A keep-alive ping is configured for `cluster_one`. | ||
<4> Compression is explicitly enabled for requests to `cluster_two`. | ||
<5> Disconnected remote clusters are optional for `cluster_two`. | ||
<4> The configured connection mode. By default it is <<sniff-mode,sniff>>, so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<4> The configured connection mode. By default it is <<sniff-mode,sniff>>, so | |
<4> The configured connection mode. By default, this is <<sniff-mode,`sniff`>>, so |
[[remote-cluster-sniff-settings]] | ||
=== Remote cluster settings for sniff mode | ||
|
||
`cluster.remote.${cluster_alias}.seeds`:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our docs typically use the <variable>
convention.
`cluster.remote.${cluster_alias}.seeds`:: | |
`cluster.remote.<cluster_alias>.seeds`:: |
|
||
The list of seed nodes used to sniff the remote cluster state. | ||
|
||
`cluster.remote.${cluster_alias}.node_connections`:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`cluster.remote.${cluster_alias}.node_connections`:: | |
`cluster.remote.<cluster_alias>.node_connections`:: |
[[remote-cluster-proxy-settings]] | ||
=== Remote cluster settings for proxy mode | ||
|
||
`cluster.remote.${cluster_alias}.proxy_address`:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`cluster.remote.${cluster_alias}.proxy_address`:: | |
`cluster.remote.<cluster_alias>.proxy_address`:: |
|
||
The address used for all remote connections. | ||
|
||
`cluster.remote.${cluster_alias}.proxy_socket_connections`:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`cluster.remote.${cluster_alias}.proxy_socket_connections`:: | |
`cluster.remote.<cluster_alias>.proxy_socket_connections`:: |
ifndef::include-xpack[] | ||
|
||
`cluster.remote.${cluster_alias}.server_name`:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be ifdef
, not ifndef
.
I'm also not sure if it's necessary to do ifdef::include-xpack[]
. Adding [role="xpack"]
before the setting def should suffice. From what I understand, ifdef::include-xpack[]
and ifndef::include-xpack[]
have not been functional for some time.
ifndef::include-xpack[] | |
`cluster.remote.${cluster_alias}.server_name`:: | |
[role="xpack"] | |
`cluster.remote.${cluster_alias}.server_name`:: |
<<configuring-tls,{TLS is enabled}>>. The TLS transport will fail to open | ||
remote connections if this field is not a valid hostname as defined by the | ||
TLS SNI specification. | ||
endif::[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
endif::[] |
|
||
`cluster.remote.${cluster_alias}.server_name`:: | ||
|
||
An optional hostname string which will be sent in the server_name field of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An optional hostname string which will be sent in the server_name field of | |
An optional hostname string which is sent in the `server_name` field of |
|
||
An optional hostname string which will be sent in the server_name field of | ||
the TLS Server Name Indication extension if | ||
<<configuring-tls,{TLS is enabled}>>. The TLS transport will fail to open |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<<configuring-tls,{TLS is enabled}>>. The TLS transport will fail to open | |
<<configuring-tls,TLS is enabled>>. The TLS transport will fail to open |
@@ -139,7 +171,8 @@ PUT _cluster/settings | |||
// TEST[s/127.0.0.1:9300/\${transport_host}/] | |||
|
|||
You can dynamically update the compression and ping schedule settings. However, | |||
you must re-include seeds in the settings update request. For example: | |||
you must re-include seeds or proxy_address in the settings update request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you must re-include seeds or proxy_address in the settings update request. | |
you must re-include seeds or a `proxy_address` in the settings update request. |
cluster requests. This mode requires that the gateway node's publish addresses | ||
are exposed to the local cluster. | ||
|
||
The sniff mode is the default connection mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sniff mode is the default connection mode. | |
Sniff mode is the default connection mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good overall. I did suggest a few needed changes:
- Fix a broken internal link
- Remove or update the new
ifndef
directive in the remote cluster settings section - Use the standard
<variable>
convention in the remote cluster settings section
My other feedback is non-blocking. Feel free to use or ignore those items as you see fit.
Thanks for writing up the proxy mode CCS section!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This is related to #49067.