通过 Helm 安装
本指南向您展示如何使用 Helm 安装 Ambient Mesh。 除了 Ambient Mesh 入门中的演示之外, 我们鼓励您依照本指南安装 Ambient Mesh。Helm 可以帮助您单独管理组件,您可以轻松地将组件升级到最新版本。
前提条件
执行任何必要的平台特定设置。
安装 Helm 客户端,版本要求 3.6 或更高。
配置 Helm 仓库:
$ helm repo add istio https://istio-release.storage.googleapis.com/charts $ helm repo update
有关 Helm 命令文档,请参阅 Helm 仓库。
安装组件
安装 base 组件
base
Chart 包含设置 Istio 所需的基本 CRD 和集群角色。
需要先安装此 Chart,才能安装任何其他 Istio 组件。
$ helm install istio-base istio/base -n istio-system --create-namespace
安装 CNI 组件
CNI Chart 会安装 Istio CNI 插件。它负责检测属于 Ambient Mesh 的 Pod, 并对稍后将安装的 ztunnel DaemonSet 之间的流量重定向进行配置。
$ helm install istio-cni istio/cni -n istio-system \
-f @manifests/charts/istio-cni/ambient-values.yaml@
安装 discovery 组件
istiod
Chart 会安装 Istiod 的修订版。Istiod 是控制平面组件,用于管理和配置代理,以在网格内进行流量路由。
$ helm install istiod istio/istiod --namespace istio-system \
-f @manifests/charts/istio-control/istio-discovery/ambient-values.yaml@
安装 ztunnel 组件
ztunnel
Chart 会安装 ztunnel DaemonSet,它是 Ambient 的节点代理组件。
$ helm install ztunnel istio/ztunnel -n istio-system
配置
要查看支持的配置选项和文档,请运行:
$ helm show values istio/istiod
验证安装
验证工作负载状态
安装所有组件后,您可以使用以下命令检查 Helm 部署状态:
$ helm list -n istio-system
您可以使用以下命令检查已部署的 Pod 状态:
$ kubectl get pods -n istio-system
使用示例应用程序进行验证
使用 Helm 安装 Ambient 后, 您可以按照部署示例应用程序指南部署示例应用程序和入口网关, 然后您可以将您的应用程序添加到 Ambient。
卸载
您可以通过卸载上面安装的 Chart 来卸载 Istio 及其组件。
列出安装在
istio-system
命名空间中的所有 Istio Chart:$ helm ls -n istio-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION istio-base istio-system 1 ... ... ... ... deployed base-1.0.0 1.0.0 istiod istio-system 1 ... ... ... ... deployed istiod-1.0.0 1.0.0
1.(可选)删除所有 Istio 网关 Chart 安装文件:
$ helm delete istio-ingress -n istio-ingress
$ kubectl delete namespace istio-ingress
删除 Istio CNI Chart:
$ helm delete istio-cni -n istio-system
删除 Istio ztunnel Chart:
$ helm delete ztunnel -n istio-system
删除 Istio discovery Chart:
$ helm delete istiod -n istio-system
删除 Istio base Chart:
$ helm delete istio-base -n istio-system
删除 Istio 安装的 CRD(可选)
$ kubectl get crd -oname | grep --color=never 'istio.io' | xargs kubectl delete
删除
istio-system
命名空间:$ kubectl delete namespace istio-system