【01】Istio-1.17 部署

1.1 部署Istio控制平面

  • 部署方法
    • istioctl
      1. istio的专用管理工具,支持定制控制平面和数据平面
      2. 通过命令行的选项支持完整的IstioOperator API
      3. 命令行各选项可用于单独设置,以及接收包含IstioOperator自定义资源(CR)的yaml文件
    • Istio Operator
      1. Istio相关的自定义资源的专用控制器,负责自动维护由CR定义的资源对象
      2. 管理员根据需要定义相应的CR文件,提交至K8S的API Server后,可由Opweator完成相应的操作
    • helm
      1. 基于特定的Chart,亦可由Helm安装配置Istio
      2. 截至目前,该功能处于alpha阶段

1.2 Istio内置的部署profile

  • istio提供了内置配置文件(profille)用于快速部署

    • default: 默认的配置,适用于生产环境;
    • demo:会部署较多的组件,旨在演示istio的功能
    • minimal:类似于default profile,但仅部署控制平面组件;
    • remote:用于配置共享control plan的多集群环境;
    • empty: 不部署任何组件,通常帮助用户在自定义profile时生成基础配置信息;
    • perview: 包含预览性的profile,用于探索istio新功能,但不保证稳定性和安全性。
  • 配置档案

    • 各配置档案,事实上是IstioOperator API内置的CR格式的配置文件
  • 了解内置的配置档案

    • istioctl profile list
      
    • istioctl profile dump [PROFILE]
      
      # 例如,打印default档案的资源配置信息
      istioctl profile dump default
      
      # --config-path 选项可用于仅打印指定的配置段
      
    • istioctl profile diff PROFILE1 PROFILE2
      
  • 内置的各profile默认启用的组件会有所不同

    在这里插入图片描述

1.3 Istio Operator配置说明

  • IstioOperator API主要包括以下几个配置段

    • components:组件配置参数
    • hub:获取各组件镜像仓库,默认为"docker.io/istio"
    • meshConfig: 网格(数据平面)相关的配置参数
    • values:传递给各chart的值
  • IstioOperator API 中定义的组件

    • base
    • pilot
    • ingressGateway
    • egressGatewway
    • cni
    • istioRemote
  • 以上配置段中的各参数,均可在istioctl命令行中使用–set选项进行独立设置;例如,部署default配置档案启用debbug日志功能,使用如下命令:

    istioctl install --set-profile=default --set values.global.logging.level=debug
    

2.2.4 使用istioctl 快速部署Istio 1.17

  • 前提:准备好kubernetes集群

  • 下载程序

    参考官网:https://istio.io/latest/docs/setup/getting-started/

    • 下载istioctl及相关的安装文件和示例文件

      # cd /usr/local
      # curl -L https://istio.io/downloadIstio | sh -
      # ln -sv istio-1.17.1 istio
      
    • istio安装目录结构介绍

      bin/   #二进制程序文件
      manifests/profiles/   #内置的配置档案
      samples/addons/      # 部署各扩展组件的示例清单
      samples/bbookinfo/   #示例微服务项目ookinfo
      tools/  
      
    • 将istioctl二进制文件放置在系统PATH环境变量

      cp bin/istioctl /usr/local/bin/
      
  • 部署Istio系统

    • 基于demo profile进行部署测试

      # istioctl install --set profile=demo -y
      
      ## 生成部署时使用的资源清单
      # istioctl manifest generate --set profile=demo > /tmp/demo-manifest.yaml
      
      ## istioctl 还支持使用--set选项定制要使用的功能特性,例如:
      # istioctl install --set meshConfig.enableTracing=true
      
    • 验证相关Pod和Service已经成功部署

      # kubectl get pods -n istio-system
      # kubectl get svc -n istio-system
      
    • 校验部署结果

      istioctl vverify-install -f $HOME/demo-manifest.yaml
      
  • 启用Sidercar自动注入功能

    • 在网格应用运行的kubernetes namespace上,为namespace添加标签,激活Sidercar自动注入

      kubectl label namespace default istio-injection=enabled
      
  • 按需部署Addons

    kubectl apply -f samples/addons/[MANIFEST_FILLE]
    

