【01】Istio-1.17 部署

news/2024/7/4 8:00:01 标签: istio, 云原生

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
    

istioctl_Istio_117_77">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.niftyadmin.cn/n/5179823.html

相关文章

飞腾CPU命名

飞腾 CPU 飞腾CPU之前为FT-系列&#xff0c;现在为S/D/E系列&#xff1a;S是服务器高性能腾云系列&#xff0c;D是高效能桌面类腾锐系列&#xff0c;E是高端嵌入式腾珑系统。这里主要对服务器S系列CPU命名进行说明&#xff1a; 飞腾S系列目前有S2500、S5000、S5000C&#xff…

探索游戏公司跨部门合作的项目管理工具选择

为了实现出色的用户体验&#xff0c;游戏公司需要强大的研发能力和发行运营经验。通常情况下&#xff0c;游戏公司内部有多个独立工作的研发部门和发行部门&#xff0c;它们需要跨部门协作。随着公司快速发展和游戏项目增加&#xff0c;游戏公司迫切需要一套适用于特殊协作流程…

离散卡尔曼滤波器算法详解及重要参数(Q、R、P)的讨论

公开数据集中文版详细描述参考前文&#xff1a;https://editor.csdn.net/md/?not_checkout1&spm1011.2124.3001.6192神经元Spike信号分析参考前文&#xff1a;https://blog.csdn.net/qq_43811536/article/details/134359566?spm1001.2014.3001.5501神经元运动调制分析参考…

【Unity】LayoutGroup自动缩放子对象大小

需求&#xff1a; 如果LayoutGroup的子物体太多&#xff0c;超出layoutGroup的范围&#xff0c;则对子物体进行缩小。确保子物体都在LayoutGroup的范围内 代码&#xff1a; [ExecuteInEditMode] [RequireComponent(typeof(HorizontalOrVerticalLayoutGroup))] public class Lay…

美国站群服务器IP如何设置分配?

​  在配置美国站群服务器时&#xff0c;IP的分配是一个重要的步骤。下面将介绍一些关于美国站群服务器IP分配的相关知识。 独享IP和虚拟IP 在租用美国站群服务器之前&#xff0c;我们需要了解提供的IP是独享的还是虚拟的。独享IP指每个网站都有独立的IP地址&#xff0c;而虚…

修改el-transfer穿梭框右侧按钮颜色

假设有两个按钮都具有类名 .my-button&#xff0c;可以使用兄弟元素选择器&#xff08;&#xff09;进行修改样式 HTML <div class"my-button">按钮1</div> <div class"my-button">按钮2</div> CSS .my-button .my-button {backg…

固定式液压破碎工作臂系统柱塞液压泵站系统比例阀控制器

固定式液压破碎工作臂系统柱塞液压泵站系统比例阀控制器主要用于&#xff1a;矿山、矿井、采石场&#xff0c;砂石骨料场、冶金冶炼厂、铸造厂、水泥厂、钢包炉渣厂、电厂、港口和码头、辅助翻车机翻卸铁路敞车散料、建材、公路、铁路、水利和化学工业等众多液压控制部门。通过…

【概率论】Python:实现求联合分布函数 | 求边缘分布函数 | Joint distribution | Marginal distribution

猛戳订阅! 👉 《一起玩蛇》🐍 💭 写在前面:本章我们将通过 Python 手动实现联合分布函数和边缘分布函数,部署的测试代码放到文后了,运行所需环境 python version >= 3.6,numpy >= 1.15,nltk >= 3.4,tqdm >= 4.24.0,scikit-learn >= 0.22。 0x00 …