Skip to content

Commit

Permalink
Merge pull request #380 from Qovery/feat/update_self_managed_doc
Browse files Browse the repository at this point in the history
feat: update self-manged doc with screenshots
  • Loading branch information
deimosfr authored Jan 26, 2024
2 parents 10b0bcb + 615e0a1 commit 2d64ee4
Show file tree
Hide file tree
Showing 13 changed files with 412 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
---
last_modified_on: "2024-01-26"
title: "AWS-EKS Installation"
description: "Learn how to install and configure Qovery on your own AWS Kubernetes cluster"
---

import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';


In this section we will explain how to install Qovery on a EKS cluster running on your AWS account.

<!--
THIS FILE IS AUTOGENERATED!
To make changes please edit the template located at:
website/docs/getting-started/install-qovery/kubernetes/installation-aws.md.erb
-->

## Requirements

Have a look at the [Requirements][docs.getting-started.install-qovery.kubernetes.requirements] section.

## Install your cluster

If you already have one EKS cluster you can skip this section.

<Alert type="success">

Follow [this guide][docs.getting-started.install-qovery.kubernetes.create-k8s-cluster] to test Qovery BYOK on a demo cluster (K3s).

</Alert>


## Install Qovery

<Steps headingDepth={3}>

<ol>

<li>

Install [Helm][urls.helm] command line tool.

</li>

<li>

Add Qovery Helm repository.

<Alert type="warning">

