cloudnative-pg / cloudnative-pg/plugin-barman-cloud

invalid spec initContainers startupProbe Forbidden with barman cloud plugin

未关闭
#449 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
191
派生
72
平均合并
2 天 21 小时
30 天内合并 PR
21

描述

Cluster pod does not start if I add barman cloud plugin with objectstore for WAL and backup purposes, I see invalid spec initContainers startupProbe Forbidden logs in operator logs attached below

cloudnative pg operator Version
1.26 (latest patch)

What version of Kubernetes are you using?
1.30

What is your Kubernetes environment?
Cloud: Azure AKS

How did you install the operator?
Helm

**objectstore yaml**
```
apiVersion: v1
kind: Secret
metadata:
name: testcnpg-azobjectstore-secret
type: Opaque
stringData:
AZURE_CONNECTION_STRING: "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxxx;EndpointSuffix=core.windows.net"
---
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
metadata:
name: testcnpg-azobjectstore
spec:
configuration:
destinationPath: "https://xxx.blob.core.windows.net/cnpg-backups/testcnpg"
azureCredentials:
connectionString:
name: testcnpg-azobjectstore-secret
key: AZURE_CONNECTION_STRING
wal:
compression: gzip
retentionPolicy: 30d
```

**Cluster resource**
```
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: testcnpg
spec:
instances: 1
imageName: ghcr.io/cloudnative-pg/postgresql:15.10
postgresql:
parameters:
shared_buffers: 256MB
log_statement: mod
log_connections: "off"
log_disconnections: "off"
bootstrap:
initdb:
database: testcnpg
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: testcnpg-azobjectstore
storage:
storageClass: managed-csi
size: 1Gi
```

**operator logs**
```
{"level":"info","ts":"2025-07-14T14:01:55.17739142Z","msg":"Creating new Pod to reattach a PVC","controller":"cluster","controllerGroup":"postgresql.cnpg.io","controllerKind":"Cluster","Cluster":{"name":"testcnpg","namespace":"infra"},"namespace":"infra","name":"testcnpg","reconcileID":"b55c5ff4-acc2-48c4-96c3-419ce6c1ed9d","pod":"testcnpg-1","pvc":"testcnpg-1"}

{"level":"error","ts":"2025-07-14T14:01:55.727993328Z","msg":"Reconciler error","controller":"cluster","controllerGroup":"postgresql.cnpg.io","controllerKind":"Cluster","Cluster":{"name":"testcnpg","namespace":"infra"},"namespace":"infra","name":"testcnpg","reconcileID":"b55c5ff4-acc2-48c4-96c3-419ce6c1ed9d","error":"unable to create Pod: Pod \"testcnpg-1\" is invalid: spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.20.4/pkg/internal/controller/controller.go:347\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.20.4/pkg/internal/controller/controller.go:294\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.20.4/pkg/internal/controller/controller.go:255"}
```

贡献指南

打开贡献指南

调研方向

在 Kubernetes 1.30 上复现所提供的 ObjectStore 和 Cluster 清单,并检查生成的 Pod 的 initContainers。从显示 initContainers[1].startupProbe 的 operator 错误开始;当 Pod 在没有 startupProbe 被禁止的验证错误的情况下被接受时,即可认为问题已解决。

由索引模型根据 Issue 内容生成。

评估

技术栈
azure, go, kubernetes, postgresql
领域
backend, cloud, databases
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。