This guide helps you deploy and use Epinio, with the default options. It's a good configuration for evaluation, or testing, using an existing Kubernetes cluster. For advanced Epinio deployment scenarios look at the installation documentation.
Check your Kubernetes environment meets the Epinio requirements. You'll need both a default StorageClass and a default IngressClass. If you don't yet have a suitable Kubernetes cluster, you can follow the RKE2 Installation section to get started.
kubectl get nodes -o wide command to get the
INTERNAL-IP value of the first Kubernetes node in your cluser.
You'll use this value along with a wildcard DNS service domain
as the helm
global.domain value for installing Epinio.
If you use a local Kubernetes cluster, the value should be
127.0.0.1 no matter the output from the
kubectl get nodes command above.
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager --create-namespace \
Then install Epinio by using
helm as shown below.
<INTERNAL-IP> placeholder with the correct IP address:
helm repo add epinio https://epinio.github.io/helm-charts
helm repo update
helm upgrade --install epinio epinio/epinio \
--namespace epinio --create-namespace \
You can then point your browser, or Epinio, CLI at the
Download the Epinio CLI binary
Install the latest Epinio CLI with
brew install epinio
Or, download the desired version from the Assets section of https://github.com/epinio/epinio/releases/.
Deploy an application with Epinio
The first task after an Epinio installation is to login with the
epinio login -u admin 'https://epinio.127.0.0.1.sslip.io'
# Trust the certificate by pressing 'y' and 'enter'
You may encounter an x509 error due to mismatched certificates after a restart.
You can resolve it by reloading certificates.
Us the command
epinio settings update-ca.
It will not be necessary to log in again.
To confirm that you're logged check the Epinio settings:
epinio settings show
Push an application
If you want to try a working application use the one inside the sample-app directory.
You can copy it to your system with the following commands:
git clone https://github.com/epinio/epinio.git
Push an application
There are two ways to push an application:
- You can provide an Application Manifest which has the needed configuration for the applications.
epinio push manifest.yaml
- You can give the configuration as parameters, in which case
--nameis required. As the default route is used the name must be unique across all namespaces.
epinio push --name sample --path sample-app
--path parameter is optional.
If not specified the current working directory is used.
Always check that the chosen directory has a supported application.
You can read about the applications supported in Epinio supported applications.
There is also information about the more advanced git model.
For details of the
epinio push process, read the detailed push docs.
Check your application is working
When pushing the application, a unique URL is printed on the console. You use this to access your application. You can get this URL again by running:
epinio app show sample
Navigate to the "Routes" section.
Go ahead and open the application URL in your browser!
List all commands
To see a list of deployed applications, use the command:
epinio apps list
Delete an application
To delete the application named "sample" run the following command:
epinio delete sample
Create a separate namespace
To keep your applications separated, you can use namespaces. Create a new namespace with this command:
epinio namespace create newspace
To start deploying application to this new namespace you have to target it:
epinio target newspace
Until you target another namespace,
epinio push deploys to