From 3b933bdc90b2f09fa894f874b379617f7e46da69 Mon Sep 17 00:00:00 2001 From: Kfir Toledo Date: Wed, 24 Jul 2024 11:27:56 +0300 Subject: [PATCH] [FRP]: Create FRP task and demo (#674) * [FRP]: Create FRP task and demo Create a FRP task and demo for setting up ClusterLink behind a NAT or firewall. Signed-off-by: Kfir Toledo --- demos/frp/kind/test.py | 61 +++ demos/frp/test.py | 110 +++++ demos/frp/testdata/manifests/client/frpc.yaml | 27 ++ .../client/peer1/frpc-configmap.yaml | 33 ++ .../testdata/manifests/client/peer1/peer.yaml | 47 +++ .../client/peer2/frpc-configmap.yaml | 33 ++ .../testdata/manifests/client/peer2/peer.yaml | 45 +++ .../client/peer3/frpc-configmap.yaml | 33 ++ .../testdata/manifests/client/peer3/peer.yaml | 47 +++ demos/frp/testdata/manifests/frp-ns.yaml | 4 + .../manifests/server/frps-configmap.yaml | 8 + demos/frp/testdata/manifests/server/frps.yaml | 42 ++ .../tasks/private-networks/frp-system.png | Bin 0 -> 173516 bytes .../docs/main/tasks/private-networks/index.md | 378 ++++++++++++++++++ 14 files changed, 868 insertions(+) create mode 100755 demos/frp/kind/test.py create mode 100755 demos/frp/test.py create mode 100644 demos/frp/testdata/manifests/client/frpc.yaml create mode 100644 demos/frp/testdata/manifests/client/peer1/frpc-configmap.yaml create mode 100644 demos/frp/testdata/manifests/client/peer1/peer.yaml create mode 100644 demos/frp/testdata/manifests/client/peer2/frpc-configmap.yaml create mode 100644 demos/frp/testdata/manifests/client/peer2/peer.yaml create mode 100644 demos/frp/testdata/manifests/client/peer3/frpc-configmap.yaml create mode 100644 demos/frp/testdata/manifests/client/peer3/peer.yaml create mode 100644 demos/frp/testdata/manifests/frp-ns.yaml create mode 100644 demos/frp/testdata/manifests/server/frps-configmap.yaml create mode 100644 demos/frp/testdata/manifests/server/frps.yaml create mode 100644 website/content/en/docs/main/tasks/private-networks/frp-system.png create mode 100644 website/content/en/docs/main/tasks/private-networks/index.md diff --git a/demos/frp/kind/test.py b/demos/frp/kind/test.py new file mode 100755 index 00000000..8747fd50 --- /dev/null +++ b/demos/frp/kind/test.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +# Copyright (c) The ClusterLink Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +################################################################ +# Name: FRP demo that connect 3 Kind clusters using FRP: +# Desc: create 3 kind clusters : +# 1) GW, iPerf3 client, FRP client, and FRP server +# 2) GW, iPerf3 server, and FRP client +# 3) GW, iPerf3 client, and FRP client +############################################################### +import os +import sys +import time +projDir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname( os.path.abspath(__file__))))) +sys.path.insert(0,f'{projDir}') + +from demos.utils.common import printHeader +from demos.utils.kind import Cluster +from demos.iperf3.kind.iperf3_client_start import directTestIperf3,testIperf3Client +from demos.frp.test import frpTest + +testOutputFolder = f"{projDir}/bin/tests/frp" + +############################### MAIN ########################## +if __name__ == "__main__": + printHeader("\n\nStart Kind Test\n\n") + printHeader("Start pre-setting") + + # cl parameters + cl1= Cluster("peer1") + cl2= Cluster("peer2") + cl3= Cluster("peer3") + srcSvc = "iperf3-client" + destSvc = "iperf3-server" + destPort = 5000 + iperf3DirectPort = "30001" + + # Setup + frpTest(cl1, cl2, cl3, testOutputFolder) + #Testing + printHeader("\n\nStart Iperf3 testing") + cl2.useCluster() + cl2.setKindIp() + directTestIperf3(cl1, srcSvc, cl2.ip, iperf3DirectPort) + time.sleep(5) + testIperf3Client(cl1, srcSvc, destSvc, destPort) + testIperf3Client(cl3, srcSvc, destSvc, destPort) + + + diff --git a/demos/frp/test.py b/demos/frp/test.py new file mode 100755 index 00000000..2abdbdb6 --- /dev/null +++ b/demos/frp/test.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +# Copyright (c) The ClusterLink Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +################################################################ +# Name: FRP demo that connect 3 clusters using FRP: +# Desc: create 3 kind clusters : +# 1) GW, iPerf3 client, FRP client, and FRP server +# 2) GW, iPerf3 server, and FRP client +# 3) GW, iPerf3 client, and FRP client +############################################################### +import os +import sys +import time +import hashlib +projDir = os.path.dirname(os.path.dirname(os.path.dirname( os.path.abspath(__file__)))) + +sys.path.insert(0,f'{projDir}') + +from demos.utils.common import printHeader, runcmd +from demos.utils.kind import Cluster as KindCluster +from demos.utils.common import printHeader + +# Folders +folCl=f"{projDir}/demos/iperf3/testdata/manifests/iperf3-client" +folSv=f"{projDir}/demos/iperf3/testdata/manifests/iperf3-server" +folFrp=f"{projDir}/demos/frp/testdata/manifests/" + +# Services +srcSvc = "iperf3-client" +destSvc = "iperf3-server" +destPort = 5000 +namespace = "default" +frpNamespace= "frp" + +def frpTest(cl1:KindCluster, cl2:KindCluster,cl3:KindCluster, testOutputFolder): + print(f'Working directory {projDir}') + os.chdir(projDir) + + # Build docker environment + printHeader("Build docker image") + os.system("make docker-build") + os.system("make install") + + # Create Kind clusters environment + cl1.createCluster(runBg=True) + cl3.createCluster(runBg=True) + cl2.createCluster(runBg=False) + + # Start Kind clusters environment + cl1.create_fabric(testOutputFolder) + cl1.startCluster(testOutputFolder) + cl2.startCluster(testOutputFolder) + cl3.startCluster(testOutputFolder) + + # Create iPerf3 micro-services + cl1.loadService(srcSvc, "taoyou/iperf3-alpine",f"{folCl}/iperf3-client.yaml" ) + cl2.loadService(destSvc, "taoyou/iperf3-alpine",f"{folSv}/iperf3.yaml" ) + cl3.loadService(srcSvc, "taoyou/iperf3-alpine",f"{folCl}/iperf3-client.yaml" ) + os.environ['FRP_SERVER_IP'] = cl1.ip + os.environ['FRP_SECRET_KEY'] = hashlib.sha256(str(time.time_ns()).encode()).hexdigest()[:10] + # Use envsubst to replace the placeholder and apply the ConfigMap + cl1.useCluster() + runcmd(f"kubectl apply -f {folFrp}/frp-ns.yaml") + runcmd(f"kubectl apply -f {folFrp}/server/frps-configmap.yaml") + cl1.loadService("frps", "snowdreamtech/frps",f"{folFrp}/server/frps.yaml", frpNamespace) + + # Create peers + printHeader("Create peers") + cl1.useCluster() + runcmd(f"envsubst < {folFrp}/client/peer1/frpc-configmap.yaml| kubectl apply -f -") + cl1.loadService("frpc", "snowdreamtech/frpc",f"{folFrp}/client/frpc.yaml",frpNamespace ) + runcmd(f"kubectl apply -f {folFrp}/client/peer1/peer.yaml") + cl2.useCluster() + runcmd(f"kubectl apply -f {folFrp}/frp-ns.yaml") + runcmd(f"envsubst < {folFrp}/client/peer2/frpc-configmap.yaml| kubectl apply -f -") + cl2.loadService("frpc", "snowdreamtech/frpc",f"{folFrp}/client/frpc.yaml",frpNamespace ) + runcmd(f"kubectl apply -f {folFrp}/client/frpc.yaml") + runcmd(f"kubectl apply -f {folFrp}/client/peer2/peer.yaml") + cl3.useCluster() + runcmd(f"kubectl apply -f {folFrp}/frp-ns.yaml") + runcmd(f"envsubst < {folFrp}/client/peer3/frpc-configmap.yaml| kubectl apply -f -") + cl3.loadService("frpc", "snowdreamtech/frpc",f"{folFrp}/client/frpc.yaml" ,frpNamespace) + runcmd(f"kubectl apply -f {folFrp}/client/peer3/peer.yaml") + # Create exports + cl2.exports.create(destSvc, namespace, destPort) + + # Import destination service + printHeader(f"\n\nStart Importing {destSvc} service to {cl1.name}") + cl1.imports.create(destSvc,namespace,destPort,cl2.name,destSvc,namespace) + cl3.imports.create(destSvc,namespace,destPort,cl2.name,destSvc,namespace) + + # Add policy + printHeader("Applying policies") + cl1.policies.create(name="allow-all",namespace=namespace, action="allow", from_attribute=[{"workloadSelector": {}}],to_attribute=[{"workloadSelector": {}}]) + cl2.policies.create(name="allow-all",namespace=namespace, action="allow", from_attribute=[{"workloadSelector": {}}],to_attribute=[{"workloadSelector": {}}]) + cl3.policies.create(name="allow-all",namespace=namespace, action="allow", from_attribute=[{"workloadSelector": {}}],to_attribute=[{"workloadSelector": {}}]) + + + diff --git a/demos/frp/testdata/manifests/client/frpc.yaml b/demos/frp/testdata/manifests/client/frpc.yaml new file mode 100644 index 00000000..411f14f6 --- /dev/null +++ b/demos/frp/testdata/manifests/client/frpc.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frpc + namespace: frp +spec: + replicas: 1 + selector: + matchLabels: + app: frpc + template: + metadata: + labels: + app: frpc + spec: + # hostNetwork: true + containers: + - name: frpc + image: snowdreamtech/frpc + imagePullPolicy: IfNotPresent + volumeMounts: + - name: frpc-config-volume + mountPath: /etc/frp + volumes: + - name: frpc-config-volume + configMap: + name: frpc-config diff --git a/demos/frp/testdata/manifests/client/peer1/frpc-configmap.yaml b/demos/frp/testdata/manifests/client/peer1/frpc-configmap.yaml new file mode 100644 index 00000000..148770bc --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer1/frpc-configmap.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: frpc-config + namespace: frp +data: + frpc.toml: | + # Set server address + serverAddr = "${FRP_SERVER_IP}" + serverPort = 30444 + + [[proxies]] + name = "clusterlink-peer1" + type = "stcp" + localIP = "clusterlink.clusterlink-system.svc.cluster.local" + localPort = 443 + secretKey = "${FRP_SECRET_KEY}" + + [[visitors]] + name = "clusterlink-peer1-to-peer2-visitor" + type = "stcp" + serverName = "clusterlink-peer2" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6002 + + [[visitors]] + name = "clusterlink-peer1-to-peer3-visitor" + type = "stcp" + serverName = "clusterlink-peer3" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6003 diff --git a/demos/frp/testdata/manifests/client/peer1/peer.yaml b/demos/frp/testdata/manifests/client/peer1/peer.yaml new file mode 100644 index 00000000..4155fa13 --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer1/peer.yaml @@ -0,0 +1,47 @@ +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer2 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer2-clusterlink.frp.svc.cluster.local + port: 6002 + +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer2-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6002 + targetPort: 6002 +--- +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer3 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer3-clusterlink.frp.svc.cluster.local + port: 6003 + +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer3-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6003 + targetPort: 6003 diff --git a/demos/frp/testdata/manifests/client/peer2/frpc-configmap.yaml b/demos/frp/testdata/manifests/client/peer2/frpc-configmap.yaml new file mode 100644 index 00000000..1d4b76a2 --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer2/frpc-configmap.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: frpc-config + namespace: frp +data: + frpc.toml: | + # Set server address + serverAddr = "${FRP_SERVER_IP}" + serverPort = 30444 + + [[proxies]] + name = "clusterlink-peer2" + type = "stcp" + localIP = "clusterlink.clusterlink-system.svc.cluster.local" + localPort = 443 + secretKey = "${FRP_SECRET_KEY}" + + [[visitors]] + name = "clusterlink-peer2-to-peer1-visitor" + type = "stcp" + serverName = "clusterlink-peer1" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6001 + + [[visitors]] + name = "clusterlink-peer2-to-peer3-visitor" + type = "stcp" + serverName = "clusterlink-peer3" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6003 diff --git a/demos/frp/testdata/manifests/client/peer2/peer.yaml b/demos/frp/testdata/manifests/client/peer2/peer.yaml new file mode 100644 index 00000000..63423188 --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer2/peer.yaml @@ -0,0 +1,45 @@ +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer1 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer1-clusterlink.frp.svc.cluster.local + port: 6001 +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer1-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6001 + targetPort: 6001 +--- +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer3 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer3-clusterlink.frp.svc.cluster.local + port: 6003 +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer3-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6003 + targetPort: 6003 diff --git a/demos/frp/testdata/manifests/client/peer3/frpc-configmap.yaml b/demos/frp/testdata/manifests/client/peer3/frpc-configmap.yaml new file mode 100644 index 00000000..30df82fa --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer3/frpc-configmap.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: frpc-config + namespace: frp +data: + frpc.toml: | + # Set server address + serverAddr = "${FRP_SERVER_IP}" + serverPort = 30444 + + [[proxies]] + name = "clusterlink-peer3" + type = "stcp" + localIP = "clusterlink.clusterlink-system.svc.cluster.local" + localPort = 443 + secretKey = "${FRP_SECRET_KEY}" + + [[visitors]] + name = "clusterlink-peer3-to-peer1-visitor" + type = "stcp" + serverName = "clusterlink-peer1" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6001 + + [[visitors]] + name = "clusterlink-peer3-to-peer2-visitor" + type = "stcp" + serverName = "clusterlink-peer2" + secretKey = "${FRP_SECRET_KEY}" + bindAddr = "::" + bindPort = 6002 diff --git a/demos/frp/testdata/manifests/client/peer3/peer.yaml b/demos/frp/testdata/manifests/client/peer3/peer.yaml new file mode 100644 index 00000000..dbfa1ab3 --- /dev/null +++ b/demos/frp/testdata/manifests/client/peer3/peer.yaml @@ -0,0 +1,47 @@ +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer1 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer1-clusterlink.frp.svc.cluster.local + port: 6001 + +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer1-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6001 + targetPort: 6001 +--- +apiVersion: clusterlink.net/v1alpha1 +kind: Peer +metadata: + name: peer2 + namespace: clusterlink-system +spec: + gateways: + - host: frp-peer2-clusterlink.frp.svc.cluster.local + port: 6002 + +--- +apiVersion: v1 +kind: Service +metadata: + name: frp-peer2-clusterlink + namespace: frp +spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6002 + targetPort: 6002 diff --git a/demos/frp/testdata/manifests/frp-ns.yaml b/demos/frp/testdata/manifests/frp-ns.yaml new file mode 100644 index 00000000..cc8d4e72 --- /dev/null +++ b/demos/frp/testdata/manifests/frp-ns.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: frp diff --git a/demos/frp/testdata/manifests/server/frps-configmap.yaml b/demos/frp/testdata/manifests/server/frps-configmap.yaml new file mode 100644 index 00000000..b0917dad --- /dev/null +++ b/demos/frp/testdata/manifests/server/frps-configmap.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: frps-config + namespace: frp +data: + frps.toml: | + bindPort = 4443 diff --git a/demos/frp/testdata/manifests/server/frps.yaml b/demos/frp/testdata/manifests/server/frps.yaml new file mode 100644 index 00000000..bd8e84c6 --- /dev/null +++ b/demos/frp/testdata/manifests/server/frps.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frps + namespace: frp +spec: + replicas: 1 + selector: + matchLabels: + app: frps + template: + metadata: + labels: + app: frps + spec: + hostNetwork: true + containers: + - name: frps + image: snowdreamtech/frps + imagePullPolicy: IfNotPresent + volumeMounts: + - name: frps-config-volume + mountPath: /etc/frp/frps.toml + subPath: frps.toml + volumes: + - name: frps-config-volume + configMap: + name: frps-config +--- +apiVersion: v1 +kind: Service +metadata: + name: clusterlink-frps + namespace: frp +spec: + type: NodePort + selector: + app: frps + ports: + - port: 4443 + targetPort: 4443 + nodePort: 30444 diff --git a/website/content/en/docs/main/tasks/private-networks/frp-system.png b/website/content/en/docs/main/tasks/private-networks/frp-system.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2d892318834607a5b36c48db43bd9d9874d521 GIT binary patch literal 173516 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 a!ar)-i|hX33a<7R{u{S_NBwr+&;K7(mnEqH literal 0 HcmV?d00001 diff --git a/website/content/en/docs/main/tasks/private-networks/index.md b/website/content/en/docs/main/tasks/private-networks/index.md new file mode 100644 index 00000000..ed3ddfe7 --- /dev/null +++ b/website/content/en/docs/main/tasks/private-networks/index.md @@ -0,0 +1,378 @@ +--- +title: Private Networks +description: Running ClusterLink in a private network, behind a NAT or firewall. +--- + + +This task involves connecting ClusterLink behind a NAT or firewall. +To connect the ClusterLink gateway, each peer should have a public IP that will be reachable from other peers to enable cross-cluster communications. However, this is not always possible if clusters are behind corporate NAT or firewalls that allow outgoing connections only. In such scenarios, we will use the [Fast Reverse Proxy][] (FRP) open-source project to create reverse tunnels and connect all clusters behind a private network. With FRP, only one IP needs to be public to connect all the clusters in the fabric. + +To enable connectivity between the ClusterLink gateways, we need to set up one FRP server with a public IP and create an FRP client for each ClusterLink gateway that connects to the server. + +In this task, we will use the FRP Kubernetes image to create the FRP server and clients. We will create one FRP server and two FRP clients: one to create a reverse tunnel and provide access to the server cluster behind a NAT, and another to connect to the FRP server and provide access to the cluster behind the NAT. + +drawing +
+
+ +The FRP server can support multiple clusters behind a private network. However, it is also possible to establish multiple FRP servers, with one for each cluster. If a cluster gateway has a public IP, communication can occur without using FRP. +This task includes instructions on how to connect the peers using FRP. Instructions for creating full connectivity between applications to remote services can be found in the [Nginx tutorial][] and [iPerf3 tutorial][]. + +In this task, we will extend the peer connectivity instructions to use FRP. + +## Create FRP Server + +In this step, we will create the FRP server on the same cluster we use for ClusterLink (the `client cluster`), but it can be on any peer or Kubernetes cluster. + +1. Create a namespace for all FRP components: + + *Client cluster*: + + ```sh + echo " + apiVersion: v1 + kind: Namespace + metadata: + name: frp + " | kubectl apply -f - + ``` + + *Server cluster*: + + ```sh + echo " + apiVersion: v1 + kind: Namespace + metadata: + name: frp + " | kubectl apply -f - + ``` + +2. Create a configmap that contains the FRP server configuration: + + *Client cluster*: + + ```sh + echo " + apiVersion: v1 + kind: ConfigMap + metadata: + name: frps-config + namespace: frp + data: + frps.toml: | + bindPort = 4443 + " | kubectl apply -f - + ``` + + In this setup, we expose the FRP server pod on port `4443`. +3. Create FRP server deployment: + + *Client cluster*: + + ```sh + echo " + apiVersion: apps/v1 + kind: Deployment + metadata: + name: frps + namespace: frp + spec: + replicas: 1 + selector: + matchLabels: + app: frps + template: + metadata: + labels: + app: frps + spec: + hostNetwork: true + containers: + - name: frps + image: snowdreamtech/frps + volumeMounts: + - name: frps-config-volume + mountPath: /etc/frp/frps.toml + subPath: frps.toml + volumes: + - name: frps-config-volume + configMap: + name: frps-config + restartPolicy: Always + " | kubectl apply -f - + ``` + +4. Create an ingress service to expose the FRP server: + + *Client cluster*: +v + ```sh + echo " + apiVersion: v1 + kind: Service + metadata: + name: clusterlink-frps + namespace: frp + spec: + type: NodePort + selector: + app: frps + ports: + - port: 4443 + targetPort: 4443 + nodePort: 30444 + " | kubectl apply -f - + ``` + + In this case, we use a `NodePort` service, but it can be other types like `LoadBalancer`. + +## Create FRP Clients + +1. Set the `FRP_SERVER_IP` and `FRP_SECRET_KEY` variables for each cluster: + + *Client cluster*: + + ```sh + export FRP_SERVER_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' client-control-plane` + export FRP_SECRET_KEY=`echo $USER | sha256sum | head -c 10` + ``` + + *Server cluster*: + + ```sh + export FRP_SERVER_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' client-control-plane` + export FRP_SECRET_KEY=`echo $USER | sha256sum | head -c 10` + ``` + + The `FRP_SECRET_KEY` should be identical across all clusters. + +2. Deploy FRP client configuration on each cluster: + + *Client cluster*: + + ```sh + echo " + apiVersion: v1 + kind: ConfigMap + metadata: + name: frpc-config + namespace: frp + data: + frpc.toml: | + # Set server address + serverAddr = \""${FRP_SERVER_IP}"\" + serverPort = 30444 + + [[visitors]] + name = \"clusterlink-client-to-server-visitor\" + type = \"stcp\" + serverName = \"clusterlink-server\" + secretKey = \""${FRP_SECRET_KEY}"\" + bindAddr = \"::\" + bindPort = 6002 + " | kubectl apply -f - + ``` + + *Server cluster*: + + ```sh + echo " + apiVersion: v1 + kind: ConfigMap + metadata: + name: frpc-config + namespace: frp + data: + frpc.toml: | + # Set server address + serverAddr = \""${FRP_SERVER_IP}"\" + serverPort = 30444 + + [[proxies]] + name = \"clusterlink-server\" + type = \"stcp\" + localIP = \"clusterlink.clusterlink-system.svc.cluster.local\" + localPort = 443 + secretKey = \""${FRP_SECRET_KEY}"\" + + " | kubectl apply -f - + ``` + + For each configuration, we first set the FRP server's IP address and port number. + + In the server cluster, we create a `proxy` that connects to the local ClusterLink gateway and establishes a reverse tunnel to the FRP server, allowing other FRP clients to connect to it. + In the client cluster, we create an FRP `visitor` that specifies which other peers this client wants to connect to. (You need to create a visitor for each peer you want to connect to.) For more details about FRP configuration, you can refer to the [FRP configuration documentation][]. For an example of connecting multiple clusters behind a private network, see the [ClusterLink FRP example][]. + +3. Create a K8s service that connects to the FRP client `visitor`, allowing ClusterLink to connect to it: + + *Client cluster*: + + ```sh + echo ' + apiVersion: v1 + kind: Service + metadata: + name: server-peer-clusterlink + namespace: frp + spec: + type: ClusterIP + selector: + app: frpc + ports: + - port: 6002 + targetPort: 6002 + ' | kubectl apply -f - + ``` + +4. Create FRP client deployment for each cluster: + + *Client cluster*: + + ```sh + echo " + apiVersion: apps/v1 + kind: Deployment + metadata: + name: frpc + namespace: frp + spec: + replicas: 1 + selector: + matchLabels: + app: frpc + template: + metadata: + labels: + app: frpc + spec: + containers: + - name: frpc + image: snowdreamtech/frpc + volumeMounts: + - name: frpc-config-volume + mountPath: /etc/frp + volumes: + - name: frpc-config-volume + configMap: + name: frpc-config + restartPolicy: Always + " | kubectl apply -f - + ``` + + *Server cluster*: + + ```sh + echo " + apiVersion: apps/v1 + kind: Deployment + metadata: + name: frpc + namespace: frp + spec: + replicas: 1 + selector: + matchLabels: + app: frpc + template: + metadata: + labels: + app: frpc + spec: + containers: + - name: frpc + image: snowdreamtech/frpc + volumeMounts: + - name: frpc-config-volume + mountPath: /etc/frp + volumes: + - name: frpc-config-volume + configMap: + name: frpc-config + restartPolicy: Always + " | kubectl apply -f - + ``` + +## Create Peer CRD + +1. Create a Peer CRD that points to the server cluster. The Peer CRD should connect to a Kubernetes service that points to the `visitor` port in the frpc client. + + *Client cluster*: + + ```sh + echo " + apiVersion: clusterlink.net/v1alpha1 + kind: Peer + metadata: + name: server + namespace: clusterlink-system + spec: + gateways: + - host: server-peer-clusterlink.frp.svc.cluster.local + port: 6002 + " | kubectl apply -f - + ``` + + To verify that the connectivity between the peers is established correctly, + please check if the condition `PeerReachable` has been added to the peer CR status in each cluster. + + ```sh + kubectl describe peers.clusterlink.net -A + ``` + + {{% expand summary="Sample output" %}} + + ``` + Name: client + Namespace: clusterlink-system + Labels: + Annotations: + API Version: clusterlink.net/v1alpha1 + Kind: Peer + Metadata: + Creation Timestamp: 2024-05-28T12:47:33Z + Generation: 1 + Resource Version: 807 + UID: 1fdeafff-707a-43e2-bb3a-826f003a42ed + Spec: + Gateways: + Host: 172.18.0.4 + Port: 30443 + Status: + Conditions: + Last Transition Time: 2024-05-28T12:47:33Z + Message: + Reason: Heartbeat + Status: True + Type: PeerReachable + ``` + + {{% /expand %}} + +## Connect Application Services + +After creating the peer connectivity using FRP, continue to the next step of exporting services, importing services, and creating policies as described in the tutorials [Nginx tutorial][] and [iPerf3 tutorial][]. + +## Cleanup + +To remove all FRP components, delete the `frp` namespace: + +*Client cluster*: + +```sh +kubectl delete namespace frp +``` + +*Server cluster*: + +```sh +kubectl delete namespace frp +``` + +This part remove only the FRP components. To remove all ClusterLink components, please refer to the full instructions in the tutorials. + +[Nginx tutorial]: {{< relref "../../tutorials/nginx/_index.md" >}} +[iPerf3 tutorial]: {{< relref "../../tutorials/iperf/_index.md" >}} +[Fast Reverse Proxy]: https://github.com/fatedier/frp +[FRP configuration documentation]: https://github.com/fatedier/frp?tab=readme-ov-file#example-usage +[ClusterLink FRP example]: https://github.com/clusterlink-net/clusterlink/tree/main/demos/frp \ No newline at end of file