Skip to content
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 controller clustering reference documentation #1032

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

plorenz
Copy link
Member

@plorenz plorenz commented Feb 4, 2025

No description provided.

@plorenz plorenz requested review from a team as code owners February 4, 2025 17:35
Copy link

vercel bot commented Feb 4, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
ziti-doc ✅ Ready (Inspect) Visit Preview Feb 7, 2025 8:24pm

dovholuknf
dovholuknf previously approved these changes Feb 4, 2025
Copy link
Member

@dovholuknf dovholuknf left a comment

Choose a reason for hiding this comment

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

when this merges, it will be published automatically. make sure that's your intention before merging

docusaurus/docs/reference/30-configuration/controller.md Outdated Show resolved Hide resolved
@@ -164,6 +166,9 @@ Each dialer currently supports a number of [shared options](conventions.md#xgres
The `edge` section contains configuration that pertain to edge functionality. This section must be
present to enable edge functionality (e.g. listening for edge SDK connections, tunnel binding modes).

- `db` - (optional, `<path-to-config-file>.proto.gzip`) - Configures where the router data model will be snapshotted to
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- `db` - (optional, `<path-to-config-file>.proto.gzip`) - Configures where the router data model will be snapshotted to
- `db` - (optional, default: `<path-to-config-file>.proto.gzip`) - path to file name where the router data model will be written as a gzipped snapshot

I'm attempting to clarify between a path to a dir where the snapshot is written vs. a path to a file name

docusaurus/docs/reference/ha/overview.md Show resolved Hide resolved
docusaurus/docs/reference/ha/bootstrapping/certificates.md Outdated Show resolved Hide resolved
would be:

```
spiffe://example.com/controller/ctrl1
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
spiffe://example.com/controller/ctrl1
spiffe://ziti.example.com/controller/ctrl1

for consistency throughout the examples in this doc

spiffe://<trust domain>/controller/<controller id>
```

So if your trust domain is `example.com` and your controller id is `ctrl1`, then your SPIFFE id
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
So if your trust domain is `example.com` and your controller id is `ctrl1`, then your SPIFFE id
So if your trust domain is `ziti.example.com` and your controller id is `ctrl1`, then your SPIFFE id


```yaml
cluster:
dataDir: /path/to/data/dir
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
dataDir: /path/to/data/dir
dataDir: /var/lib/ziti/controller

Slight preference for FHS in examples, and I'm certain the average reader will do the right thing with an arbitrary example too. ZET also uses /var/lib/ziti.


```yaml
ctrl:
listener: tls:0.0.0.0:6262
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
listener: tls:0.0.0.0:6262
listener: tls:0.0.0.0:1280

consistent ports for ctrl1

ctrl:
listener: tls:0.0.0.0:6262
options:
advertiseAddress: tls:ctrl1.ziti.example.com:6262
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
advertiseAddress: tls:ctrl1.ziti.example.com:6262
advertiseAddress: tls:ctrl1.ziti.example.com:1280

consistent ports for ctrl1

```buttonless title="Output"
[ 3.323] WARNING ziti/controller/server.(*Controller).checkEdgeInitialized: the
Ziti Edge has not been initialized, no default admin exists. Add this node to a
cluster using 'ziti agent cluster add tls:localhost:6262' against an existing
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
cluster using 'ziti agent cluster add tls:localhost:6262' against an existing
cluster using 'ziti agent cluster add tls:localhost:1280' against an existing

consistent ports for ctrl1

qrkourier
qrkourier previously approved these changes Feb 6, 2025
Add controller cluster data model page
@plorenz plorenz changed the title Add Controller HA overview page. Add controller clustering reference documentation Feb 7, 2025

#### Location

By defaul the endpoints file will be named `endpoints` and will be placed
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
By defaul the endpoints file will be named `endpoints` and will be placed
By default, the endpoints file will be named `endpoints` and will be placed

By defaul the endpoints file will be named `endpoints` and will be placed
in the same directory as the router config file.

However, the file can be customized using a config file settings.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
However, the file can be customized using a config file settings.
Customize the path of the endpoints file in the config file.


# Controller Topology

his document discusses cluster size and member placement.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
his document discusses cluster size and member placement.
This document discusses cluster size and member placement.


The functionality that controllers provide to clients doesn't require any specific number of controllers.
A network manager will want to scale the number controllers based on client demand and may want to
place additional controllers geographically close to clusters of clients for better performance.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
place additional controllers geographically close to clusters of clients for better performance.
place additional controllers geographically close to clients for better performance.

Possibly confusing to imply that clients have clusters in the same sense as controllers


**Requirements**

1. The network should be able to withstand the loss of one voting member
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
1. The network should be able to withstand the loss of one voting member
1. The network should be able to withstand the loss of one voting member.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants