Docsify小试牛刀前置安装环境npm i docsify-cli -g安装docsify cli客户端初始化项目目录docsify init .这会在当前目录下创建工作目录默认有index.html : 整站是一个单页面静态页面README.md 默认的主页.nojekyll 防止GitHub Pages忽略以下划线开头的文件接下来docsify serve ./就启动并在localhost:3000部署了这个帮助文档站点文档内容来自README.md文件 默认绿色主题深得我心。2. Docsify羽翼丰满现在可以写更多的markdown文件eg: guide.md, 在单页面/#/guide访问; 子文件夹 ./docs/class1.md, 在单页面/docs#/class1访问一个更常见的组织方式是 侧边栏:编写_sidebar.md文件 指定md文件的组织和路由* [快速指南](/ 快速指南)* [文生图](text2image.md 文生图)* [文生视频](text2video.md 文生视频)* [虚拟人素材](assert.md 虚拟人素材)* [WorkBuddy接入文档](WorkBuddy.md WorkBuddy接入文档)在index.html加载_sidebar.md文件, 注意下面的loadSideBarbool值scriptwindow.$docsify {name: ,repo: ,loadSidebar: true,subMaxLevel: 2}/script3. Docsify固若金汤一般会使用systemd服务进程来部署Docsify具备进程管理和重试能力。sudo vim /etc/systemd/system/docsify.service[Unit]Descriptiondocsify ServiceAfternetwork.target[Service]TypesimpleUser你的用户名WorkingDirectory{help-docs的工作目录}ExecStart/usr/local/bin/docsify serve ./RestartalwaysRestartSec10[Install]WantedBymulti-user.targetsudo systemctl daemon-reloadsudo systemctl enable docsify # 设置开机自启sudo systemctl start docsify4. Docsify宿主服务接入k8s集群Token工厂项目是k8s部署已经配上了带ssl证书的域名本次希望将这个Docsify宿主机服务快速接入k8s集群 走主站的/docs 路径到帮助文档站同时利用k8s集群上配置好的证书走正规军路线。k8s如何接入宿主机服务将这个宿主机服务抽象为k8s服务但是需要走自定义endpoint模式。apiVersion: v1kind: Servicemetadata:name: external-docs-svc # 服务名可自定义namespace: tokenhubspec:ports:- port: 3000targetPort: 3000---apiVersion: v1kind: Endpointsmetadata:name: external-docs-svc # 必须与 Service 同名namespace: tokenhubsubsets:- addresses:- ip: 10.8.65.1 # 外部进程的 IPports:- port: 3000配置ingress规则主站走/docs 路径到帮助文档站ingress path 路径匹配默认不rewrite path为了让帮助文档站所有请求都进入特定的服务。思路也很清晰主站域名 /docs路径请求到帮助文档站后端服务需要关注/docs前缀主站域名 /请求 到主站服务apiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: tokenhub-ingressnamespace: tokenhubannotations:nginx.ingress.kubernetes.io/ssl-redirect: truenginx.ingress.kubernetes.io/hsts: truenginx.ingress.kubernetes.io/hsts-max-age: 31536000# 如果后端期望不带 /docs 前缀可取消下面注释# nginx.ingress.kubernetes.io/rewrite-target: /$2spec:ingressClassName: nginxtls:- hosts:- tokengine.hanyoai.comsecretName: tokenhub-tlsrules:- host: tokengine.hanyoai.comhttp:paths:- path: /docspathType: Prefixbackend:service:name: external-docs-svc # 指向上一步创建的 Serviceport:number: 3000- path: /pathType: Prefixbackend:service:name: new-apiport:number: 3000同时我们必须让帮助文档站发出的请求都 带上/docs前缀那么需要将上面docsify 工作目录下所有的md文件移动到一个docs目录下index.html 位置不变。这样主站/docs路径命中docsify 首页 首页附带的其他资源因为在docs目录下发起请求时自然也有/docs前缀于是由自然而然根据ingress /docs前缀进入后端服务 完美闭环。