istio pod不启动及访问报RBAC错误问题解决

istio pod不启动问题解决

在kubernetes集群中安装istio之后,在创建的depoyment中已经使用了注入注解sidecar.istio.io/inject: 'true’配置,但是istio pod不创建,代码示例如下

kind: Deployment
apiVersion: apps/v1
metadata:
  name: name-a
  namespace: namespace-a
  labels:
    app: xxxx
    app.kubernetes.io/name: xxx
    app.kubernetes.io/version: v1
    version: v1
  annotations:
    deployment.kubernetes.io/revision: '5'
    servicemesh.kubesphere.io/enabled: 'true'
spec:
  replicas: 1
  selector:
    matchLabels:
      app: xxxx
      app.kubernetes.io/name: xxx
      app.kubernetes.io/version: v1
      version: v1
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: xxxx
        app.kubernetes.io/name: xxx
        app.kubernetes.io/version: v1
        version: v1
      annotations:
        cni.projectcalico.org/ipv4pools: '["default-ipv4-ippool"]'
        kubesphere.io/restartedAt: '2024-03-01T05:44:45.617Z'
        sidecar.istio.io/inject: 'true'
    spec:
      containers:
        - name: xxx-v1
          image: image-a:0.0.1
          ports:
            - name: http-8080
              containerPort: 8080
              protocol: TCP
          resources:
            limits:
              cpu: '2'
              memory: 4Gi
              nvidia.com/gpu: '0'
            requests:
              nvidia.com/gpu: '0'
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: Always
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      imagePullSecrets:
        - name: harbor-secret
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

经排查对命名空间namespace-a需要设置注解属性为enabled.
查看命令

kubectl get namespace -L istio-injection

查看各个命名空间是否镜像istio-injection注解的设置。

使用一下命令对命名空间属性进行配置

kubectl label namespace namespace-a istio-injection=enabled

RBAC: access denied 问题解决

部分参考 https://cloud.tencent.com/document/product/1261/62949

经过以上修改后,istio pod可以自动创建起来,但是访问报错 RBAC: access denied。
这里要查看授权策略,授权策略用于配置网格、namespace、服务/Workload 范围的访问管理规则。您可以通过 AuthorizationPolicy CRD 配置授权规则。AuthorizationPolicy 主要包含以下部分:

  • selector:指定策略的生效范围。
  • action:指定该策略是 ALLOW 策略还是 DENY 策略。
  • rules:授权规则主体,由from,to,where 3 部分构成。
    • from:指定请求的来源特征。
    • to:指定请求的操作特征。
    • when:指定授权规则的生效条件。

当有 AuthorizationPolicy 的 ALLOW 和 DENY 策略应用于同一范围时,DNEY 策略的优先级高于 ALLOW 策略,生效的规则如下:

  1. 如请求匹配任何一条 DENY 策略,则拒绝该请求的访问。
  2. 如该范围没有任何 ALLOW 策略,则允许该请求的访问。
  3. 如当前该范围存在 ALLOW 策略,且请求匹配到了任何一条 ALLOW 策略,则允许该请求的访问。
  4. 拒绝该请求的访问。
    在这里插入图片描述
    执行命令
    kubectl get AuthorizationPolicy -A
    查看所有的授权策略,发现在istio-system空间下,有一个global-deny-all的策略。使用以下命令删除。
    kubectl delete AuthorizationPolicy -n istio-system global-deny-all

问题解决。

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

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

相关文章

Linux 操作系统概述

GNU计划 GNU --"GNUs Not UNIX" 建立一个自由、开放的UNIX操作系统(Free UNIX) GNU 通用公共许可证(General Public License,GPL) ”四项基本自由“ 按照自己的意愿自由地运行该软件自由地学习并根据…

高级大数据技术 实验一 scala编程

​ 高级大数据技术 实验一 scala编程 写的不是很好,大家多见谅! 1. 计算水仙花数 实验目标; (1) 掌握scala的数组,列表,映射的定义与使用 (2) 掌握scala的基本编程 实验说明 …

【系统需求分析报告-项目案例直接套用】

软件需求分析报告 软件开发要求项目建设内容物理设计安全系统设计安全网络安全设计应用安全设计用户安全管理性能设计稳定性设计安全性设计兼容性设计易操作性设计可维护行设计 软件开发全套精华资料过去进主页领取。

博弈论实用原理浅谈及题目实战【算法竞赛】

一、前言 本篇记录博弈论一些常见原理、做题技巧。 之前没有了解学习过博弈论,这篇文章可以当作记录学习笔记了。 二、初识博弈论 博弈论题目在竞赛中我感觉其实并不少见,只是需要技巧性很强,找到规律打代码很简单,而找不到基本上…

