注意:以下文档只适用于TOP接口,请谨慎使用!
聚石塔应用类型目前支持已下应用类型
聚石塔应用类型 |
对应K8S概念 |
无状态应用 |
Deployment |
有状态应用 |
StatefulSet |
守护进程集 |
DaemonSet |
定时任务 |
CronJob |
IngressController |
IngressController |
尽量选择无状态服务,比如日志,打印标准输出到持久化存储,通过SLS日志服务采集处理。数据库有状态服务不建议部署在容器平台,有状态会限制可扩展性、降低可用性并增加成本。
比如web,无状态服务存储的html和日志文件,这些数据,每个pod访问都是一致的,可以用无状态配合分布式存储nas,做数据持久化。
无状态应用是最常用的一种应用类型,它运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的,多个实例可以共享相同的持久化数据,可以轻松实现扩缩容。例如:nginx实例,tomcat实例等。
有状态服务可以说是需要数据存储功能的服务、或者指多线程类型的服务,队列等。(mysql数据库、kafka、zookeeper等)。每个实例都需要有自己独立的持久化存储。
YAML配置可参考:https://www.yuque.com/fczggw/wu7u0k/plgb9g
使用持久化存储可参考:https://www.yuque.com/fczggw/wu7u0k/nwvizh
?
DaemonSet确保全部(或某些)节点上运行一个Pod副本。当有节点加入集群时,也会为他们新增一个Pod。当有节点从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。
具体使用文档:
https://www.yuque.com/fczggw/wu7u0k/tehrgh
一个 CronJob 对象就像Linux系统中的 crontab (cron table) 文件中的一行。它用 Cron 格式进行编写,并周期性地在给定的调度时间执行 Job。
具体使用文档:
https://www.yuque.com/fczggw/wu7u0k/nsghcs
ingress将来自集群外部的HTTP和HTTPS路由暴露给集群内的服务(k8s Service),流量路由规则由ingress资源来定义。简单的来说,ingress能够将不同域名+ 路径(如 aaa.com/api)映射到集群内的k8s service上。
详细解释及使用文档:
https://www.yuque.com/fczggw/wu7u0k/il7qkm