1.4 定制Istio部署环境

  • 定制配置

    • IstioOperator API中的个配置参数,均可在istioctl命令行中使用–set进行独立设置;例如

      1. 部署时,为default配置档案启用debug日志功能,可使用如下命令:

        istioctl install --set profile=default --set values.global.logging.level=debug
        
      2. 部署时,为default配置档案启用egressgateway组件

        istioctl install --set profile=default --set components.egressGateways.enabled=true
        
  • 定制kubernetes设置

    • IstioOperator API支持以一致性的方式定义每一个组件kubernetes设置,每个组件都有一个kubernetesResourceSpec
    • 它支持修改许多配置参数:包括Resources、Readiness probes、Replica count、HPA、PDB、Pod annotations、Service annotations、ImagePullPolicy、Node selector、Service、Toleration、Strategy、Env及Pod security context等.
      在这里插入图片描述

1.5 卸载Istio

  • 使用istioctl 命令卸载Istio

    istioctl experimental uninstall
    
  • 卸载方法

    • 卸载指定的控制平面

      1. 卸载指定文件中定义的控制平面

        istioctl x uninstall -f <FILE>
        
      2. 卸载指定的Revision

        istioctl x uninstall --revision <NAME>
        
      3. 基于安装时的选项生成配置信息后kubelet删除

        istioctl manifest generate <your original installation options> | kubectl delete -f -
        
    • 清除集群上部署的所有控制平面

      istioctl x uninstall --purge
      
  • 提示:控制平面的名称空间默认不会删除,如果确认不在需要,自行删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/139862.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux 安装 mini conda,linux下安装 Miniconda

下载地址 https://docs.conda.io/projects/miniconda/en/latest/index.html 安装conda mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/mini…

数据结构上机实验——图的实现(以无向邻接表为例)、图的深度优先搜索(DFS)、图的广度优先搜索(BFS)

文章目录 数据结构上机实验1.要求2.图的实现&#xff08;以无向邻接表为例&#xff09;2.1创建图2.1.1定义图的顶点、边及类定义2.1.2创建无向图和查找2.1.3插入边2.1.4打印函数 2.2图的深度优先搜索&#xff08;DFS&#xff09;2.3图的广度优先搜索&#xff08;BFS&#xff09…

C/C++ #define与编译器的预处理

文章目录 预处理#define新版本特性旧版本特性#define除了定义明示常量的其他用途 #define的组成#define本身&#xff1a;预处理指令宏替换列表或替换体宏展开 参考资料 预处理 在预处理之前&#xff0c;编译器必须对该程序进行一些翻译处理。首先&#xff0c;编译器 把源代码中…

WampServer下载安装并结合内网穿透实现本地服务的公网访问

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c;…

【Kettle实战】数据分批处理及参数化传递子作业任务

对于大表操作&#xff0c;本来离线数据需要分批处理&#xff0c;刚开始只会用具体日期去做&#xff0c;通过复制多分转换和作业来处理。当日期范围大了后&#xff0c;这是个苦力活儿&#xff0c;kettle里面有参数化传递功能&#xff0c;多动手实操&#xff0c;懂得灵活变通自然…

宝塔开心版hostcli的广告去除

首先感谢hostcli把宝塔7.6剥离了&#xff0c;直接安装我这里是缺少pyenv的包。 直接进入正题吧。 定位到页面左下方的广告位于 /www/server/panel/BTPanel/templates/default/layout.html “退出”按钮下方有条线开始去掉 去掉之前的忘了截图了&#xff0c;就这样吧&#xff…

力扣每日一道系列 --- LeetCode 160. 相交链表

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构探索 ✅LeetCode每日一道 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 LeetCode 160. 相交链表 思路&#xff1a; 首先计算两个链表的长度&#xff0c;然后判…

日本it培训班,如何选择靠谱的赴日IT培训班?

随着科技的发展&#xff0c;信息技术行业在全球范围内迅速发展&#xff0c;并呈现出蓬勃的发展态势&#xff0c;在日本&#xff0c;IT行业也成为一种极为热门的职业选择。日本专门学校在这个领域内培养了许多IT从业者&#xff0c;成为了众多IT公司的培养基地。如果你对IT产业感…

【前端异常】JavaScript错误处理:分析 Uncaught(in promise) error

