-
Notifications
You must be signed in to change notification settings - Fork 15
/
install_epinio_auto.md
86 lines (55 loc) · 2.66 KB
/
install_epinio_auto.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Install Epinio (automatic dependencies)
As described [in the top level document](./installation.md#installation-methods) the easiest method to get Epinio
running is using a [`Helm`](https://helm.sh/) chart to deploy all Epinio's dependencies on the target cluster automatically.
## Prerequisites
You need to have these three binaries installed on your system:
- [helm](https://helm.sh/docs/intro/install/)
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
- [epinio](install_epinio_cli.md)
The rest of this guide will assume they are in your PATH.
## Installation
### Choose a domain for Epinio
Epinio uses a "system domain" to create routes for the Epinio API and the applications it deploys.
**This must be a wildcard domain pointing to the Traefik ingress controller which the Epinio helm chart will deploy to your cluster.**
Depending on the Kubernetes cluster, an IP address that will point to the Traefik
service may be known even before Traefik is deployed (e.g. when using a k3d cluster,
the IP address of the k3d can be used).
In other cases, the IP address that the domain should point to, becomes known
only after Traefik is deployed (e.g. when the cluster is running on some public cloud
provider). And finally, sometimes, an IP address can be bought separately and
Epinio should be instructed to use it (using the `loadbalancerIP` helm value).
In any case, the deployment of Epinio can happen before the DNS setup. This means,
after installation, Epinio may not be accessible until the domain that was
specified during installation, points to the IP address of Traefik.
Set the `EPINIO_SYSTEM_DOMAIN` environment variable which will be used in the
next step:
```
$ export EPINIO_SYSTEM_DOMAIN=myepiniodomain.org
```
(replace the value with the desired domain)
### Deploy Epinio
Add the Epinio helm chart repository:
```
$ helm repo add epinio https://epinio.github.io/helm-charts
```
Install Epinio with the epinio-installer helm chart:
```
helm install --set systemDomain=$EPINIO_SYSTEM_DOMAIN epinio-installer epinio/epinio-installer
```
### Setup DNS
After the installation is complete, the domain should point to the IP address of
Traefik. The following command may be used to find that IP address:
```
$ kubectl get svc -n traefik -o jsonpath="{.items[0].status.loadBalancer.ingress[0]}"
```
### Access Epinio
The following command will update your local Epinio config file to point to the
Epinio instance that runs on the currently targeted Kubernetes cluster:
```
$ epinio config update
```
Verify you can talk to Epinio:
```
$ epinio info
```
If this command succeeds, Epinio is accessible and you can now [deploy your first application](../tutorials/quickstart.md).