使用 StatefulSet 部署有状态应用
1. 应用基础代码与镜像构建
首先,我们有一个简单的 Node.js 应用,其功能为处理 POST 和 GET 请求。当接收到 POST 请求时,它会将请求体中的数据写入 /var/data/kubia.txt 文件;接收到 GET 请求时,会返回主机名和文件中的存储数据。以下是应用的核心代码:
var www = http.createServer(handler);
www.listen(8080);
构建该应用容器镜像的 Dockerfile 如下:
FROM node:7
ADD app.js /app.js
ENTRYPOINT ["node", "app.js"]
你可以选择自己构建镜像,也可以使用已推送到 docker.io/luksa/kubia-pet 的镜像。
2. 通过 StatefulSet 部署应用
要通过 StatefulSet 部署应用,需要创建以下几种对象:
- PersistentVolumes :用于存储数据文件,仅在集群不支持 PersistentVolume 动态供应时需要手动创建。
- Governing Service :StatefulSet 所需的服务,必须为无头服务。
超级会员免费看
订阅专栏 解锁全文
2458

被折叠的 条评论
为什么被折叠?



