0%

Server

  • frps.toml
bindPort = 7000
  • docker 运行服务端
# localhub.deri.org.cn:8443/library/snowdreamtech/frps
docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps

Client

  • frpc.toml
[common]
server_addr = 1.1.1.1
server_port = 7000
token = xxxxxx
[[proxies]]
name="ssh"
type = tcp
local_ip = 2.2.2.2
local_port = 1000
remote_port = 1000
  • docker 运行客户端
# localhub.deri.org.cn:8443/library/snowdreamtech/frpc
docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc

portainer

一款简单流行的 docker ui 工具.

portainer安装

# 9443 TLS端口,也可暴露 9000 http端口。 8000是edge agent端口,可选。
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.5

agent安装

docker run -d   -p 9001:9001   --name portainer_agent   --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes  \
  -v /:/host   portainer/agent:2.21.5

安装helm仓库

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm repo update

安装 NFS Client Provisioner

helm install nfs-client nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
  --namespace nfs-storage  --create-namespace\
  --set nfs.server=<NFS_SERVER_IP> \
  --set nfs.path=<NFS_SHARED_PATH>

其他一些推荐配置:

--set image.repository=registry.cn-beijing.aliyuncs.com/kubesphereio/nfs-subdir-external-provisioner
--set image.tag=v4.0.2
--set storageClass.defaultClass=true
--set storageClass.name=nfs-client

验证安装

kubectl get storageclass

如果helm包下载不下来可以提前下载,然后从本地目录安装

helm install <release-name> /path/to/mychart-0.1.0.tgz
  • 安装未打包的 Chart 文件夹
helm install <release-name> /path/to/mychart/

例如 helm install nfs-client .

  • 使用 -f 指定自定义值文件:
helm install my-release ./mychart-0.1.0.tgz -f values.yaml

生成 .htpasswd 文件

htpasswd -c /etc/nginx/.htpasswd user

这里的参数解释:

  • -c:表示创建新的 .htpasswd 文件(如果文件已经存在,使用该选项会覆盖文件)。
  • /etc/nginx/.htpasswd:这是 .htpasswd 文件的存储位置,你可以根据需要修改这个路径。
  • user:你要创建的用户名。

执行命令后,它会提示你输入并确认密码。输入密码后,htpasswd 工具会自动将其加密并保存到 .htpasswd 文件中。

配置 Nginx 使用基本认证

server {
    listen 80;

    location / {
        auth_basic "Restricted Area";           # 提示消息
        auth_basic_user_file /etc/nginx/.htpasswd;  # 指定 .htpasswd 文件路径
    }
}

代码中使用认证

  1. 拼接用户名和密码
    首先,你需要将用户名和密码拼接成一个字符串,格式为 username:password。例如:
username:password
  1. 对 username:password 字符串进行 Base64 编码
echo -n "user:password123" | base64

输出将是类似以下的 Base64 编码:

dXNlcjpwYXNzd29yZDEyMw==
  1. 在 Authorization 头中使用
    生成的 Base64 编码字符串可以直接用于 HTTP 请求的 Authorization 头中,如下所示:
Authorization: Basic dXNlcjpwYXNzd29yZDEyMw==

使用命令行解码 Base64 编码: echo "dXNlcjpwYXNzd29yZDEyMw==" | base64 --decode

  1. 下载最新的otel-windows-amd64.exe,改名otel.exe放到$GOPATH/bin目录下

    $GOPATH/bin 需要加入到系统环境变量。

  2. 参考demo 使用otel工具编译出可执行文件.

OTEL_EXPORTER_OTLP_ENDPOINT="http://172.16.20.91:12394"  GOOS=linux GOARCH=amd64 otel go build

  1. 下载一个opentelemetry-javaagent.jar 挂载到容器目录下,如/root/trace

  2. 容器启动时添加环境变量

  • JAVA_TOOL_OPTIONS: -javaagent:/root/trace/opentelemetry-javaagent.jar
  • OTEL_EXPORTER_JAEGER_ENDPOINT: http://opentelemetry-collector.loki:14250
  • OTEL_SERVICE_NAME : 自定义服务名
  • OTEL_TRACES_EXPORTER : jaeger
  • OTEL_METRICS_EXPORTER : none