完全从kubernetes集群卸载istio(所有组件)

问题描述 投票:1回答:4

我使用这些命令安装了istio:

VERSION = 1.0.5
GCP = gcloud
K8S = kubectl

@$(K8S) apply -f istio-$(VERSION)/install/kubernetes/helm/istio/templates/crds.yaml
@$(K8S) apply -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml
@$(K8S) get pods -n istio-system
@$(K8S) label namespace default istio-injection=enabled
@$(K8S) get svc istio-ingressgateway -n istio-system

现在,我如何完全卸载它,包括所有容器/入口/出口等(由istio-demo-auth.yaml安装的everthing?

谢谢。

kubernetes istio
4个回答
5
投票

只需为您应用的文件运行kubectl delete

kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml

你也可以在docs找到这个。


5
投票

只需删除ns

k delete ns istio-system

1
投票

清理Istio有点棘手,因为它添加了所有东西:CustomResourceDefinitions,ConfigMaps,MutatingWebhookConfigurations等。仅删除istio-system命名空间是不够的。最安全的选择是使用istio.io中的卸载说明来获取您以前安装的方法。

Kubectl:https://istio.io/docs/setup/kubernetes/install/kubernetes/#uninstall

赫尔姆:https://istio.io/docs/setup/kubernetes/install/helm/#uninstall

执行这些步骤时,请使用您尝试删除的Istio版本。因此,如果您尝试删除Istio 1.0.2,请从istio.io获取该版本。


0
投票

如果您按照描述安装了它,那么您将需要以相同的方式删除它。

kubectl delete -f istio-$(VERSION)/install/kubernetes/helm/istio/templates/crds.yaml
kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml

然后你会手动删除文件夹和istioctl,如果你移动到任何地方。

重要信息:删除命名空间非常适合清理,但不能在所有方案中执行此操作。在这种情况下,如果仅删除命名空间,则会保留所有权限和凭据。现在,假设您要更新Istio,并且Istio团队已在其RBAC规则中进行了一些安全性更改,但未更改对象的名称。您将部署新的yaml文件,它将抛出一个错误,指出该对象(例如clusterrolebinding)已经存在。如果你不注意那个错误是什么,你可以得到更糟糕的错误类型(当没有错误,但出现问题时)。

© www.soinside.com 2019 - 2024. All rights reserved.