当前位置: 首页 > news >正文

Istio下载及安装

Istio 是一个开源的服务网格,用于连接、管理和保护微服务。以下是下载并安装 Istio 的步骤。
官网文档:https://istio.io/latest/zh/docs/setup/getting-started/

下载 Istio

前往Istio 发布页面下载适用于您的操作系统的安装文件,或者自动下载并提取最新版本(Linux 或 macOS):

curl -L https://mirror.ghproxy.com/https://raw.githubusercontent.com/istio/istio/master/release/downloadIstioCandidate.sh | sh -

执行上述命令后,您将看到如下输出::

Istio 1.22.1 Download Complete!Istio has been successfully downloaded into the istio-1.22.1 folder on your system.Next Steps:
See https://istio.io/latest/docs/setup/install/ to add Istio to your Kubernetes cluster.To configure the istioctl client tool for your workstation,
add the /opt/istio-1.22.1/bin directory to your environment path variable with:export PATH="$PATH:/opt/istio-1.22.1/bin"Begin the Istio pre-installation check by running:istioctl x precheck Need more information? Visit https://istio.io/latest/docs/setup/install/ 
root@slave1:/opt# 

通过打印版本的命令来检查您是否能够运行 istioctl。 此时,Istio 尚未安装在您的集群中,因此您将看到没有 Pod 就绪

 istioctl version

下载完成后,移至 Istio 包目录。例如,如果包是 istio-1.22.1,则运行以下命令:

cd istio-1.22.1

安装目录包含以下内容:

  • 示例应用程序samples/
  • istioctl客户端二进制 文件 bin/

将istioctl客户端添加到您的路径(Linux 或 macOS):

export PATH=$PWD/bin:$PATH

安装 Istio

对于此安装,我们使用默认 配置文件。当然,您也可以选择其他配置文件以适应生产或性能测试需求。

运行以下命令安装 Istio 默认配置档:

istioctl install

此命令在 Kubernetes 集群上安装 default 配置档。 default 配置档是建立生产环境的一个良好起点, 这和较大的 demo 配置档不同,后者常用于评估一组广泛的 Istio 特性。
可以配置各种设置来修改安装。比如,要启动访问日志:

istioctl install --set meshConfig.accessLogFile=/dev/stdout

也可以使用 -f 传递配置文件。 这么做可以让例子更紧凑。 这两种方法是等价的,但强烈推荐在生产环境使用 -f。 上面的命令可以用 -f 写成如下的形式

cat <<EOF > ./my-config.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:meshConfig:accessLogFile: /dev/stdout
EOF
istioctl install -f my-config.yaml

其他的 Istio 配置档,可以通过在命令行传递配置档名称的方式,安装到集群。 例如,下面命令可以用来安装 demo 配置档。

istioctl install --set profile=demo

您可以用下面命令展示 istioctl 可以访问到的 Istio 配置档的名称:

istioctl profile list

您可以浏览一个配置档的配置信息。例如,运行下面命令浏览 demo 配置档的设置信息:

istioctl profile dump demo

只浏览配置文件的某个部分的话,可以用 --config-path 参数,它将只选择配置文件中指定路径的局部内容:

istioctl profile dump --config-path components.pilot demo

profile diff 子命令可用于显示配置档之间的差异, 它在把更改应用到集群之前,检查定制效果方面非常有用。

istioctl profile diff default demo

在安装 Istio 之前,可以用 manifest generate 子命令生成清单文件。 例如,用下面命令生成 default 配置档的清单文件:

istioctl manifest generate > $HOME/generated-manifest.yaml

生成的清单文件可用于检查具体安装了什么,也可用于跟踪清单是如何随着时间而改变的。 虽然 IstioOperator CR 代表完整的用户配置,足以用于跟踪, 但 manifest generate 命令的输出还能截获底层 chart 潜在的改变,因此可以用于跟踪实际安装过的资源。
manifest generate 的输出还能传递给 kubectl apply 或类似的命令,用来安装 Istio。 然而,这些替代的安装方法不能像 istioctl install 那样,将相同的依赖顺序应用于资源, 并且也没有在 Istio 发行版中测试过,所以不建议kubectl apply来install 参考:https://istio.io/latest/zh/docs/setup/install/istioctl/
在这里插入图片描述

要从集群中完整卸载 Istio,运行下面命令:

istioctl uninstall --purge

为默认命名空间添加标签,以便在稍后部署应用程序时自动注入 Envoy sidecar 代理

kubectl label namespace dtb istio-injection=enabled

这样,以后所有部署在 dtb 命名空间下的应用都会自动注入 Envoy sidecar 代理。

部署应用程序

首先,确保您有一个包含适当配置的 dtb-deploy.yaml 文件。然后运行以下命令::

kubectl apply -f dtb-deploy.yaml

应用程序将启动。在每个 Pod 准备就绪后,Istio sidecar 将随之部署。您可以使用以下命令查看 Pod 的状态:

kubectl get pod -n dtb

示例输出:

NAME                                      READY   STATUS    RESTARTS   AGE
dtb-service-6cc7db9d94-bcs2z    2/2     Running   0          13s

等到 Pod 报告 READY2/2和 STATUS Running后再进行下一步。这可能需要几分钟,具体取决于您的平台。 READY 2/2 是因为每个 Pod 增加了一个 Istio sidecar 容器。

若要查看 Pod 的详细信息,请运行以下命令::

kubectl describe pod dtb-service-6cc7db9d94-bcs2z -n dtb

查看结果示例:

在这里插入图片描述

http://www.lryc.cn/news/442716.html

相关文章:

  • Redis基础数据结构之 Sorted Set 有序集合 源码解读
  • 蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性
  • 递归快速获取机构树型图
  • [Web安全 网络安全]-XSS跨站脚本攻击
  • 数据库数据恢复—SQL Server附加数据库出现“错误823”怎么恢复数据?
  • Vscode 中新手小白使用 Open With Live Server 的坑
  • 【深度学习 transformer】Transformer与ResNet50在自定义数据集图像分类中的效果比较
  • 【系统架构设计师】专业英语90题(附答案详解)
  • ItemXItemEffect | ItemEffect
  • web 动画库
  • 我的AI工具箱Tauri版-MicrosoftTTS文本转语音
  • 【Webpack--013】SourceMap源码映射设置
  • 创新驱动,技术引领:2025年广州见证汽车电子技术新高度
  • Spring Boot框架在心理教育辅导系统中的应用案例
  • Shiro-550—漏洞分析(CVE-2016-4437)
  • 【例题】lanqiao4425 咖啡馆订单系统
  • 从小白到大神:C语言预处理与编译环境的完美指南(下)
  • 3657A/B/AM/BM矢量网络分析仪
  • 卸载完mathtype后,删除word加载项中的mathtype
  • vue 实现tab菜单切换
  • 大数据Flink(一百二十):Flink SQL自定义函数(UDF)
  • 【图像检索】基于灰度共生矩的纹理图像检索,matlab实现
  • 【操作系统】02.深入理解操作系统
  • 【Python】探索 Errbot:多功能聊天机器人框架
  • Linux 调试器 GDB 使用指南
  • MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境
  • 【chromedriver编译-绕过selenium机器人检测】
  • 【JavaEE精炼宝库】HTTP | HTTPS 协议详解
  • Go语言基础学习01
  • 基于SSM+Vue+MySQL的酒店管理系统