我使用以下命令安装了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
Run Code Online (Sandbox Code Playgroud)
现在,如何完全卸载它,包括所有容器/入口/出口等(由istio-demo-auth.yaml安装的所有文件?
谢谢。
Rei*_*167 35
如果你使用过istioctl,这非常简单:
istioctl uninstall --purge
Run Code Online (Sandbox Code Playgroud)
istioctl --help当然,如果该命令列在...中会更容易。
编辑:删除x,它不再是实验性的。谢谢@k_o_!
参考: https: //istio.io/latest/docs/setup/install/istioctl/#uninstall-istio
根据他们在此处的文档,您可以将所有规范生成为yml文件,然后将其通过管道传输到简单的 kubectldelete操作
istioctl manifest generate <your original installation options> | kubectl delete -f -
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
istioctl manifest generate --set profile=default | kubectl delete -f -
Run Code Online (Sandbox Code Playgroud)
但是,这种方法的一个缺点是要记住您在安装 istio 时使用的所有选项,这可能很难记住,尤其是在您启用了特定组件的情况下。
如果你已经istio使用 helm's chart安装过,可以轻松卸载
首先,列出所有已安装的图表:
helm list -n istio-system
NAME NAMESPACE REVISION UPDATED STATUS
istiod istio-system 1 2020-03-07 15:01:56.141094 -0500 EST deployed
Run Code Online (Sandbox Code Playgroud)
然后使用以下语法删除/卸载图表:
helm delete -n istio-system --purge istio-system
helm delete -n istio-system --purge istio-init
...
Run Code Online (Sandbox Code Playgroud)
查看他们的网站以获取有关如何执行此操作的更多信息。
如果您已经istio使用istioctl或helm单独安装了namespace,您可以轻松地完全删除它,namespace这将反过来删除在其中创建的所有资源。
kubectl delete namespace istio-system
Run Code Online (Sandbox Code Playgroud)
只需运行kubectl delete您应用的文件。
kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml
Run Code Online (Sandbox Code Playgroud)
您也可以在文档中找到它。
如果您已按照说明安装它,则需要以相同的方式将其删除。
kubectl delete -f istio-$(VERSION)/install/kubernetes/helm/istio/templates/crds.yaml
kubectl delete -f istio-$(VERSION)/install/kubernetes/istio-demo-auth.yaml
Run Code Online (Sandbox Code Playgroud)
然后您将手动删除该文件夹istioctl,如果您移动到任何地方。
重要提示:删除命名空间非常容易清理,但您不能在所有情况下都这样做。在这种情况下,如果您只删除命名空间,您将保留所有权限和凭据不变。现在,假设您要更新 Istio,并且 Istio 团队在他们的 RBAC 规则中进行了一些安全更改,但没有更改对象的名称。您将部署新的 yaml 文件,它会抛出一个错误,指出对象(例如 clusterrolebinding)已经存在。如果您不注意该错误是什么,您最终可能会遇到更严重的错误(当没有错误但出现错误时)。
小智 6
清理 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 获取该版本。
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |