Istio下载及安装

server/2024/9/22 7:32:01/

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.ppmy.cn/server/120176.html

相关文章

【2020工业图像异常检测文献】SPADE

Sub-Image Anomaly Detection with Deep Pyramid Correspondences 1、Background 利用深度预训练特征的最近邻&#xff08; kNN &#xff09;方法在应用于整个图像时表现出非常强的异常检测性能。kNN 方法的一个局限性是缺乏描述图像中异常位置的分割图。 为了解决这一问题&a…

神经网络的公式推导与代码实现(论文复现)

神经网络的公式推导与代码实现&#xff08;论文复现&#xff09; 本文所涉及所有资源均在传知代码平台可获取 概述 本文将详细推导一个简单的神经网络模型的正向传播、反向传播、参数更新等过程&#xff0c;并将通过一个手写数字识别的例子&#xff0c;使用python手写和pytorch…

与转录组结合,开发下一代诊断技术,或许是医学AI领域的下一个热点|个人观点·24-09-21

小罗碎碎念 观点分享&#xff1a;科研本身是一件枯燥的事情&#xff0c;所以我们尽可能的去寻找一些同伴&#xff0c;也许前路的风景又会焕然一新。 今天所有的推文都围绕一个人展开——Faisal Mahmood。说实话&#xff0c;今天的状态并不好&#xff0c;写推文的感觉很不对&…

Java实现十大排序算法

若有不理解&#xff0c;可以问一下这几个免费的AI网站 https://ai-to.cn/chathttp://m6z.cn/6b1quhhttp://m6z.cn/6wVAQGhttp://m6z.cn/63vlPw 下面是 Java 实现的十大排序算法的示例代码。涵盖的排序算法包括&#xff1a;冒泡排序、选择排序、插入排序、归并排序、快速排序、…

GAMES101(作业4~5)

作业四 题目&#xff1a; 由 4 个控制点表示的 Bzier 曲线&#xff0c; bezier&#xff1a;该函数实现绘制 Bzier 曲线的功能。它使用一个控制点序列和一个 OpenCV&#xff1a;&#xff1a;Mat 对象作为输入&#xff0c;没有返回值。它会使 t 在 0 到 1 的范围内进 行迭代&a…

数据结构:二叉树

1.树的概念&#xff1a; 树是一种非线性数据结构&#xff0c;用于表示层次关系。树由节点组成&#xff0c;每个节点包含一个值和指向其子节点的指针。树的特点是每个节点只能有一个父节点&#xff0c;但可以有多个子节点。 树的基本术语&#xff1a; 节点&#xff08;Node&a…

前端JavaScript导出excel,并用excel分析数据,使用SheetJS导出excel

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f…

go 运行报错missing go.sum entry for module providing package

运行&#xff1a; #清理go.mod中不再需要的模块&#xff0c;并且会添加缺失的模块条目到go.sum中 go mod tidy