首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从kubernetes集群完全卸载istio (所有组件)

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

Stack Overflow用户
提问于 2019-01-19 05:09:05
回答 11查看 15.5K关注 0票数 11

我使用以下命令安装了istio:

代码语言:javascript
复制
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安装的东西?

谢谢。

EN

回答 11

Stack Overflow用户

发布于 2019-01-19 05:39:09

只需对您应用的文件运行kubectl delete即可。

代码语言:javascript
复制
kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml

您也可以在docs中找到这一点。

票数 9
EN

Stack Overflow用户

发布于 2020-03-08 12:31:17

基于它们的documentation here,您可以将所有规范生成为yml文件,然后通过管道将其传递给简单的kubectl的delete操作

代码语言:javascript
复制
istioctl manifest generate <your original installation options> | kubectl delete -f -

下面是一个例子:

代码语言:javascript
复制
istioctl manifest generate --set profile=default | kubectl delete -f -

但是,这种方法的一个缺点是记住安装istio时使用过的所有选项,这可能很难记住,特别是在启用了特定组件的情况下。

如果您使用helm图表安装了istio,则可以很容易地将其卸载

首先,列出所有已安装的charts:

代码语言:javascript
复制
helm list -n istio-system
NAME    NAMESPACE   REVISION    UPDATED                                 STATUS   
istiod  istio-system    1       2020-03-07 15:01:56.141094 -0500 EST    deployed   

然后使用以下语法删除/卸载图表:

代码语言:javascript
复制
helm delete -n istio-system --purge istio-system
helm delete -n istio-system --purge istio-init
...

有关如何执行此操作的更多信息,请查看他们的website

如果您已经在单独namespace中使用istioctlhelm安装了istio,则可以很容易地完全删除该namespace,这又会删除在其中创建的所有资源。

代码语言:javascript
复制
kubectl delete namespace istio-system 
票数 8
EN

Stack Overflow用户

发布于 2019-04-18 17:45:09

如果您已经按照说明安装了它,则需要以相同的方式将其删除。

代码语言:javascript
复制
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)已经存在。如果你不注意那个错误是什么,你可能会得到更糟糕的错误类型(当没有错误,但有些地方出了问题)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54261468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档