Stratégie de suppression du contrôleur Kubernetes

1. Général

Il existe 3 modes de suppression du contrôleur Kubernetes:
a. Au premier plan:
avant de supprimer le contrôleur, supprimez les objets ressources gérés par le contrôleur.
b) Arrière-plan: une
fois le contrôleur supprimé, les objets ressources gérés par le contrôleur sont supprimés par le GC en arrière-plan.
c. Orphelin:
supprimez uniquement le contrôleur, pas les objets de ressource gérés par le contrôleur.


2) Restez au format api (prenez le contrôleur de déploiement comme exemple):

a. Supprimez uniquement le contrôleur (correspondant à ReplicaSet et Pod non supprimés)

DELETE / apis / apps / v1 / namespaces / {namespace} / deployments / {name}
{ "Kind": "DeleteOptions", "apiVersion": "v1", "propagationPolicy": "Orphan" }



b. Suppression en cascade frontale (supprimer dans l'ordre Pod-> ReplicaSet-> Deployment)

DELETE / apis / apps / v1 / namespaces / {namespace} / deployments / {name}
{ "kind": "DeleteOptions", "apiVersion": "v1", "propagationPolicy": "Foreground" }



c. Suppression en cascade en arrière-plan (supprimer dans l'ordre Déploiement-> ReplicaSet-> Pod)

DELETE / apis / apps / v1 / namespaces / {namespace} / deployments / {name}
{ "kind": "DeleteOptions", "apiVersion": "v1", "propagationPolicy": "Background" }




3) Exemples:

a, exemple de mode orphelin

Le mode spécifié dans le corps de la demande de suppression est Orphan:
{ "Kind": "DeleteOptions", "apiVersion": "v1", "propagationPolicy": "Orphan" } Trouvé: l'objet pod géré par le contrôleur n'a pas été supprimé




Insérez la description de l'image ici

Insérez la description de l'image ici

b. Exemple de mode d'arrière-plan

Utilisez kubectl pour supprimer le contrôleur, vérifiez les détails de la commande spécifique et trouvez qu'il est en mode arrière-plan:
-bash-4.2 # kubectl delete ds nginx-ingress-controller -n ingress-nginx -v 10

I0730 11: 54: 08.751432 22493 loader.go: 359] Configuration chargée à partir du fichier: /root/.kube/config
I0730 11: 54: 08.752544 22493 cached_discovery.go: 114] retour des informations de découverte mises en cache depuis /root/.kube/cache /discovery/192.168.35.75_16443/servergroups.json
I0730 11: 54: 08.753276 22493 cached_discovery.go: 71] retour des informations de découverte mises en cache à partir de /root/.kube/cache/discovery/192.168.35.75_16443/authorization.k8s.io/ v1 / serverresources.json
I0730 11: 54: 08,753301 22493 cached_discovery.go: 71] retour d' information de découverte en cache de /root/.kube/cache/discovery/192.168.35.75_16443/metrics.k8s.io/v1beta1/serverresources.json
...
...
...
I0730 11: 54: 08,794908 22493 request.go: 947] Demande du corps: { « propagationPolicy »: « Arrière - plan »}
I0730 11: 54: 08.795008 22493 round_trippers.go: 419] curl -k -v -XDELETE -H "Accepter: application / json" -H "Content-Type: application / json" -H "User-Agent: kubectl / v1 .15.1 (linux / amd64) kubernetes / 4485c6f ”'https://192.168.35.75:16443/apis/extensions/v1beta1/namespaces/ingress-nginx/daemonsets/nginx-ingress-controller'
I0730 11: 54: 08.823891 22493 round_trippers .go: 438] SUPPRIMER https://192.168.35.75:16443/apis/extensions/v1beta1/namespaces/ingress-nginx/daemonsets/nginx-ingress-controller 200 OK en 28 millisecondes
I0730 11:54: 08.823918 22493 round_trippers.go : 444] En-têtes de réponse:
I0730 11: 54: 08.823931 22493 round_trippers.go: 447] Content-Type: application / json
I0730 11: 54: 08.823939 22493 round_trippers.go: 447] Content-Length: 201
I0730 11: 54: 08.823947 22493 round_trippers.go: 447] Date: mar, 30 juillet 2019 03:54:08 GMT
I0730 11: 54: 08.823983 22493 request.go: 947] Corps de la réponse: {"kind": "Status" , "ApiVersion": "v1", "metadata": {}, "status": "Success", "details": {"name": "nginx-ingress-controller", "group": "extensions", " kind ":" daemonsets "," uid ":" 2918e9da-70d9-4752-bdd2-a26c1dea607e "}}
daemonset.extensions" nginx-ingress-controller "supprimé

Je suppose que tu aimes

Origine blog.csdn.net/nangonghen/article/details/102255334
conseillé
Classement