Expose your service in Kubernetes to the Internet with open source FRP!
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
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
- 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/
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