【01】Istio-1.17 部署

news2025/1/12 4:10:19

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
      
  • 提示:控制平面的名称空间默认不会删除,如果确认不在需要,自行删除。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哪些东西可以用超声波清洗机洗?这四款超声波清洗机可别错过

自从去眼镜店老板用超声波清洗机给我清洗过眼镜之后&#xff0c;我就发现&#xff0c;其实很多智能家居都可以帮我们大大解决一些清洁上面的问题&#xff0c;不仅方便还很高效&#xff01;这种一举两得的事情不得安排上&#xff01;现在市面上超声波清洗机可以清洗的东西是越来…

【OpenCV(4)】使用opencv编写mp4格式和avi格式

在之前的文章《【摄影与图像】444&#xff0c;422&#xff0c;420&#xff0c;10bit&#xff0c;8bit&#xff0c;RGB,YCrCb,场序&#xff0c;h264编码,封装&#xff0c;码率&#xff0c;PR常用配置》 说到了视频&#xff1a; 1、一个视频里面包含了什么&#xff1f; 图像音频…

通过百度翻译API完成Java中的中英文翻译

因为要做英文文献索引分词&#xff0c;所以对于索引词汇必须得是英文&#xff0c;将表中的中文都转换成英文 这里用到百度的翻译API 首先需要注册成为百度翻译开发者&#xff1a;百度翻译开放平台 注册成为个人开发者就可以&#xff0c; 这里可以完善相关信息&#xff0c;要记…

关于C++链接的一些理解

无论是.h还是.cpp&#xff0c;都可以写声明或者实体&#xff0c;而且.h和.cpp的前面的名字相同不相同没有任何的影响 最终一系列要连接的程序中&#xff0c;必须有且只有一个源文件有main函数&#xff0c;然后从这个main函数开始运行 include的作用其实是跟define一样的&#x…

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

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

app软件开发多少钱?功能会影响价格吗?

随着智能手机的普及&#xff0c;app开发市场日益繁荣&#xff0c;很多人都有开发app的梦想&#xff0c;但开发一款app需要多少钱呢?功能是否会影响价格?本文将为你揭开这个谜团。 一、app开发费用的影响因素 app开发费用受到多种因素的影响&#xff0c;例如开发难度、功能复…

垂直领域对话系统架构

垂直领域对话系统是指针对特定领域或行业的需求而构建的对话系统。这种系统通常需要具备高度的专业知识和对特定领域的知识库进行深入的学习和训练&#xff0c;以便能够提供准确、高效、实用的服务。 垂直领域对话系统的构建通常包括以下步骤&#xff1a; 确定目标领域或行业…

OpenCV:图像噪点消除与滤波算法

人工智能的学习之路非常漫长&#xff0c;不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心&#xff0c;我为大家整理了一份600多G的学习资源&#xff0c;基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

飞天使-template模版相关知识

遇到报错django.template.exceptions.TemplateSyntaxError: ‘staticfiles’ is not a registered tag library. Must ROOT_URLCONF TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)],APP_DIRS: True,OPTI…

css实现进度条

预期样式 方法一 <script setup> import { ref } from "vue"; // import ScreenLeft from "./ScreenLeft/index.vue"; const width ref("76.5%"); </script><template>Screen<div class"progress-contain">…

RT-DETR算法优化改进: 一种新颖的可扩张残差(DWR)注意力模块,加强不同尺度特征提取能力

💡💡💡本文全网首发独家改进:一种新颖的可扩张残差(DWR)注意力模块,加强不同尺度特征提取能力,创新十足,独家首发适合科研 1)代替RepC3进行使用; 2)DWR直接作为注意力进行使用; 推荐指数:五星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/…

Mysql-库的操作

1.创建数据库 CREATE DATABASE [IF NOT EXISTS] name name后可以加 CHARACTER SET 或者是 charsetname COLLATE collation_name &#xff08;mysql数据库不区分大小写&#xff09; 说明&#xff1a; name表示想创建的库的名字大写的表示关键字 [] 是可选项 CHARACTER SET…

linux openlab搭建web网站

网站需求&#xff1a; 1.基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c; 1、基于 www.openlab.com/student 网站访问学生信息&#xff0c; 2、基于 www.openlab…

Chrome版本对应Selenium版本

1.获得浏览器版本号和驱动 访问 https://vikyd.github.io/download-chromium-history-version/ 2. 安装selenium pip install selenium3.141.0 -i http://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn 3.解压chromedriver到python目录下 4.设…

通讯协议学习之路(实践部分):SPI开发实践

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 本文…

xinput1_3.dll丢失的详细解决步骤办法和比较,五种有效的解决办法

今天想和大家分享一个电脑中经常出现的问题——xinput1_3.dll丢失。这个文件丢失是一件常见的问题。不知道小伙伴们有没有遇到过这样的问题&#xff0c;如果你遇到这样的问题今天就教大家xinput1_3.dll丢失的详细解决步骤办法和比较&#xff0c;五种有效的解决办法。 一.xinput…

本地跑项目解决跨域问题

跨域问题&#xff1a; 指的是浏览器不能执行其他网站的脚本&#xff0c;它是由浏览器的同源策略造成的&#xff0c;是浏览器对 javascript 施加的安全限制。 同源策略&#xff1a; 是指协议&#xff08;protocol&#xff09;、域名&#xff08;host&#xff09;、端口号&…

开源7合一万能DIY小程序源码系统 一个后台整合7端 轻松搭建小程序 带完整搭建教程

随着移动互联网的快速发展&#xff0c;小程序已经成为了一个炙手可热的领域。但是&#xff0c;对于很多开发者来说&#xff0c;搭建一个小程序并不容易。为了解决这个问题&#xff0c;罗峰来给大家介绍一款开源的7合一万能DIY小程序源码系统&#xff0c;它可以将7个端整合到一个…

如何利用大模型蒸馏出小模型实现降本

如何让小模型的推理效果在某些领域比 ChatGPT 这样的大模型还要更强&#xff1f;这篇论文提供了一个思路&#xff1a;https://arxiv.org/abs/2212.10071&#xff0c;借助思维链&#xff08;CoT&#xff09;逐步解决复杂推理任务的能力&#xff0c;可以使用大模型作为推理教师&a…

虚拟专用网络

目录 数据安全三要素 加密技术 对称加密 非对称加密 VPN介绍 VPN类型 VPN隧道技术 案例使用 传输模式 隧道模式 IPsecVPN IPsecVPN两阶段 管理连接 命令 数据连接 命令 将IPsecVPN两阶段应用在外网端口 创建map映射表 将map表应用到外网端口 VPN连接查看命…