The easiest way to install the inlets-operator is with arkade, an open-source Kubernetes marketplace.
See inlets-operator reference documentation
If you would like to use Helm instead, read on.
-
Download Helm, i.e.
arkade get helm
orbrew install helm
-
Add the chart repo
helm repo add inlets https://inlets.github.io/inlets-operator/
-
Create a namespace for the inlets-operator
kubectl create namespace inlets
-
Create a secret for the inlets license key:
kubectl create secret generic -n inlets \ inlets-license --from-file license=$HOME/.inlets/LICENSE
-
Create your access key secret, then apply one of the following configurations.
-
Create a secret with an API key generated by DigitalOcean
kubectl create secret generic -n inlets \ inlets-access-key \ --from-file inlets-access-key=$HOME/Downloads/do-access-token
Examples for each cloud are found in the reference documentation
helm repo update && \
helm upgrade inlets-operator --install inlets/inlets-operator \
--namespace inlets \
--set region=lon1
Create a custom values.yaml file with a custom image etc values-ae.yaml
pullPolicy: Always
image: ttl.sh/openfaas/inlets-operator:0.16.3-13-g9ff7184
Then run:
helm repo update && \
helm upgrade inlets-operator --install ./chart/inlets-operator \
--namespace inlets \
--set region=lon1 \
-f ./chart/inlets-operator/values-ae.yaml
The following table lists the configurable parameters of the inlets-operator
chart and their default values,
and can be overwritten via the helm --set
flag.
Parameter | Description | Default value |
---|---|---|
annotatedOnly |
Only create tunnels for LoadBalancer with a operator.inlets.dev/manage=1 annotation |
false |
inletsClientImage |
Docker image for the inlets client | See values.yaml |
image |
Docker image for the inlets-operator | See values.yaml |
secretKeyFile |
If we are using a provider that requires a secret key as well as an access key, set to /var/secrets/inlets/secret/inlets-secret-key |
"" |
affinity |
Node affinity policy | {} |
nodeSelector |
Node labels for data pod assignment | {} |
tolerations |
Node tolerations | [] |
resources |
Operator resources requests & limits | {"requests":{"cpu": "100m", "memory": "128Mi"}} |
accessKeyFile |
Read the access key for your infrastructure provider from a file (recommended) | /var/secrets/inlets/inlets-access-key |
inletsRelease |
Release version of inlets for tunnel servers | See values.yaml |
subnetId |
The Subnet ID where the exit-server should be placed (EC2) | "" |
vpcId |
The VPC ID to create the exit-server in (EC2) | "" |
plan |
The plan or size for your cloud instance | different defaults, depending of the infrastructure provider |
projectID |
The project ID if using gce or equinix-metal as the provider | "" |
region |
The region to provision hosts into | "" |
inletsProLicense |
The value received for the inlets-pro license | "" |
zone |
The zone where the exit node is to be provisioned (Used when Google Compute Engine is used as provider) | us-central1-a |
provider |
Your infrastructure provider - 'digitalocean', 'ec2', 'scaleway', 'equinix-metal', or 'gce' | "" |