下载:

官网地址:

https://istio.io/latest/docs/setup/getting-started/

下载Istio:

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.12.0 TARGET_ARCH=x86_64 sh -

解压安装包:

tar -xf istio-1.12.0-linux-amd64.tar.gz

拷贝命令:

cp istio-1.12.0/bin /usr/bin

安装文档:

istio.io/latest/docs/setup/getting-started/#download


快速部署:

安装前检查环境:

istioctl verify-install

部署istio:

# 使用默认安装
istioctl install --set profile=demo -y

# 指定镜像仓库地址和版本
istioctl install --set profile=demo \
  --set hub=my-registry.com/istio \  # 替换镜像仓库
  --set tag=1.16.0 \                 # 替换镜像标签
  -y

# 仅指定仓库地址
istioctl install --set profile=demo --set hub=m.daocloud.io/docker.io/istio

通过 IstioOperator 配置文件:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  hub: my-registry.com/istio     # 全局镜像仓库
  tag: 1.16.0                    # 全局标签
  components:
    pilot:
      hub: my-registry.com/istio-pilot  # Pilot 组件独立仓库
      tag: 1.16.0-custom                # Pilot 组件独立标签
    proxy:
      image: my-registry.com/proxy:1.16.0  # 直接指定完整镜像地址

应用配置安装:

istioctl install -f operator.yaml --set profile=demo -y

安装后检查:

istioctl x precheck

部署addons:包括kiali、grafana、jaeger

cd istio-*/samples/addons

# 修改镜像地址
sed -i 's#docker.io/#m.daocloud.io/docker.io/#g' *.yaml
sed -i 's/jimmidyson\//m.daocloud.io\/docker.io\/jimmidyson\//g' *.yaml
sed -i 's#prom/prometheus#m.daocloud.io/docker.io/prom/prometheus#g' prometheus.yaml

# 配置kiali与grafana的连通
vim istio-1.20.0/samples/addons/kiali.yaml
    external_services:
      grafana:
        url: grafana.istio-system.cluster.svc.local:3000

# 部署
kubectl apply -f .

开启指定名称空间的数据平面:

~]# kubectl label namespace default istio-injection=enabled
namespace/default labeled
~]# kubectl get namespaces default --show-labels 
NAME      STATUS   AGE    LABELS
default   Active   202d   istio-injection=enabled,kubernetes.io/metadata.name=default


卸载Istio:

istioctl manifest generate --set profile=demo | kubectl delete -f -

卸载全部:可选的 --purge 参数将删除所有 Istio 资源,包括可能被其他 Istio 控制平面共享的、集群范围的资源。

istioctl x uninstall --purge

卸载参考:

istio.io/latest/zh/docs/setup/install/istioctl/#uninstall