go语言基础 -- 面向对象 -- 接口与多态

接口定义与基本使用 - interface go语言中,接口类型可以定义一组方法,不需要在接口定义中实现方法,并且interface中不能含有变量,如果某个自定义类型要使用时再实现接口的方法。 golang中的接口不需要显式地实现,只要…

秘密共享差分隐私原理解析

1. 隐私计算全貌  可以看到,隐私计算技术从1979年就开始了,历经四代从安全多方计算(MPC)、到差分隐私(DP)、到集中加密技术(TEE),再到联邦学习(FL)。 2. 秘密共享 secret Sharing 就是“秘密分享”或者“秘密共享”…

“互动+消费”时代,借助华为云GaussDB重构新零售中消费逻辑

场与人的关系 “人—货—场”是零售中重要的三要素,我们一直在追求,将零售中的人、货、场进行数字化并在云端进行整合,形成属于我们自己的云平台。 随着互联网技术为信息提供的便利,消费者的集体力量正在逐渐形成一股强大的反向…

Applied Energy+C论文复现:考虑泊位分配灵活性的港口综合能源系统优化调度程序代码!

程序结合了港口独特的工作属性,构建了泊位优化分配的模型,提出了考虑泊位优化和多能协同的港口综合能源运行优化模型。港口运营商根据多种能源供应的成本特性决策船舶停泊的开始/结束时间,改变港口的总负荷需求曲线。程序算例丰富…

使用postman测试若依登录接口API-2

请求方式 由于登录控制器可知:该请求方式为Post请求 请求地址 在请求路径栏输入请求地址,如下图所示: 参数体 在Body键入所需参数,类型选择raw,数据格式选择"JSON":如下图所示: 认证成功与失败…

特征值和特征向量及其在机器学习中的应用

特征值和特征向量是线性代数中的概念,用于分析和理解线性变换,特别是由方阵表示的线性变换。它们被用于许多不同的数学领域,包括机器学习和人工智能。 在机器学习中,特征值和特征向量用于表示数据、对数据执行操作以及训练机器学…

NOIP 2009普及组初赛试题及解析

NOIP 2009普及组初赛试题及解析 一. 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案.)。二. 问题求解(共2题,每题5分,共计10分)三. 阅读程序写结果(共…

Vue.js 深度解析:模板编译原理与过程

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

网络学习:SMart link技术与Monitor link技术

目录 一、SMart link技术 1.1、SMart link技术简介 1.2、SMart link技术原理及基础知识点 1、应用场景(举例): 2、运行机制 3、保护vlan 4、控制VLAN 5、Flush报文 6、SMart link的负载分担机制 7、SMart link角色抢占模式 二、Mo…

YOLOv5目标检测学习(1):yolo系列算法的基础概念

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、基于深度学习的目标检测需要哪些步骤?二、数据准备(即准备数据集)1.目标检测的数据集如何获取?2.数据集包括…

Python报错ModuleNotFoundError: No module named ‘numpy‘

原因:缺少“numpy” 进入python安装路径,script路径内 在路径下启动终端 01.更新numpy python -m pip install --upgrade pip 02.安装 pip install numpy 03.运行python python 04.导入包 from numpy import * 问题已解决。

MySQL学习Day25——数据库其他调优策略

一、数据库调优的措施: 1.调优的目标: (1)尽可能节省系统资源,以便系统可以提供更大负荷的服务 (2)合理的结构设计和参数调整,以提高用户操作的响应速度 (3)减少系统的瓶颈,提高MySQL数据库整体的性能; 2.如何定位调优:用户的反馈、日志…

政安晨【TypeScript高级用法】(二):泛型与命名空间

TypeScript的泛型允许我们在定义函数、类和接口时使用参数化类型,使得这些实体可以适应不同类型的数据。泛型可以增加代码的重用性和灵活性。 同时,TypeScript的命名空间提供了一种在全局命名空间中组织代码的方式,可以避免全局变量污染和命…

项目打包时报错 There are test failures.

报错原因是 test测试类有问题 我们可直接选择跳过测试类打包 如下 此时再次打包就成功了

高级软件开发知识点

流程 算法题简历上项目用到技术、流程、遇到问题HR 准备 常考的题型和回答思路刷100算法题,理解其思想,不要死记最近一家公司所负责的业务和项目: 项目背景、演进之路,有哪个阶段,每个阶段主要做什么项目中技术选型…

vue2和vue3的区别介绍

Vue.js 是一个流行的前端JavaScript框架,用于构建用户界面和单页应用程序。自从Vue.js首次发布以来,它就因其简洁的API、灵活的架构和易于上手的特点而受到了广泛的欢迎。Vue.js的第二个主要版本(Vue 2)发布于2016年,而…