Garbage Collection¶
- metadata.ownerReferences
k8s会使用ownerReferences来表示controller,pod之间owner与dependency的关系
比如deploy创建rs,rs创建pod#rs ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: echo uid: db619adf-6af8-4432-be5b-80433f37163d --- #pod ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: traefik-ingress-7d6bcd7dc7 uid: ce60e706-dfd9-4d40-9fb5-996e3f9f8cc3
-
删除方部
- cascading deletion
就是owner被删除,对应的dependency也同时删除
- Foreground
owner先被标记删除,状态为deletion in progress gc介入开始删除dependency 最后删除owner
- Background
owner直接被删除,dependency在后台删除
- Foreground
- orphaned
只删除owner,保留dependency
#默认cascading deletion kubectl delete replicaset my-repset #保留dependency kubectl delete replicaset my-repset --cascade=false
- cascading deletion