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 documentation for production admiral deployment #147

Merged
merged 9 commits into from
Oct 29, 2020

Conversation

Mengying-Li
Copy link
Collaborator

Signed-off-by: Mengying mengyinglimandy@gmail.com

Signed-off-by: Mengying <mengyinglimandy@gmail.com>
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
@codecov-io
Copy link

Codecov Report

Merging #147 into master will decrease coverage by 1.81%.
The diff coverage is 58.73%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
- Coverage   74.06%   72.25%   -1.82%     
==========================================
  Files          25       25              
  Lines        2175     1932     -243     
==========================================
- Hits         1611     1396     -215     
+ Misses        442      418      -24     
+ Partials      122      118       -4     
Impacted Files Coverage Δ
admiral/pkg/controller/admiral/controller.go 19.23% <0.00%> (-4.11%) ⬇️
admiral/pkg/controller/admiral/dependency.go 89.74% <ø> (-1.75%) ⬇️
admiral/pkg/controller/admiral/globaltraffic.go 83.33% <ø> (-2.39%) ⬇️
admiral/pkg/controller/admiral/node.go 87.50% <ø> (-2.50%) ⬇️
admiral/pkg/controller/common/config.go 87.50% <0.00%> (-2.50%) ⬇️
admiral/pkg/controller/istio/destinationrule.go 87.50% <ø> (-2.50%) ⬇️
admiral/pkg/controller/istio/serviceentry.go 87.50% <ø> (-2.50%) ⬇️
admiral/pkg/controller/istio/sidecar.go 87.50% <ø> (-2.50%) ⬇️
admiral/pkg/controller/istio/virtualservice.go 87.50% <ø> (-2.50%) ⬇️
admiral/pkg/clusters/handler.go 53.75% <18.00%> (-3.10%) ⬇️
... and 39 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a302183...07cb23b. Read the comment docs.

Signed-off-by: Mengying <mengyinglimandy@gmail.com>
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
CONTRIBUTING.md Show resolved Hide resolved
docs/Examples.md Outdated
```

At this point, admiral is watching `remote cluster`
Repeat step 4 and 5 to add another remote cluster to watch by admiral
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Repeat step 4 and 5 to add another remote cluster to watch by admiral
`Repeat steps 4 and 5 to add another remote cluster to be watched by Admiral.`

@@ -18,6 +18,71 @@ Delete Istio's envoy filter for translating `global` to `svc.cluster.local` at i

## Example Installations & Demos

### Production Deployment

![](Admiral_Diagram.png)
Copy link
Contributor

Choose a reason for hiding this comment

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

In the diagram:
i) remove secrets and dependency records boxes in remote cluster.
ii) In the main cluster rename secrets to admiral cluster secrets
iii) Add another remote cluster box to illustrate 1 to many relation between admiral and remote clusters.

docs/Examples.md Outdated


In order to run admiral in production environment, we will have two types of clusters:
- one main cluster where admiral lives
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- one main cluster where admiral lives
- cluster where admiral runs called the `main` cluster

docs/Examples.md Outdated

In order to run admiral in production environment, we will have two types of clusters:
- one main cluster where admiral lives
- other remote clusters where admiral watches and monitors.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- other remote clusters where admiral watches and monitors.
- clusters which admiral watches, monitors and creates Istio CRs called the `remote` clusters

docs/Examples.md Outdated
![](Admiral_Diagram.png)


In order to run admiral in production environment, we will have two types of clusters:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
In order to run admiral in production environment, we will have two types of clusters:
An admiral production set up would have two types of clusters:

docs/Examples.md Outdated
- other remote clusters where admiral watches and monitors.

The requirements are different for the two types:
- admiral namespace will exist in main cluster
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- admiral namespace will exist in main cluster
- admiral namespace will exist in the main cluster

- admiral namespace will exist in main cluster
- admiral-sync namespace will exist in remote clusters that admiral watches and monitors.

1\. Set necessary environment variables
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
1\. Set necessary environment variables
The following steps show how you can install admiral in the main cluster and then provision secrets for it to watch the remote clusters.
```While the process shown below using shell scripts is manual, automation can be built for i) installing admiral and its necessary resources (using a CD pipeline) ii) Provisioning secret for every new cluster created or upgraded as a post cluster create step```
1\. Set the necessary environment variables

docs/Examples.md Outdated

3\. Add main cluster to Admiral's watcher

Since there are most likely other contents living in the same cluster where admiral lives, admiral need to watch the cluster it's currently living in as well. This step can be skipped if Admiral has a dedicated cluster for Admiral only.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Since there are most likely other contents living in the same cluster where admiral lives, admiral need to watch the cluster it's currently living in as well. This step can be skipped if Admiral has a dedicated cluster for Admiral only.
Since there are most likely other workloads running in the same cluster where admiral lives, admiral needs to watch the cluster it's currently living in as well. This step can be skipped if Admiral runs in a dedicated cluster.

docs/Examples.md Outdated

Since there are most likely other contents living in the same cluster where admiral lives, admiral need to watch the cluster it's currently living in as well. This step can be skipped if Admiral has a dedicated cluster for Admiral only.

Let admiral monitor the cluster it lives in by exchanging secret with itself.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Let admiral monitor the cluster it lives in by exchanging secret with itself.
Let admiral monitor the cluster it lives in by using the secret to talk to the API server of the cluster where it runs.

Signed-off-by: Mengying <mengyinglimandy@gmail.com>
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
CONTRIBUTING.md Outdated Show resolved Hide resolved
Signed-off-by: Mengying <mengyinglimandy@gmail.com>
@Mengying-Li Mengying-Li changed the title Work in progress Addressed the comments, ready for rereview Oct 29, 2020
@Mengying-Li Mengying-Li changed the title Addressed the comments, ready for rereview Add documentation for production admiral deployment Oct 29, 2020
@Mengying-Li Mengying-Li merged commit 2dfc1d4 into master Oct 29, 2020
@Mengying-Li Mengying-Li deleted the doc_for_prod_deploy branch October 29, 2020 21:12
itsLucario pushed a commit to itsLucario/admiral that referenced this pull request Aug 9, 2022
…io-ecosystem#147)

* Make remote controller access thread safe.

* Lint issue

* Code review comments

* More initializations fixed

Co-authored-by: aattuluri <44482891+aattuluri@users.noreply.github.com>
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