是否可以同时将硬盘挂载到gke实例和计算引擎。
我有一个10 gb的ubunut磁盘
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-demo
spec:
capacity:
storage: 10G
accessModes:
- ReadWriteOnce
claimRef:
name: pv-claim-demo
gcePersistentDisk:
pdName: pv-test1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim-demo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gdeploment.yaml
spec:
containers:
- image: wordpress
name: wordpress
ports:
- containerPort: 80
name: wordpress
volumeMounts:
- name: wordpress-persistent-storage
mountPath: /app/logs
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: pv-claim-demo其思想是将pod生成的日志文件挂载到磁盘上,并从计算引擎访问它。我无法使用NFS或主机路径来解决此问题。另一个挑战是多个pod将写入相同的pv。
发布于 2020-10-09 03:56:12
另一个挑战是多个pod将写入相同的PV。
是的,这不能很好地工作,除非您有一个类似于NFS的存储类。Google Kubernetes引擎中的默认storageClass仅在动态提供时支持access mode ReadWriteOnce -因此只有一个副本可以挂载它。
的想法是将pod生成的日志文件挂载到磁盘,并从计算引擎访问它。
使用Kubernetes时,这不是推荐的日志解决方案。Kubernetes上的应用程序应该遵循12 factor principles,对于这个问题,有一个关于logs的特定项目-应用程序应该登录到stdout。对于不遵循12要素原则的应用程序,可以通过sidecar that tails the log files解决这个问题,然后在stdout上打印它们。
打印到stdout的日志通常由平台转发到日志收集系统-作为服务。所以这不是应用程序开发人员需要负责的事情。
有关Google Kubernetes Engine中平台如何处理日志的信息,请参阅Google Cloud Operations suite for GKE
发布于 2020-10-09 03:12:49
你不能在持久化磁盘上写很多。如果您将磁盘设置为只读,则许多磁盘可以读取(但不能写入,这与您的用例不匹配)。
解决此问题的唯一解决方案是使用兼容NFS的存储。在谷歌云上,它是filestore service。它完全是为您的用例而设计的,并且您拥有tutorial for GKE
发布于 2020-10-09 03:41:05
最好使用Google Cloud's operations suite for GKE (以前称为StackDriver)。
有两个API可用于从GCE访问:
https://stackoverflow.com/questions/64256891
复制相似问题