创建无状态应用
使用镜像创建一个可公网访问的应用
- 登录容器服务管理控制台
- 在控制台左侧导航栏单击集群
- 选择工作负载——无状态
- 右上角点击使用镜像创建


选择镜像

- 默认在阿里的镜像市场选择镜像,可以做资源的限制
- 容器启动项分为stdin和tty,默认选择tty
- 特权容器选择开启或不开启
高级配置

- 选择暴露Pod的方式ClusterIP或者Ingress
- 伸缩配置区域可以选择开启定时伸缩或指标伸缩
- 调度配置可以设置调度策略和方法,全自动调度和定向调度,亲和性与非亲和性,污点与容忍
- 标签注释
(创建Ingress前提是必须开启Ingress服务)

创建有状态应用
-
无状态服务:就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储跟请求相关的任何数据,不包括数据库存储信息)
-
有状态服务:容器数据持久化保持,有状态服务可以说是需要数据存储功能的服务、或者指多线程类型的服务,队列等。(mysql数据库、kafka、zookeeper等)

-
Deployment创建的Pod是无状态的,当挂在Volume之后,如果该Pod挂了,Replication Controller会再启动Pod一个来保证可用性,但是由于是无状态的,Pod挂了的时候与之前的 Volume的关系就已经断开了,新起来的Pod无法找到之前的Pod。但是对于用户而言,他们对底层 的Pod挂了没有感知,但是当Pod挂了之后就无法再使用之前挂载的磁盘了。
-
而对于有状态的应用部署则需要通过StatefulSet创建部署。
StatefulSet 应用集特点
- 稳定且需要唯一的网络标识符
- 稳定且持久的存储
- 有状态应用集的特点
- 要求有序,平滑的部署和扩展;公
- 要求有序,平滑的终止和删除;
- 有序的滚动更新。
StatefulSet 可能会创建三种类型的资源:
- Controller Revision,通过这个资源,,StatefulSet 可以很方便地管理不同版本的 template 模板.
- PVC,StatefulSet 会在创建 Pod之前,先根据这个模板创建PVC,并把PVC加到Pod volume中
- Pod, StatefulSet 按照顺序创建、删除、更新 Pod,每个Pod有唯一的序号。
创建步骤



设置容器相关的配置:数据卷
- 支持增加本地存储和云存储声明(PVC)

高级配置

创建成功

验证服务的伸缩性
选择所需的Nginx应用,单击右侧伸缩
- 在弹出的对话框中,在容器组中设置为3,可以发现扩容的时候,扩容容器组的排序依次增加;反之进行缩容量时,先按pod次序从高到低进行缩容。这体现了StatefulSet中Pod的次序稳定性
- 单击左侧导航栏中的存储卷>存储声明,您可发现,随着应用扩容,会随着Pod创建新的云存储卷。缩容后,已创建的PV/PVC不会删除。