这里写目录标题 一、Promise是什么二、什么是 Uncaught(in promise) error三、解决方案3.1 使用catch方法处理Promise的错误3.2 使用 async/await 处理Promise的错误3.3 全局异常处理 四、结论 在开发过程中&#xff0c;JavaScript的错误处理是一个老生常谈的话题。当应用程序发…

高效筛选的秘密武器:JVS智能BI的‘and’与‘or’逻辑

在这个信息爆炸的时代&#xff0c;数据被誉为新时代的黄金和石油&#xff0c;蕴含着无尽的价值和潜力。然而&#xff0c;随着数据的爆炸式增长&#xff0c;如何高效、准确地从海量数据中提取出真正有价值的信息&#xff0c;成为摆在我们面前的一大挑战。我们需要用数据筛选工具…

虚拟仪器软件结构VISA

1、什么是VISA VISA是虚拟仪器软件结构(Virtual Instrument Software Architectuere)的简称&#xff0c;是由VXI plug & play系统联盟所统一制定的I/O接口软件标准及其相关规范的总称。一般称这个I/O函数库为VISA库&#xff08;用于仪器编程的标准I/O函数库&#xff09;。…

链动2+1模式系统开发之区域代理深度解析

区域代理的保护机制&#xff1a;在链动商城系统里设定的代理有唯一性&#xff0c;每个省只有一个省代&#xff0c;每个市只有一个市代&#xff0c;每个区县只有一个区县代。这样也是保护每个代理的收益权益。 区域代理包含的权益类别&#xff1a;购物奖励折扣&#xff1b;区域实…

OpenAI DALL·E 3文生图模型技术揭秘(建议收藏)

欢迎来到魔法宝库&#xff0c;传递AIGC的前沿知识&#xff0c;做有格调的分享❗ 喜欢的话记得点个关注吧&#xff01; DALLE 3是OpenAI发布的一款文生成图AI系统&#xff0c;它无缝接入ChatGPT&#xff0c;通过接受文本提示作为输入&#xff0c;生成相应的图像作为输出。先来看…

字典管理怎么使用,vue3项目使用若依的的字典管理模块

若依框架数据字典的使用_若依数据字典_哈哈水水水水的博客-CSDN博客 【精选】关于数据字典的理解与设计_数据字典怎么设计-CSDN博客 若依的字典值如何使用&#xff08;超详细图文教程&#xff09;_若依字典管理_丿BAIKAL巛的博客-CSDN博客 Vue3组合式API&#xff1a;getCurr…

基于ssm的高校失物招领管理系统

基于ssm的高校失物招领管理系统 摘要 失物招领管理系统是一种利用现代信息技术&#xff0c;为高校提供高效、便捷的失物招领服务的平台。本系统基于SSM框架&#xff08;Spring SpringMVC MyBatis&#xff09;&#xff0c;充分利用了各框架的优势&#xff0c;实现了系统的稳定…

Docker 和 Kubernetes:技术相同和不同之处

Docker和Kubernetes是当今最流行的容器化技术解决方案。本文将探讨Docker和Kubernetes的技术相似之处和不同之处&#xff0c;以帮助读者更好地理解这两种技术。 Docker和Kubernetes&#xff1a;当今最流行的容器化技术解决方案 在当今的IT领域&#xff0c;Docker和Kubernetes无…

Python实现WOA智能鲸鱼优化算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

解密.devos病毒:如何守护你的数据免受.devos病毒威胁?

引言&#xff1a; 近来&#xff0c;网络安全威胁再次升级&#xff0c;其中一个备受关注的恶意软件就是.devos病毒。这种病毒通过加密你的数据文件&#xff0c;然后勒索赎金&#xff0c;给用户带来了巨大的威胁。本文将介绍如何应对被.devos病毒加密的数据文件&#xff0c;以及…

HashSet源码分析

HashSet内部实现很简单&#xff0c;只要看明白HashMap&#xff0c;就可以了 类图结构&#xff1a; public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, java.io.Serializable {static final long serialVersionUID -502474440…

Java图像编程之:Graphics2D

一、介绍 1、Java图像编程的核心类 BufferedImage&#xff1a;用于表示图像的类&#xff0c;可以进行像素级的操作。Image&#xff1a;表示图像的抽象类&#xff0c;是所有图像类的基类。ImageIcon&#xff1a;用于显示图像的类&#xff0c;可以将图像嵌入到Swing组件中。Ima…