frp-operator
Expose your service in Kubernetes to the Internet with open source FRP!


Document
- RFC: Fast Reverse Proxy Operator
Installing
To install the chart with the release name my-release
:
helm repo add frp-operator https://zufardhiyaulhaq.com/frp-operator/charts/releases/
helm install my-frp-operator frp-operator/frp-operator --values values.yaml
Prerequisite
To expose your private Kubernetes service into public network. You need public machine running FRP Server that act as a proxy. Currently the operator doesn't have capability to spine a new machine on cloud providers, but this can be setup in a minute.
- Create machine on cloud provider
- Download
frps
binary
- Create server configuration
vi frps.ini
[common]
bind_address = 0.0.0.0
bind_port = 7000
token = yourtoken
- Run FRP server
frps -c ./frps.ini
You can reuse our build-in ansible playbook to setup the FRP server on your machine, please check https://github.com/zufardhiyaulhaq/frp-operator/tree/main/ansible/server
Usage
- Apply some example
kubectl apply -f examples/deployment/
kubectl apply -f examples/client/
- Check frpc object
kubectl get client
NAME AGE
client-01 17m
kubectl get upstream
NAME AGE
nginx 17m
- access the URL
http://178.128.100.87:8080/
Values
Key |
Type |
Default |
Description |
operator.image |
string |
"zufardhiyaulhaq/frp-operator" |
|
operator.replica |
int |
1 |
|
operator.tag |
string |
"v0.3.1" |
|
resources.limits.cpu |
string |
"200m" |
|
resources.limits.memory |
string |
"100Mi" |
|
resources.requests.cpu |
string |
"100m" |
|
resources.requests.memory |
string |
"20Mi" |
|
see example files here