简体   繁体   English

Kubernetes CRD终结者

[英]Kubernetes CRD Finalizer

Kubernetes Supports Finalizer in CR to prevent hard deletion. Kubernetes支持CR中的Finalizer以防止硬删除。 I had a hard time to find sample code though. 我很难找到示例代码。 Can someone please point to real code snippet? 有人可以指向真正的代码片段吗?

This sample repository show demo use of Finalizer and Initializer . 此示例存储库显示了FinalizerInitializer演示用法。 Finalizer are used here for garbage collection. 这里使用Finalizer进行垃圾收集。

Repostory: k8s-initializer-finalizer-practice Repostory: k8s-initializer-finalizer-practice

Here, I have created a custom controller for pods, just like Deployment. 在这里,我为pod创建了一个自定义控制器,就像部署一样。

  1. I have used Initializer to add busybox sidecar or finalizer to underlying pods. 我已经使用Initializerbusybox sidecar或finalizer添加到底层pod。 See here . 看到这里
  2. When a CustomDeployment crd is deleted, kubernetes set DeletionTimestamp but does not delete it if it has finalizer. 删除CustomDeployment crd时,kubernetes设置DeletionTimestamp但如果它有终结器则不删除它。 Then controller checks if it has finalizer. 然后控制器检查它是否有终结器。 If it has finalizer, it deletes its pod and remove the finalizer. 如果它有终结器,它会删除其pod并删除终结器。 Then the crd terminate. 然后crd终止。 See here . 看到这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM