其实使用K3S和traefik反向代理实现是比较麻烦的,至少比docker复杂。。。
因为之前我出了个Linux 安装k3s和helm部署mosdns和pihole服务的教程,大家对K3S有所了解,所以有粉丝想要把反向代理全部放在软路由上,避免SCALE关机的情况。

安装K3S和Helm

安装K3S

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s -  --disable traefik --disable traefik-crd --disable metrics-server

这里我禁用了traefik和指标服务,这两个用不到,如果要用traefik的话,也可以后面自己安装

安装Helm

Helm是一个k8s的包管理器,它可以非常方面的安装K8S应用,安了这个就可以一键部署我写好的应用了!

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

因为K3S的配置文件地址和K8S不一样,helm默认找不到,所以我们需要修改一下环境变量

nano /etc/profile

写入

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

然后按Ctrl + X 按Y保存退出

然后输入source /etc/profile生效

安装Traefik

安装helm traefik repo

helm repo add traefik https://helm.traefik.io/traefik

编辑values.yaml文件

可以到https://raw.githubusercontent.com/traefik/traefik-helm-chart/master/traefik/values.yaml下载默认的values.yaml

wget https://raw.githubusercontent.com/traefik/traefik-helm-chart/master/traefik/values.yaml

图片.png

根据自己需求写标签,我这里就用v2.6.6最新版

图片.png

allowCrossNamespace: true

这个设置为true,不然只能同一个命名空间反代

图片.png

端口根据自己需求设置,记得把面板的端口暴露打开

图片.png

图片.png

tls设置为true

安装traefik

创建命名空间

k3s kubectl create ns traefik

安装

helm install traefik traefik/traefik -f values.yaml -n traefik

图片.png

访问http://IP:9000/dashboard/#/查看面板

图片.png

设置反代

我们的目标是反代局域网,但其实并没有直接的方式,我看了社区的源代码,是创建了一个空的服务。所以我们直接用社区的

但是我们只能用它创建服务,因为社区的traefik是带中间件的,ingress我们需要根据后面的证书再创建

下载社区的文件

https://github.com/truecharts/catalog.git

下载之后把
图片.png
这个上传到服务器,把ix_values.yaml重命名为values.yaml

图片.png

安装

我这里是反代的op,所以命名空间就叫openwrt

k3s kubectl create ns openwrt
helm install openwrt /root/chart/external-service -n openwrt

查看服务

k3s kubectl get svc -n openwrt

图片.png

这样就对了

接下来是证书,这个我以前写过教程

kubernetes cert-manager免费签cloudflare证书

图片.png

图片.png

只需要把对应的名字改对应该就没问题了

最后修改:2022 年 05 月 23 日
感谢您的支持