Istio下载及安装

news/2024/9/22 7:06:27/

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/news/1528721.html

相关文章

JAVA:Nginx(轻量级的Web服务器、反向代理服务器)--(1)

一、Nginx:起因 nginx为什么为开发出来,起因是什么 总述:NGINX 的开发起因源于上世纪 90 年代末至 2000 年代初的互联网快速发展。当时,互联网流量急剧增长,特别是像 Apache 这样的传统 Web 服务器在高并发连接处理方面开始显现出瓶颈。 举例子:Apache 的 "每个连接…

游戏服务器知识

在多人在线游戏中&#xff0c;确保服务器对所有较为重要的游戏逻辑保持最高权限是至关重要的。这样可以防止作弊、保证游戏公平性以及维护一致的游戏体验。以下是实现这一目标的一些关键方法&#xff1a; 权威性服务器架构&#xff1a; 在这种模式下&#xff0c;服务器是唯一决…

Spring Mybatis 动态语句 总结

1.简介 Mybatis 提供动态语句的功能来增强多条件变动的查询语句。 2.代码 if和where搭配使用&#xff1a; <select id"query" resultType"a">select * from t_a<where><!-- where内没有条件满足&#xff0c;不转成where&#xff0c;有…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣965, 2331, 100, 1379

1. 力扣965&#xff1a;单值二叉树 1.1 题目&#xff1a; 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时&#xff0c;才返回 true&#xff1b;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;[1,1,1,1,1,n…

计算机毕业设计 健身房管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

好用的工具网址

代码类&#xff1a; 1,json解析&#xff1a;JSON在线解析及格式化验证 - JSON.cn 2.传参转化编码 在线url网址编码、解码器-BeJSON.com 日常&#xff1a; 1.莆田医院查询&#xff1a;滚蛋吧&#xff01;莆田系

C++类和对象(4)

1. 再探构造函数 之前我们实现构造函数时&#xff0c;初始化成员变量主要在构造函数体内赋值&#xff0c;构造函数初始化还有⼀种方 式&#xff0c;就是初始化列表&#xff0c;初始化列表的使用方式是以⼀个冒号开始&#xff0c;接着是⼀个以逗号分隔的数据成 员列表&#xf…

macOS 中搭建 Flutter 开发环境

如果你的 Mac 是 Apple silicon 处理器&#xff0c;那么有些 Flutter 组件就需要通过 Rosetta 2 来转换适配&#xff08;详情&#xff09;。要在 Apple silicon 处理器上运行所有 Flutter 组件&#xff0c;请运行以下指令来安装 Rosetta 2。 sudo softwareupdate --install-ro…