Qovery Helm Chart is only available for users who have access to Qovery BYOK. [Request your access here](https://www.qovery.com/solutions/bring-your-own-kubernetes).

</Alert>


```bash
helm repo add qovery https://helm.qovery.com/
helm repo update
```

</li>

<li>

Login to the [Qovery console][urls.qovery_console], and create a "Self-Managed" cluster:

<p align="center">
<img src="/img/install-qovery/self-managed/general.png" alt="Create Self-Managed cluster" />
</p>

Set the name of the cluster and the provider credentials required by the cloud provider.

<p align="center">
<img src="/img/install-qovery/self-managed/kubeconfig.png" alt="Add your Kubeconfig" />
</p>

Add your cluster kubeconfig file, and click on "Continue".

<Alert type="warning">

The credentials and the kubeconfig are temporary requirements that will disappear in the next versions. See the [Requirements][docs.getting-started.install-qovery.kubernetes.requirements] section for more information.

</Alert>

<p align="center">
<img src="/img/install-qovery/self-managed/create.png" alt="Create the cluster" />
</p>

You'll finally be able to download a file containing the Qovery configuration for your cluster. The content of this file will be used later.

<p align="center">
<img src="/img/install-qovery/self-managed/qovery_override.png" alt="Override Helm chart config" />
</p>

Here is an example of the content override of the file:
```yaml
qovery:
clusterId: &clusterId XXXXXXX-XXX...
clusterShortId: &shortClusterId zXXXX
organizationId: &organizationId XXXXXXX-XXX...
jwtToken: &jwtToken "..."
domain: &domain "xxx.domain.org"
domainWildcard: &domainWildcard "*.xxx.domain.org"
qoveryDnsUrl: &qoveryDnsUrl https://xxx
lokiUrl: &lokiUrl http://loki.qovery.svc:3100
promtailLokiUrl: &promtailLokiUrl http://loki.qovery.svc:3100/loki/api/v1/push
acmeEmailAddr: &acmeEmailAddr "set-by-customer" # set your email address here for Let's encyrpt notification
externalDnsPrefix: &externalDnsPrefix "qvy-zxxx-"
architectures: &architectures "AMD64
```
</li>
<li>
Now we have to build a values.yaml to be used during the installation of Qovery on your cluster via Helm. You will find in the [helm chart git repository](https://github.com/Qovery/qovery-chart) a non exhaustive list of `values` example files. Depending on your need, download the one you want and update the configuration inside it.

Provided examples are:
* `values-demo-<cloud-provider-name>.yaml`: this version is to quickly setup Qovery on a demo cluster (**do not use this configuration in production**)
* `values-<provider-name>.yaml`: find versions made for some providers for production usage. Adapt it based on your needs.

Once you have downloaded the base values you want to use, replace the `qovery config` part with the configuration provided by the Qovery console (see previous step).

<Alert type="info">

Make sure that all fields having value `set-by-customer` are filled.

</Alert>

Learn more about the configuration in the [Configuration page][docs.getting-started.install-qovery.kubernetes.byok-config].

</li>

<li>

Install Qovery on your Kubernetes cluster.

```bash
helm upgrade --install --wait --atomic --create-namespace -n qovery -f <your-values-file.yaml> \
--set services.certificates.cert-manager-configs.enabled=false,services.certificates.qovery-cert-manager-webhook.enabled=false \
qovery qovery/qovery
```
* `-n qovery`: the namespace where Qovery and its dependencies will be installed
* `--set...`: override (only for the first deployment time, if you want to use Cert-Manager) to let cert-manager install its CRDs
* `-f your-values-file.yaml`: the values file you've downloaded, overrided with the Qovery config and your custom config
* `qovery/qovery`: name of the chart to deploy
* `qovery`: name of the release

If you want to use Cert-Manager, you can remove the `--set...` for the future updates (or if already installed):
```bash
helm upgrade --install --create-namespace -n qovery -f <your-values-file.yaml> qovery qovery/qovery
```

That's it, you can now use Qovery on your own Kubernetes cluster!

</li>

</ol>

</Steps>

## Further configuration

Now that you have installed Qovery on your cluster, you can modify its configuration based on your need following the [Qovery BYOK configuration guide][docs.getting-started.install-qovery.kubernetes.byok-config].


[docs.getting-started.install-qovery.kubernetes.byok-config]: /docs/getting-started/install-qovery/kubernetes/byok-config/
[docs.getting-started.install-qovery.kubernetes.create-k8s-cluster]: /docs/getting-started/install-qovery/kubernetes/create-k8s-cluster/
[docs.getting-started.install-qovery.kubernetes.requirements]: /docs/getting-started/install-qovery/kubernetes/requirements/
[urls.helm]: https://helm.sh
[urls.qovery_console]: https://console.qovery.com
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---
title: "AWS-EKS Installation"
description: "Learn how to install and configure Qovery on your own AWS Kubernetes cluster"
---

import Steps from '@site/src/components/Steps';
import Alert from '@site/src/components/Alert';


In this section we will explain how to install Qovery on a EKS cluster running on your AWS account.

## Requirements

Have a look at the [Requirements][docs.getting-started.install-qovery.kubernetes.requirements] section.

## Install your cluster

If you already have one EKS cluster you can skip this section.

<Alert type="success">

Follow [this guide][docs.getting-started.install-qovery.kubernetes.create-k8s-cluster] to test Qovery BYOK on a demo cluster (K3s).

</Alert>


## Install Qovery

<Steps headingDepth={3}>

<ol>

<li>

Install [Helm][urls.helm] command line tool.

</li>

<li>

Add Qovery Helm repository.

<Alert type="warning">

Qovery Helm Chart is only available for users who have access to Qovery BYOK. [Request your access here](https://www.qovery.com/solutions/bring-your-own-kubernetes).

</Alert>


```bash
helm repo add qovery https://helm.qovery.com/
helm repo update
```

</li>

<li>

Login to the [Qovery console][urls.qovery_console], and create a "Self-Managed" cluster:

<p align="center">
<img src="/img/install-qovery/self-managed/general.png" alt="Create Self-Managed cluster" />
</p>

Set the name of the cluster and the provider credentials required by the cloud provider.

<p align="center">
<img src="/img/install-qovery/self-managed/kubeconfig.png" alt="Add your Kubeconfig" />
</p>

Add your cluster kubeconfig file, and click on "Continue".

<Alert type="warning">

The credentials and the kubeconfig are temporary requirements that will disappear in the next versions. See the [Requirements][docs.getting-started.install-qovery.kubernetes.requirements] section for more information.

</Alert>

<p align="center">
<img src="/img/install-qovery/self-managed/create.png" alt="Create the cluster" />
</p>

You'll finally be able to download a file containing the Qovery configuration for your cluster. The content of this file will be used later.

<p align="center">
<img src="/img/install-qovery/self-managed/qovery_override.png" alt="Override Helm chart config" />
</p>

Here is an example of the content override of the file:
```yaml
qovery:
clusterId: &clusterId XXXXXXX-XXX...
clusterShortId: &shortClusterId zXXXX
organizationId: &organizationId XXXXXXX-XXX...
jwtToken: &jwtToken "..."
domain: &domain "xxx.domain.org"
domainWildcard: &domainWildcard "*.xxx.domain.org"
qoveryDnsUrl: &qoveryDnsUrl https://xxx
lokiUrl: &lokiUrl http://loki.qovery.svc:3100
promtailLokiUrl: &promtailLokiUrl http://loki.qovery.svc:3100/loki/api/v1/push
acmeEmailAddr: &acmeEmailAddr "set-by-customer" # set your email address here for Let's encyrpt notification
externalDnsPrefix: &externalDnsPrefix "qvy-zxxx-"
architectures: &architectures "AMD64
```

</li>

<li>

Now we have to build a values.yaml to be used during the installation of Qovery on your cluster via Helm. You will find in the [helm chart git repository](https://github.com/Qovery/qovery-chart) a non exhaustive list of `values` example files. Depending on your need, download the one you want and update the configuration inside it.

Provided examples are:
* `values-demo-<cloud-provider-name>.yaml`: this version is to quickly setup Qovery on a demo cluster (**do not use this configuration in production**)
* `values-<provider-name>.yaml`: find versions made for some providers for production usage. Adapt it based on your needs.

Once you have downloaded the base values you want to use, replace the `qovery config` part with the configuration provided by the Qovery console (see previous step).

<Alert type="info">

Make sure that all fields having value `set-by-customer` are filled.

</Alert>

Learn more about the configuration in the [Configuration page][docs.getting-started.install-qovery.kubernetes.byok-config].

</li>

<li>

Install Qovery on your Kubernetes cluster.

```bash
helm upgrade --install --wait --atomic --create-namespace -n qovery -f <your-values-file.yaml> \
--set services.certificates.cert-manager-configs.enabled=false,services.certificates.qovery-cert-manager-webhook.enabled=false \
qovery qovery/qovery
```
* `-n qovery`: the namespace where Qovery and its dependencies will be installed
* `--set...`: override (only for the first deployment time, if you want to use Cert-Manager) to let cert-manager install its CRDs
* `-f your-values-file.yaml`: the values file you've downloaded, overrided with the Qovery config and your custom config
* `qovery/qovery`: name of the chart to deploy
* `qovery`: name of the release

If you want to use Cert-Manager, you can remove the `--set...` for the future updates (or if already installed):
```bash
helm upgrade --install --create-namespace -n qovery -f <your-values-file.yaml> qovery qovery/qovery
```

That's it, you can now use Qovery on your own Kubernetes cluster!

</li>

</ol>

</Steps>

## Further configuration

Now that you have installed Qovery on your cluster, you can modify its configuration based on your need following the [Qovery BYOK configuration guide][docs.getting-started.install-qovery.kubernetes.byok-config].
Loading

0 comments on commit 2d64ee4

Please sign in to comment.