Loading... # 序 其实使用K3S和traefik反向代理实现是比较麻烦的,至少比docker复杂。。。 因为之前我出了个[Linux 安装k3s和helm部署mosdns和pihole服务](https://www.truenasscale.com/2022/04/29/1031.html)的教程,大家对K3S有所了解,所以有粉丝想要把反向代理全部放在软路由上,避免SCALE关机的情况。 <div class='handsome_aplayer player-content' data-preload="auto" data-autoplay="false" data-listMaxHeight="340px" data-order="list"> <div class="handsomePlayer-tip-loading"><span></span> <span></span> <span></span> <span></span><span></span></div><div class="handsome_aplayer_music" data-id="1340200924" data-server="netease" data-type="song" data-auth="2d1dd4a44c005e15bd90b12645590534"></div> </div> <div class='handsome_aplayer player-content' data-preload="auto" data-autoplay="false" data-listMaxHeight="340px" data-order="list"> <div class="handsomePlayer-tip-loading"><span></span> <span></span> <span></span> <span></span><span></span></div><div class="handsome_aplayer_music" data-id="1425401131" data-server="netease" data-type="song" data-auth="8a2e3acfca920f16ae920d8c5bbbe1ba"></div> </div> # 安装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 ```  根据自己需求写标签,我这里就用`v2.6.6`最新版  ``` allowCrossNamespace: true ``` 这个设置为true,不然只能同一个命名空间反代  端口根据自己需求设置,记得把面板的端口暴露打开   tls设置为true ## 安装traefik 创建命名空间 ``` k3s kubectl create ns traefik ``` 安装 ``` helm install traefik traefik/traefik -f values.yaml -n traefik ```  访问`http://IP:9000/dashboard/#/`查看面板  # 设置反代 我们的目标是反代局域网,但其实并没有直接的方式,我看了社区的源代码,是创建了一个空的服务。所以我们直接用社区的 但是我们只能用它创建服务,因为社区的traefik是带中间件的,ingress我们需要根据后面的证书再创建 下载社区的文件 `https://github.com/truecharts/catalog.git` 下载之后把  这个上传到服务器,把`ix_values.yaml`重命名为`values.yaml`  ## 安装 我这里是反代的op,所以命名空间就叫openwrt ``` k3s kubectl create ns openwrt ``` ``` helm install openwrt /root/chart/external-service -n openwrt ``` 查看服务 ``` k3s kubectl get svc -n openwrt ```  这样就对了 接下来是证书,这个我以前写过教程 [kubernetes cert-manager免费签cloudflare证书](https://www.truenasscale.com/2021/08/21/919.html)   只需要把对应的名字改对应该就没问题了 最后修改:2022 年 05 月 23 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 2 如果觉得我的文章对你有用,请随意赞赏