管理状态与有状态应用
1. 引言
在容器编排的早期,目标工作负载通常是无状态应用,它们在需要时使用外部系统来存储状态。随着时间推移,对有状态的基于容器的工作负载的需求成为现实。如今,Kubernetes不仅允许将存储卷挂载到Pod中,还能直接管理这些卷,这在编排需要存储的工作负载时是一个重要组成部分。
2. 卷和卷挂载
并非每个需要维护状态的工作负载都必须是复杂的数据库或高吞吐量的数据队列服务。许多迁移到容器化工作负载的应用期望特定目录存在,并能够读写相关信息。
- 挂载外部存储的方式 :主要容器运行时(如Docker、rkt、CRI - O和Singularity)都允许将卷挂载到映射到外部存储系统的容器中。外部存储可以是内存位置、容器主机上的路径或外部文件系统(如NFS、Glusterfs、CIFS或Ceph)。
- 示例代码 :以下是使用Kubernetes hostPath挂载的示例,用于读取主机日志和容器应用日志。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-webserver
spec:
replicas: 3
selector:
matchLabels:
app: nginx-webserver
template:
metadata:
labels:
app: nginx-webserver
spec:
containers:
超级会员免费看
订阅专栏 解锁全文

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



