-
Notifications
You must be signed in to change notification settings - Fork 89
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
feat(install): add separate install guide for each env #2054
base: master
Are you sure you want to change the base?
Changes from 5 commits
f08f3e9
ec73566
c144ecc
2013d74
d897e4e
42d0551
d782bfb
3850fe7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -105,6 +105,8 @@ Mockbin | |
Moesif | ||
MongoDB | ||
m?TLS | ||
[mM]ulti-zone | ||
[sS]ingle-zone | ||
Multus | ||
NAD | ||
namespace[sd]? | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,8 @@ control-plane | |
controlplane | ||
data-plane | ||
dataplane | ||
multizone | ||
multi\s+zone | ||
singlezone | ||
single\s+zone | ||
tls |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should replace: https://kuma.io/docs/2.9.x/production/cp-deployment/multi-zone/ do we need to move anything from old guide somewhere before we remove it? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title: Install multi-zone on Kubernetes with kumactl | ||
content_type: how-to | ||
--- | ||
|
||
This is a simple guide on how to install {{site.mesh_product_name}} on your Kubernetes clusters using [Helm](https://helm.sh/). | ||
|
||
1. Add helm repo: | ||
```shell | ||
helm repo add {{site.mesh_helm_repo_name}} {{site.mesh_helm_repo_url}} && helm repo update | ||
``` | ||
2. Install {{site.mesh_product_name}} on global cluster: | ||
```shell | ||
helm install --create-namespace \ | ||
--namespace {{site.mesh_namespace}} \ | ||
--set "controlPlane.mode=global" \ | ||
{{ site.mesh_helm_install_name }} {{ site.mesh_helm_repo }} --version {{ page.version_data.version }} | ||
``` | ||
3. Find the external IP and port of the `{{site.mesh_product_name}}-global-zone-sync` service in the {{site.mesh_namespace}} namespace: | ||
```shell | ||
kubectl get service {{site.mesh_product_name}}-global-zone-sync -n {{site.mesh_namespace}} -ojson -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it make sense to add this to an env var and use it just after? |
||
``` | ||
4. Install zone control plane on zone cluster (you need to substitute your `<zone-name>` and `<global-kds-address>` extracted in the previous step): | ||
```shell | ||
helm install --create-namespace --namespace {{site.mesh_namespace}} \ | ||
--set "controlPlane.mode=zone" \ | ||
--set "controlPlane.zone=<zone-name>" \ | ||
--set "ingress.enabled=true" \ | ||
--set "controlPlane.kdsGlobalAddress=grpcs://<global-kds-address>:5685" \ | ||
--set "controlPlane.tls.kdsZoneClient.skipVerify=true" \ | ||
{{ site.mesh_helm_install_name }} {{ site.mesh_helm_repo }} --version {{ page.version_data.version }} | ||
Automaat marked this conversation as resolved.
Show resolved
Hide resolved
|
||
``` | ||
|
||
## Next steps | ||
* Read more about [multi-zone setup](/docs/{{ page.version }}/production/deployment/multi-zone/) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- | ||
title: Install multi-zone on Kubernetes with kumactl | ||
content_type: how-to | ||
--- | ||
|
||
This is a simple guide on how to install {{site.mesh_product_name}} on your Kubernetes clusters using `kumactl`. | ||
|
||
1. Go to the [{{site.mesh_product_name}} packages](https://cloudsmith.io/~kong/repos/{{site.mesh_product_name_path}}-binaries-release/packages/?q=version%3A{{ page.version_data.version }}) | ||
page to download and extract the installation archive for your OS, or download and extract the latest release automatically (Linux or macOS): | ||
```shell | ||
curl -L {{site.links.web}}{% if page.edition %}/{{page.edition}}{% endif %}/installer.sh | VERSION={{ page.version_data.version }} sh - | ||
``` | ||
2. To finish installation, add {{site.mesh_product_name}} binaries to path: | ||
```shell | ||
export PATH=$(pwd)/{{site.mesh_product_name_path}}-{{ page.version_data.version }}/bin:$PATH | ||
``` | ||
This directory contains binaries for `kuma-dp`, `kuma-cp`, `kumactl`, `envoy` and `coredns` | ||
3. Install {{site.mesh_product_name}} on global cluster: | ||
```shell | ||
kumactl install control-plane \ | ||
--set "controlPlane.mode=global" \ | ||
| kubectl apply -f - | ||
``` | ||
4. Find the external IP and port of the `{{site.mesh_product_name}}-global-zone-sync` service in the {{site.mesh_namespace}} namespace: | ||
```shell | ||
kubectl get service {{site.mesh_product_name}}-global-zone-sync -n {{site.mesh_namespace}} -ojson -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | ||
``` | ||
5. Install zone control plane on zone cluster (you need to substitute your `<zone-name>` and `<global-kds-address>` extracted in the previous step): | ||
```shell | ||
kumactl install control-plane \ | ||
--set "controlPlane.mode=zone" \ | ||
--set "controlPlane.zone=<zone-name>" \ | ||
--set "ingress.enabled=true" \ | ||
--set "controlPlane.kdsGlobalAddress=grpcs://<global-kds-address>:5685" \ | ||
--set "controlPlane.tls.kdsZoneClient.skipVerify=true" \ | ||
| kubectl apply -f - | ||
``` | ||
|
||
## Next steps | ||
* Read more about [multi-zone setup](/docs/{{ page.version }}/production/deployment/multi-zone/) |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this page looks poor, can we do something to improve it? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need it? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
title: Installation methods overview | ||
--- | ||
|
||
|
||
## Single-zone | ||
|
||
{{site.mesh_product_name}}’s default deployment model with one control plane (that can be scaled horizontally) and many | ||
data planes connecting directly to it. | ||
|
||
### Kubernetes | ||
|
||
[Install {{site.mesh_product_name}} with helm instruction](/docs/{{ page.version }}/introduction/install/single-zone/helm/) | ||
|
||
[Install {{site.mesh_product_name}} with kumactl instruction](/docs/{{ page.version }}/introduction/install/single-zone/kubernetes-kumactl/) | ||
|
||
### Universal | ||
|
||
[Install single zone {{site.mesh_product_name}} instruction](/docs/{{ page.version }}/introduction/install/single-zone/universal/) | ||
|
||
## Multi-zone | ||
|
||
{{site.mesh_product_name}}’s advanced deployment model to support multiple Kubernetes or VM-based zones, or hybrid Service Meshes | ||
running on both Kubernetes and VMs combined. | ||
|
||
### Kubernetes | ||
|
||
[Install {{site.mesh_product_name}} with helm instruction](/docs/{{ page.version }}/introduction/install/multi-zone/helm/) | ||
|
||
[Install {{site.mesh_product_name}} with kumactl instruction](/docs/{{ page.version }}/introduction/install/multi-zone/kubernetes-kumactl/) | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
title: Install single-zone on Kubernetes with Helm | ||
content_type: how-to | ||
--- | ||
|
||
This is a simple guide on how to install {{site.mesh_product_name}} on your Kubernetes cluster using [Helm](https://helm.sh/). | ||
|
||
1. Add helm repo: | ||
```shell | ||
helm repo add {{site.mesh_helm_repo_name}} {{site.mesh_helm_repo_url}} && helm repo update | ||
``` | ||
2. Install {{site.mesh_product_name}} on your cluster: | ||
```shell | ||
helm install --create-namespace \ | ||
--namespace {{site.mesh_namespace}} \ | ||
{{ site.mesh_helm_install_name }} {{ site.mesh_helm_repo }} --version {{ page.version_data.version }} | ||
``` | ||
3. Verify installation: | ||
```shell | ||
kubectl -n {{site.mesh_namespace}} port-forward svc/{{ site.mesh_helm_install_name }}-control-plane 5681:5681 | ||
``` | ||
Open [GUI](/docs/{{ page.version }}/production/gui) in your browser by navigating to [127.0.0.1:5681/gui](http://127.0.0.1:5681/gui) | ||
|
||
## Next steps | ||
* [Complete quickstart](/docs/{{ page.version }}/quickstart/kubernetes-demo/) to install demo application and secure traffic | ||
* Read more about [single-zone setup](/docs/{{ page.version }}/production/deployment/single-zone/) | ||
* [Federate](/docs/{{ page.version }}/guides/federate) zone into a multi-zone deployment |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
title: Install single-zone on Kubernetes with kumactl | ||
content_type: how-to | ||
--- | ||
|
||
This is a simple guide on how to install {{site.mesh_product_name}} on your Kubernetes cluster using `kumactl`. | ||
|
||
1. Go to the [{{site.mesh_product_name}} packages](https://cloudsmith.io/~kong/repos/{{site.mesh_product_name_path}}-binaries-release/packages/?q=version%3A{{ page.version_data.version }}) | ||
page to download and extract the installation archive for your OS, or download and extract the latest release automatically (Linux or macOS): | ||
```shell | ||
curl -L {{site.links.web}}{% if page.edition %}/{{page.edition}}{% endif %}/installer.sh | VERSION={{ page.version_data.version }} sh - | ||
``` | ||
2. To finish installation, add {{site.mesh_product_name}} binaries to path: | ||
```shell | ||
export PATH=$(pwd)/{{site.mesh_product_name_path}}-{{ page.version_data.version }}/bin:$PATH | ||
``` | ||
This directory contains binaries for `kuma-dp`, `kuma-cp`, `kumactl`, `envoy` and `coredns` | ||
3. Install {{site.mesh_product_name}} on your cluster: | ||
```shell | ||
kumactl install control-plane | kubectl apply -f - | ||
``` | ||
4. Verify installation: | ||
```shell | ||
kubectl -n {{site.mesh_namespace}} port-forward svc/{{ site.mesh_helm_install_name }}-control-plane 5681:5681 | ||
``` | ||
Open [GUI](/docs/{{ page.version }}/production/gui) in your browser by navigating to [127.0.0.1:5681/gui](http://127.0.0.1:5681/gui) | ||
|
||
## Next steps | ||
* [Complete quickstart](/docs/{{ page.version }}/quickstart/kubernetes-demo/) to install demo application and secure traffic | ||
* Read more about [single-zone setup](/docs/{{ page.version }}/production/deployment/single-zone/) | ||
* [Federate](/docs/{{ page.version }}/guides/federate) zone into a multi-zone deployment |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
title: Install single-zone on Universal | ||
content_type: how-to | ||
--- | ||
|
||
This is a simple guide on how to install {{site.mesh_product_name}} on your machine. | ||
|
||
1. Go to the [{{site.mesh_product_name}} packages](https://cloudsmith.io/~kong/repos/{{site.mesh_product_name_path}}-binaries-release/packages/?q=version%3A{{ page.version_data.version }}) | ||
page to download and extract the installation archive for your OS, or download and extract the latest release automatically (Linux or macOS): | ||
```shell | ||
curl -L {{site.links.web}}{% if page.edition %}/{{page.edition}}{% endif %}/installer.sh | VERSION={{ page.version_data.version }} sh - | ||
``` | ||
2. To finish installation, add {{site.mesh_product_name}} binaries to path: | ||
```shell | ||
export PATH=$(pwd)/{{site.mesh_product_name_path}}-{{ page.version_data.version }}/bin:$PATH | ||
``` | ||
This directory contains binaries for `kuma-dp`, `kuma-cp`, `kumactl`, `envoy` and `coredns` | ||
3. Run {{site.mesh_product_name}} control plane | ||
```shell | ||
kuma-cp run | ||
``` | ||
4. To verify installation open [GUI](/docs/{{ page.version }}/production/gui) in your browser by navigating to [127.0.0.1:5681/gui](http://127.0.0.1:5681/gui) | ||
|
||
{% tip %} | ||
If you only need `kumactl` on macOS you can install it via `brew install kumactl`. | ||
{% endtip %} | ||
|
||
|
||
## Next steps | ||
* [Complete quickstart](/docs/{{ page.version }}/quickstart/universal-demo/) to install demo application and secure traffic | ||
* Read more about [single-zone setup](/docs/{{ page.version }}/production/deployment/single-zone/) |
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.
Maybe this could be a separate top level entry in sidebar?