新建部署


在部署列表页面上点击“新建部署”可将镜像部署到服务内。

部署配置

在新建部署时,先添加部署名称,再根据不同配置类型进行设置。目前我们支持三种配置类型:默认类型、YAML、JSON。

默认类型

默认类型需要进行一下配置:

  1. 部署名称:该名称会作为内网域名的一部分,要求符合dns命名规范。
  2. 部署描述:部署的详情描述,默认为空,可不填。
  3. 部署类型:目前支持kubernetes的DeploymentDaemonSetReplication Controller三种类型的部署。
    • Deployment: 该类型部署的启动/停止/扩容/缩容/升级/回滚所有操作均有kubernetes维护;
    • Replication Controller: 该类型部署的启动/停止/扩容/缩容/升级/回滚所有操作均有DomeOS来维护;
    • DaemonSet: 该类型部署在选定的主机上启动且只启动一个实例,扩容缩容行为对应与主机的重新筛选。
  4. 实例个数:定义了部署启动时默认的实例数量。
  5. 集群:在已有集群中选择需要部署的集群。
  6. namespace:您需要选择一个已有的namespace或新建一个namespace(namespace的意义,详见集群管理的集群设置)
  7. 工作场景:生产或测试,该项在集群的主机配置中设置。
  8. 主机标签:(主机标签的意义,详见集群管理的主机设置)。 定义了以上条件后,您可以查看筛选出了哪些主机,系统会在您筛选出的主机上部署您的应用。
  9. 网络模式:您可以选择使用overlay或host网络模式部署。 注意:host模式下不能使用健康检查;更多host相关说明,详见“Host网络”部分。
  10. 访问模式: 在overlay网络下,可以选择“禁止访问”、“对内服务”。对内服务的部署,只能在集群内通过内网域名访问,并且支持粘性会话。 在host网络下,可以选择“禁止访问”和“允许访问”。如果允许访问,则需要指定暴露的端口数。 配置好之后,点击“下一步”进行容器配置。 DomeOS v0.6版以后,支持通过“复制已有部署”的方式,快速、方便的使用已有部署的配置来配置新的部署,并可在其基础上进行修改。
  11. 镜像配置: 您要选择需要部署的镜像。由于DomeOS集群采用Kubernetes架构,您可以在一次部署时选择多个镜像同时部署。每个镜像会启动一个容器,各个镜像的容器整体构成一个实例(Pod)。实例是升级回滚、扩容缩容等部署运维管理的最小单位。
    选好镜像后,您需要对每个镜像进行配置。选择镜像版本、是否开启自动部署、设定拉取策略、挂载存储、添加配置、添加启动命令与启动参数、添加环境变量、设定容器大小和健康检查、就绪性检查、添加日志。

    • 挂载存储:需要指定存储类型、挂载类型、存储挂载路径及该存储所挂载容器的具体位置。目前DomeOS支持的存储类型有主机目录实例内目录两种,挂载类型又只读和读写两种,路径需要指定到运行容器的绝对路径。

      • 主机目录(HostPath)需要指定运行主机上的绝对路径,这就需要保证该路径在部署实例运行的主机上存在并可用,该路径下所有文件的修改会同步到主机上的对应路径。
      • 实例内目录(EmptyDir)是为了一个实例内多种镜像公用存储路径时使用,该路径下所有存储文件与实例具有相同的生命周期,当实例销毁时所有文件也立即销毁。
    • 自动部署(请慎用!):开启后,当通过工程构建产生该镜像的新版本时,会自动触发升级。该功能应该只针对运行中状态的部署生效,其他状态的部署不受影响。若运行中部署同时存在多个版本,则不触发自动升级。拥有developer以上权限的人可以配置跟随升级,跟随升级不需要在项目中配置。

    • 日志:需要输入日志文件的所在路径,并选择是否自动收集和自动删除。

    日志收集采用kafka+flume形式,通过flume采集日志并上传到kafka里,要使用日志收集功能需要在集群下配置日志收集参数,日志收集功能只针对默认类型配置。 日志收集时我们会在启动pod中增加一个flume镜像,镜像内容可以参考: https://github.com/domeos/domeos-flume 可以根绝该开源flume镜像进行相应的定制化。 日志收集分为自动收集日志与自动删除日志:

    如上图所示,自动收集日志与删除日志都需要针对到具体的文件名 日志topic是需要提前在kafka种创建 flume的日志收集镜像是通过配置了tail -F $LOGFILE进行日志,可以在之后增加具体的预处理命令,该命令必须以 "|" 开头 删除日志是距上次文件修改时间起多少小时触发删除命令。

    完成所有配置后,点击“提交”。

YAML/JSON配置

yaml,json自定义配置,这里只支持PodSpec的自定义配置 对于部署的配置类型,一旦在创建时指定就不可以修改,升级回滚,扩容缩容操作只能针对一种部署的配置类型。 在选择完成yaml或者json的相应参数后,DomeOS会生成已有的kubernetes rc参数,这部分内容由于需要和部署相关,所以不能提供修改。 而PodSpec配置需要用户自己填写,需要注意的是,这里用户不需要输入配置开头的Spec,只用输入PodSpec的内容即可。同时,我们提供了基于yaml和json的配置样例,供用户参考,点击配置样例则生成对应的配置样例。

Yaml的配置样例如下:

containers:
- image: "pub.domeos.org/registry:2.3"
  name: "test-container"
  volumeMounts:
  - mountPath: "/test-hostpath"
    name: "test-volume"
volumes:
- hostPath:
    path: "/opt/scs"
  name: "test-volume"

Json的配置样例如下:

{
  "containers": [{
    "image": "pub.domeos.org/registry:2.3",
    "name": "test-container",
    "volumeMounts": [{
      "mountPath": "/test-hostpath",
      "name": "test-volume"
    }]
  }],
  "volumes": [{
    "hostPath": {
      "path": "/opt/scs"
    },
    "name": "test-volume"
  }]
}

YAML和JSON所需基础配置相同,包括了实例个数、集群、工作场景、namespace、访问设置。

配置好之后,点击下一步,对YAML/JSON进行配置。 您可以选择自己输入相应代码,或者点击“配置样例”,对样例进行修改。

完成所有配置后,点击“提交”

results matching ""

    No results matching ""