前言
上一篇讲了什么是Istio的理论篇,这次我们就来实际操作。
想看上一篇理论篇的看这里(看完绝对有所收获):
[Istio是什么?] 还不知道你就out了,一文40分钟快速理解_小叶的技术Logs的博客-CSDN博客
本文说明 请大家务必查看
本文有两个版本,详细版、简洁版。
前者适合新手,后者适合老手**(方便大家查找,从而过滤掉某些步骤,节约时间成本)** 所以大家按需查看哟。
详细版 | 简洁版 |
简洁版:包含所有步骤,以及命令的执行过程(适合新手)
简洁版:只包含命令(适合有一定熟练度的人)
环境准备
系统 | Vcpu | Memory | 集群 |
centos7 | 2 | 8 | kubernetes |
详细版
入门:搭建步骤
Istio软件包下载
安装最新软件包
$ curl -L https://istio.io/downloadIstio | sh - # 安装最新软件包
这一条命令如果下载不下来,可以直接访问下载地址:Istio下载
挑选对应的istio版本、下载对应的压缩文件,如图所示:
注意:Istio1.13.3版本,要求kubernetes最低集群版是1.19
解压软件包:
[root@master istio]# ll total 22704 -rw-r--r-- 1 root root 23245765 Apr 23 10:39 istio-1.12.3-linux-amd64.tar.gz [root@master istio]# tar -vzxf istio-1.12.3-linux-amd64.tar.gz istio-1.12.3/ istio-1.12.3/manifest.yaml istio-1.12.3/bin/ istio-1.12.3/bin/istioctl istio-1.12.3/manifests/ istio-1.12.3/manifests/examples/ istio-1.12.3/manifests/examples/customresource/ istio-1.12.3/manifests/examples/customresource/istio_v1alpha1_istiooperator_cr.yaml istio-1.12.3/manifests/examples/user-gateway/
安装目录包含:
- samples/ 目录下的示例应用程序
- bin/ 目录下的 istioctl 客户端二进制文件 .
配置环境变量:
[root@master istio]# cat /etc/profile export ISTIO_HOME=/root/istio/istio-1.12.3 export PATH=$PATH:$ISTIO_HOME/bin
[root@master istio]# istioctl version client version: 1.12.3 control plane version: 1.12.3 data plane version: 1.12.3 (10 proxies)
下载Istio
[root@master ~]# istioctl install --set profile=demo -y Detected that your cluster does not support third party JWT authentication. Falling back to less secure first party JWT. See https://istio.io/v1.12/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for details. ! values.global.jwtPolicy is deprecated; use Values.global.jwtPolicy=third-party-jwt. See http://istio.io/latest/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for more information instead WARNING: Istio control planes installed: 1.13.3. WARNING: An older installed version of Istio has been detected. Running this command will overwrite it. ✔ Istio core installed ✔ Istiod installed ✔ Egress gateways installed ✔ Ingress gateways installed ✔ Installation complete Making this installation the default for injection and validation. Thank you for installing Istio 1.12. Please take a few minutes to tell us about your install/upgrade experience! https://forms.gle/FegQbc9UvePd4Z9z7
自动注入 Envoy 边车代理
[root@master ~]# kubectl label namespace default istio-injection=enabled namespace/default labeled
卸载
完整卸载 Istio
[root@master istio]# istioctl x uninstall --purge All Istio resources will be pruned from the cluster Proceed? (y/N) y Removed IstioOperator:istio-system:installed-state. Removed PodDisruptionBudget:istio-system:istio-egressgateway. Removed PodDisruptionBudget:istio-system:istio-ingressgateway. Removed PodDisruptionBudget:istio-system:istiod. Removed Deployment:istio-system:istio-egressgateway. Removed Deployment:istio-system:istio-ingressgateway. Removed Deployment:istio-system:istiod. Removed Service:istio-system:istio-egressgateway. Removed Service:istio-system:istio-ingressgateway. Removed Service:istio-system:istiod. Removed ConfigMap:istio-system:istio. Removed ConfigMap:istio-system:istio-sidecar-injector. Removed Pod:istio-system:istio-egressgateway-6b69dfb9f8-x7zwb. Removed Pod:istio-system:istio-ingressgateway-7484f57fd6-hrjjt. Removed Pod:istio-system:istiod-7989b7749b-rmslt.
简洁版
安装
[root@master istio]# curl -L https://istio.io/downloadIstio | sh - [root@master istio]# tar -vzxf istio-1.12.3-linux-amd64.tar.gz [root@master istio]# cat /etc/profile export ISTIO_HOME=/root/istio/istio-1.12.3 export PATH=$PATH:$ISTIO_HOME/bin [root@master ~]# istioctl install --set profile=demo -y [root@master istio]# kubectl label namespace default istio-injection=enabled
卸载
[root@master istio]# istioctl x uninstall --purge