frp is a common tool that used to set up HTTP or TCP tunnel between 2 networks. A usual use case is set up a tunnel between home server and public server so that you can access your internal service on the Internet.
This page assumes that: 1. Your frp server is openning at "frps.example.com" 2. You have a Kubernetes Service names "demo-service", you can access it via "demo-service:8080" inside the cluster
[common]server_addr = frps.example.comserver_port = 7000[demo-service]type = tcplocal_ip = demo-servicelocal_port = 8080remote_port = 8080
kubectl create secret generic frpc-config --from-file=./frpc.ini
apiVersion: apps/v1kind: Deploymentmetadata:name: frpclabels:app: frpcspec:replicas: 1selector:matchLabels:app: frpctemplate:metadata:labels:app: frpcspec:containers:- name: frpcimage: snowdreamtech/frpcvolumeMounts:- name: configmountPath: "/etc/frp"readOnly: truevolumes:- name: configsecret:secretName: frpc-config
snowdreamtech/frpc loads frpc configuration file in /etc/frp/frpc.ini
by default
We save frpc.ini as a secret becase generally we put authentication token in it