我使用以下命令安装了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安装的东西?
谢谢。
发布于 2019-01-19 05:39:09
只需对您应用的文件运行kubectl delete即可。
kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml您也可以在docs中找到这一点。
发布于 2020-03-08 12:31:17
基于它们的documentation here,您可以将所有规范生成为yml文件,然后通过管道将其传递给简单的kubectl的delete操作
istioctl manifest generate <your original installation options> | kubectl delete -f -下面是一个例子:
istioctl manifest generate --set profile=default | kubectl delete -f -但是,这种方法的一个缺点是记住安装istio时使用过的所有选项,这可能很难记住,特别是在启用了特定组件的情况下。
如果您使用helm图表安装了istio,则可以很容易地将其卸载
首先,列出所有已安装的charts:
helm list -n istio-system
NAME NAMESPACE REVISION UPDATED STATUS
istiod istio-system 1 2020-03-07 15:01:56.141094 -0500 EST deployed 然后使用以下语法删除/卸载图表:
helm delete -n istio-system --purge istio-system
helm delete -n istio-system --purge istio-init
...有关如何执行此操作的更多信息,请查看他们的website。
如果您已经在单独namespace中使用istioctl或helm安装了istio,则可以很容易地完全删除该namespace,这又会删除在其中创建的所有资源。
kubectl delete namespace istio-system 发布于 2019-04-18 17:45:09
如果您已经按照说明安装了它,则需要以相同的方式将其删除。
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)已经存在。如果你不注意那个错误是什么,你可能会得到更糟糕的错误类型(当没有错误,但有些地方出了问题)。
https://stackoverflow.com/questions/54261468
复制相似问题