blogues pour décembre 2025
This commit is contained in:
49
blog-sre/bug-okd-root-ceph/doc.md
Normal file
49
blog-sre/bug-okd-root-ceph/doc.md
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
## Message de will ds affilium
|
||||
https://discord.com/channels/874270880975450112/1291867776310579221/1441782992258207846
|
||||
|
||||
Bonjour,
|
||||
Hier, on a finalement réussi à régler l’erreur de création d’IPAddress qui tournait en boucle.
|
||||
Au final, c’était un bug connu avec OCP 4.20 et Ceph.
|
||||
L’info est ici :
|
||||
https://github.com/okd-project/okd/issues/2280
|
||||
|
||||
En gros, le problème était :
|
||||
-Après l’upgrade vers 4.20, le ipallocator-repair-controller créait des IPAddress dans le namespace `default`
|
||||
-Leur spec.parentRef pointait vers des Services dans le namespace `rook-ceph`
|
||||
- Les références cross-namespace ne sont pas permises, donc l’opérateur les supprimait immédiatement
|
||||
- Ce qui créait une boucle infinie
|
||||
- L’erreur alternait entre rook-ceph-mgr-dashboard et rook-ceph-mgr selon lequel était actif
|
||||
- Aucun Service Ceph n’existait dans `default`, mais des IPAddress y étaient quand même créés avec un ref vers `rook-ceph`
|
||||
|
||||
L’application des ressources ci-dessous a réglé le problème :
|
||||
```
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicy
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default
|
||||
spec:
|
||||
matchConditions:
|
||||
- name: is-default-ns
|
||||
expression: 'object.metadata.namespace == "default"'
|
||||
- name: parent-is-ceph
|
||||
expression: 'object.spec.parentRef.namespace == "rook-ceph" && (object.spec.parentRef.name == "rook-ceph-mgr" || object.spec.parentRef.name == "rook-ceph-mgr-dashboard")'
|
||||
validations:
|
||||
- expression: 'false'
|
||||
message: 'IPAddress for Ceph service must not be created in default; cross-namespace parentRef is invalid.'
|
||||
failurePolicy: Fail
|
||||
matchConstraints:
|
||||
resourceRules:
|
||||
- apiGroups: ["networking.k8s.io"]
|
||||
apiVersions: ["v1"]
|
||||
operations: ["CREATE"]
|
||||
resources: ["ipaddresses"]
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicyBinding
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default-binding
|
||||
spec:
|
||||
policyName: deny-ceph-ipaddress-in-default
|
||||
validationActions: ["Deny"]
|
||||
```
|
||||
Reference in New Issue
Block a user