向 K8s 服务添加 S3 日志注释时出错

向 K8s 服务添加 S3 日志注释时出错

我们在 AWS EKS 中运行 k8s 1.10。

我们正在尝试通过向服务 yaml 文件添加所需的注释,将负载均衡器日志放入 S3 存储桶中如这里所述

以下是我们服务 yaml 文件的片段。

metadata:
    annotations:
        service.beta.kubernetes.io/aws-load-balancer-access-log-enabled: true
        service.beta.kubernetes.io/aws-load-balancer-access-log-emit-interval: 60
        service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-name: [our-logs-bucket]
        service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-prefix: [a-prefix]

但是,每当我们应用更改时,都会出现以下错误:

error: services "[service name]" could not be patched: cannot convert int64 to string

我们尝试了几种方法,包括将“60”放在引号中,以及对日志发送间隔使用不同的值。但都没有成功。

有任何想法吗?

谢谢你!

答案1

我在最新版本的 kubernetes 上尝试了相同的配置,但无法重现您的错误。我猜您需要同时引用“true”和“60”,因为注释应该是字符串,而 YAML 可能会以不同的方式解析 true。您的配置本身对我来说很好用,老实说,感谢您提供的模板。希望您能正常工作。

相关内容