首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Airflow:无法使用KubernetesExecutor和PV获取持久日志(官方舵图)

Airflow:无法使用KubernetesExecutor和PV获取持久日志(官方舵图)
EN

Stack Overflow用户
提问于 2021-07-02 20:18:45
回答 1查看 296关注 0票数 0

我觉得自己有点像个笨蛋,但在使用KubernetesExecutor和新发布的官方Helm图表时,我似乎无法在持久卷上进行日志记录。

在手动创建简单的PVPVC后,我在values.yaml文件的底部更改了以下内容:

代码语言:javascript
复制
logs:
  persistence:
    # Enable persistent volume for storing logs
    enabled: true
    # Volume size for logs
    size: 100Gi
    # If using a custom storageClass, pass name here
    storageClassName:
    ## the name of an existing PVC to use
    existingClaim: airflow-logs

official Helm documentation中对此过程进行了部分描述。尽管如此,airflow-scheduler pod还是由于权限错误而崩溃,因为我无法在挂载的logs文件夹中写入:logs here

当永久日志记录被关闭时,除了任务日志记录之外,所有的都在工作,因为当worker-pod被删除时,这些任务日志记录将被删除。

任何对解决方案的帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-04 05:52:42

我认为使用标准的持久卷方法是最简单的(我仍然是一个k8s新手),我没有想到使用azure-file-storage-class (SC)设置一个卷会这么容易。这些挂载可以使用SC yaml文件中的777权限进行设置,不确定这是否是唯一的解决方法,因为我还在SC挂载选项中设置了uid/gid。不管怎么说,一切似乎都运行得很完美。

这里我的azure-file-sc.yaml供其他人参考:

代码语言:javascript
复制
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: airflow-logs
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=50000
  - gid=0
  - mfsymlinks
  - cache=strict
  - actimeo=30
parameters:
  skuName: Standard_LRS

我的azure-file-pvc.yaml:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: airflow-logs
  namespace: airflow
  labels:
    app: airflow-logs
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: airflow-logs
  resources:
    requests:
      storage: 20Gi

values.yaml保持不变。

这样,持久化日志就像Azure Kubernetes Service (AKS)中的护身符一样工作。

希望这对其他人有帮助!丹尼斯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68225077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档