自定义软件源

dk8s.com

使用背景

  • 个人开发者

    • 类似docker-compose一样便写配置文件
    • 方便将该配置分享给你的朋友,你的朋友一键添加软件源,可以安装和你一样的配置
  • 企业开发者

    • 小公司如果有多台服务器,需要进行devops发布运维
    • 开发者在开发环境完成代码的便携和测试,并上传镜像编写好配置yaml
    • 运维者检查开发人员编写yaml无误,在预发布环境再次确认无误
    • 运维人员在线上环境逐渐灰度上量,先灰度小客户,最后灰度大客户

开发流程

  1. 部署一台Web服务器(需要公网可访问)。例如nginx
  2. 编写index.yaml,用来索引每个应用
  3. 编写每个应用的yaml
  4. 将yaml传到nginx服务器中
  5. 在 商店->应用源->填写软件源的 http(s)链接,点击添加

Yaml规则说明

应用索引 index.yaml

- name: '示例-名字'
  img: '/public/icon/unknown.png'
  type: 'file'
  info: '示例-介绍'
  detail: '这是一个示范'
  config: 'demo.yaml'
- name: '示例-名字2'
  img: '/public/icon/unknown.png'
  type: 'file'
  info: '示例-介绍'
  detail: '这是一个示范'
  config: 'demo.yaml'
  • 说明

    • name: 应用名称 (必填) 在应用商店里展示的应用名称
    • image: 图标地址 (必填) 在应用商店里展示的应用图标,尺寸(72x72)
    • type: 应用分类 (必填) 在应用商店的文件分类,可选的类型有
      • website: 网站
      • file: 文件
      • media: 影音
      • download: 下载
      • tool: 工具
    • info: 应用介绍介绍 (选填) 在应用商店里展示的介绍,你可以在这里简单介绍应用的用途
    • detail: 应用详情 (选填) 点击详情后展示的详细介绍,你可以在这里说明应用的详细使用方法,注意事项等
    • config: 配置地址 (选填) 应用配置yaml的文件路径
  • 效果

    dk8s.com

应用配置 demo.yaml

name: '示例'
image: hello-world
open: "7681"
hostNetwork: true
privileged: true
port:
  "80": "88"
cmd: "/hello"
env:
  "TEST": "1"
volume:
  "/data": "Applications/hello-word/"
config:
  '/etc/test.conf': |-
    # hello world
    test=1
  • 说明

    • name: 应用名称 (必填) 填写应用的名称
    • image: 镜像地址 (必填) 填写容器启动的镜像地址
    • open: 打开端口 (选填) 选择应用打开的web端口
    • hostNetwork: 主机网络 (选填)
      • 相当于–net host参数。
      • 不填或值为false时,容器以桥模式运行
      • 值为true,容器则会使用主机的网络,同时端口映射会失效。
    • privileged: 特权模式 (选填)
      • –privileged=true参数。
      • 将主机的root权限赋予容器,容器可以访问主机的所有设备。
    • port: 端口 (选填)
      • 参数1: 容器端口 容器对应的端口
      • 参数2: 主机端口 主机对应的端口
        • 如果是Web应用,请在 ‘打开端口’ 中选择打开的Web端口!
      • 将主机的某个端口映射到容器的某个端口。
      • 注:当选择主机网络时,该选项不生效!
    • cmd: 命令 (选填) 容器启动的命令。
    • env: 环境变量 (选填) 给容器设置环境变量
      • 相当于-e参数: 给容器设置环境变量。
      • 参数1: 环境变量的名程
      • 参数2: 环境变量的值
    • volume: 目录挂载 (选填)
      • 相当于-v参数: 将主机的某个端口挂载到容器的指定目录。
      • 参数1: 容器对应目录
      • 参数2: 宿主机绑定目录
        • 若是相对目录,可在’设置->存储->存储位置’中修改文件的主储存位置。
        • 若要挂载到指定的位置,请将此参数改为绝对目录!
    • config: 配置文件 (选填)
      • 将配置文件等参数挂载到容器的指定文件目录。
      • 参数1: 配置文件在容器中的位置
      • 参数2: 配置文件的内容
  • 效果

    dk8s.com

用法例子

  1. 点击 商店->软件源
  2. https://fixbits.top/public/demo/index.yaml 填入 新增源,点击加号
  3. 在商店中可以看到 示例-名字示例-名字2

快速开始

  1. 找一台有公网IP的服务器
  2. 点击 商店->找到软件源示例->安装
  3. 点击 我的->软件源示例->详情->设置->配置参数,对yaml文件进行修改
  4. 点击 运行->打开
  5. 请求你部署的服务,确保地址正确
  6. 点击 商店->软件源
  7. 将 你搭建的地址 填入 新增源,点击加号
  8. 在商店中可以看到你添加的地址

其他搭建方式

  • 对象存储 (非常推荐)
    • 将yaml上传到对象存储中
    • 复制yaml文件的地址
  • git仓库(例如github、gitee)
    • 将yaml上传到git仓库中
    • 复制yaml文件的地址

问题排查

  • 更新软件源后,商店未更新
  • 软件源未加载
    • 如果你的地址请求时间过久未响应,则会放弃请求。超时时间为5秒
    • 请求的内容过大,则会拒绝解析。最大文件大小为1M。超过会下载失败。
    • yaml格式不正确。请在IDE中调试,确保你的yaml格式正确无误
    • 请求地址错误
  • 单个软件无法显示
    • 必填项未填
    • 单行内容长度超过最大长度限制
    • 请求地址 有上述错误
  • xss防护
    • 为了保护客户信息安全,使用了xss防护库,html展示时会对展示内容进行转义
  • 如果上述指南无法解答你的问题,欢迎咨询客服

内容安全

  • 请确保已阅读并同意《DK8s用户协议和隐私政策》,不搭建传播违规违法应用
Copyright © 2023-2023  深圳市南山区殷悦软件中心  版权所有  粤ICP备2023068705号