在 Kubernetes 集羣中如何部署 frpc

本文假設:docker

  • 你已經成功部署 frps。 假設 frps 部署在 frps.example.com:7000
  • 你已經部署了可用的 Kubernetes 集羣
  • 你有一個叫 "demo-service" 的 Service

建立 frpc.ini

這裏 demo-service:8080 爲 k8s 集羣內部的 DNS 地址。api

[common]
server_addr = frps.example.com
server_port = 7000

[demo-service]
type = tcp
local_ip = demo-service
local_port = 8080
remote_port = 8080

建立 Secret

kubectl create secret generic frpc-config --from-file=./frpc.ini

部署 frpc 容器

apiVersion: apps/v1
kind: Deployment
metadata:
  name: frpc
  labels:
    app: frpc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: frpc
  template:
    metadata:
      labels:
        app: frpc
    spec:
      containers:
        - name: frpc
          image: dockerhub.azk8s.cn/snowdreamtech/frpc
          volumeMounts:
            - name: config
              mountPath: "/etc/frp"
              readOnly: true
      volumes:
        - name: config
          secret:
            secretName: frpc-config
  1. snowdreamtech/frpc 的默認配置文件路徑爲 /etc/frp/frpc.ini
  2. frpc.ini 以 k8s Secret 的形式儲存在集羣內。一是修改 Secret 比較方便。二是一般來講配置文件裏有 authentcation token 或者 OIDC 配置信息,以 Secret 形式保存更爲合適。
  3. dockerhub.azk8s.cn/snowdreamtech/frpcsnowdreamtech/frpc 的 Azure 鏡像地址。
相關文章
相關標籤/搜索