Istio 运行错误 failed to update resource with server-side apply for obj 问题解决

Istio 环境

kubernetes version: v1.18.2
istio version: v1.10.0

运行之后 istio-operator 的日志就抛出下面错误,而且会一直重启

# kubectl get iop -A
NAMESPACE      NAME                          REVISION     STATUS   AGE
istio-system   iop-pro-cluster-8410-1-10-0   iop-1-10-0   ERROR    1h
# kubectl get pod -n istio-system
NAME                                         READY   STATUS    RESTARTS   AGE
istio-operator-iop-1-10-0-759f564df6-6rvbj   1/1     Running   19         1h
failed to update resource with server-side apply for obj ConfigMap/istio-system/istio-sidecar-injector-iop-1-10-0: 415: Unsupported Media Type
failed to update resource with server-side apply for obj MutatingWebhookConfiguration//istio-sidecar-injector-iop-1-10-0: 415: Unsupported Media Type
failed to update resource with server-side apply for obj Deployment/istio-system/istiod-iop-1-10-0: 415: Unsupported Media Type
failed to update resource with server-side apply for obj PodDisruptionBudget/istio-system/istiod-iop-1-10-0: 415: Unsupported Media Type
failed to update resource with server-side apply for obj HorizontalPodAutoscaler/istio-system/istiod-iop-1-10-0: 415: Unsupported Media Type
2021-08-31T09:42:12.369429Z info installer using server side apply to update obj: ServiceAccount/istio-system/istio-ingressgateway-service-account
2021-08-31T09:42:12.376827Z error installer failed to update resource with server-side apply for obj ServiceAccount/istio-system/istio-ingressgateway-service-account: 415: Unsupported Media Type
2021-08-31T09:42:12.382257Z info installer using server side apply to update obj: Deployment/istio-system/istio-ingressgateway
2021-08-31T09:42:12.384672Z error installer failed to update resource with server-side apply for obj Deployment/istio-system/istio-ingressgateway: 415: Unsupported Media Type
2021-08-31T09:42:12.385266Z info installer using server side apply to update obj: PodDisruptionBudget/istio-system/istio-ingressgateway
2021-08-31T09:42:12.386973Z error installer failed to update resource with server-side apply for obj PodDisruptionBudget/istio-system/istio-ingressgateway: 415: Unsupported Media Type
2021-08-31T09:42:12.387721Z info installer using server side apply to update obj: Role/istio-system/istio-ingressgateway-sds
2021-08-31T09:42:12.392418Z error installer failed to update resource with server-side apply for obj Role/istio-system/istio-ingressgateway-sds: 415: Unsupported Media Type
2021-08-31T09:42:12.393067Z info installer using server side apply to update obj: RoleBinding/istio-system/istio-ingressgateway-sds
2021-08-31T09:42:12.398916Z error installer failed to update resource with server-side apply for obj RoleBinding/istio-system/istio-ingressgateway-sds: 415: Unsupported Media Type
2021-08-31T09:42:12.401822Z info installer using server side apply to update obj: HorizontalPodAutoscaler/istio-system/istio-ingressgateway
2021-08-31T09:42:12.403878Z error installer failed to update resource with server-side apply for obj HorizontalPodAutoscaler/istio-system/istio-ingressgateway: 415: Unsupported Media Type
2021-08-31T09:42:12.404578Z info installer using server side apply to update obj: Service/istio-system/istio-ingressgateway
2021-08-31T09:42:12.405936Z error installer failed to update resource with server-side apply for obj Service/istio-system/istio-ingressgateway: 415: Unsupported Media Type
failed to update resource with server-side apply for obj Service/istio-system/istiod-iop-1-10-0: 415: Unsupported Media Type
✘ Ingress gateways encountered an error: failed to update resource with server-side apply for obj ServiceAccount/istio-system/istio-ingressgateway-service-account: 415: Unsupported Media Type
failed to update resource with server-side apply for obj Deployment/istio-system/istio-ingressgateway: 415: Unsupported Media Type
failed to update resource with server-side apply for obj PodDisruptionBudget/istio-system/istio-ingressgateway: 415: Unsupported Media Type
failed to update resource with server-side apply for obj Role/istio-system/istio-ingressgateway-sds: 415: Unsupported Media Type
failed to update resource with server-side apply for obj RoleBinding/istio-system/istio-ingressgateway-sds: 415: Unsupported Media Type
failed to update resource with server-side apply for obj HorizontalPodAutoscaler/istio-system/istio-ingressgateway: 415: Unsupported Media Type
failed to update resource with server-side apply for obj Service/istio-system/istio-ingressgateway: 415: Unsupported Media Type
2021-08-31T09:46:44.671636Z error klog error retrieving resource lock istio-system/istio-operator-lock-iop-1-10-0: etcdserver: request timed out

解决问题

仔细看就可以发现错误日志抛出的内容:failed to update resource with server-side apply for obj 服务端更新

搜索了一下 server side 找到 k8s 官方的文档:服务端更新
请添加图片描述
注意这句话,这个特新是可以禁用的。这里我就想到了 istio-operator 为什么会出现这个问题。
在使用 v1.18.2 版本的 k8s 时,我注意到所有的资源都添加了 managedfields 字段并且配置非常多,看着也比较麻烦。所以就使用 --feature-gates ServerSideApply=false 禁用了 managedfields

问题现在比较清晰了:由于使用 --feature-gates ServerSideApply=false 禁用 managedfields 导致 istio-operator 内部使用了 server side apply 而更新失败,修复的话就直接把这个参数从 api-server 的启动中去掉就可以了

如果是 kubeadm 部署的 k8s,kube-apiserver 配置在下面默认路径中或者更新参数

/etc/kubernetes/manifests/kube-apiserver.yaml

让 istio-operator 重启或者稍等 1 分钟左右

NAMESPACE      NAME                          REVISION     STATUS    AGE
istio-system   iop-pro-cluster-8410-1-10-0   iop-1-10-0   HEALTHY   2h

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式(18)桥接模式

一、介绍: 1、定义:桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展…

指针仪表读数YOLOV8NANO

指针仪表读数YOLOV8 NANO 采用YOLOV8 NANO训练,标记,然后判断角度,得出角度,可以通过角度,换算成数据

SparkSQL综合案例-省份维度的销售情况统计分析

一、项目背景 二、项目需求 (1)需求 ①各省销售指标,每个省份的销售额统计 ②TOP3销售省份中,有多少家店铺日均销售额1000 ③TOP3省份中,各个省份的平均单价 ④TOP3省份中,各个省份的支付类型比例 &#x…

Apollo 快速上手指南:打造自动驾驶解决方案

快速上手 概述云端体验登录云端仿真环境 打开DreamView播放离线数据包PNC Monitor 内置的数据监视器cyber_monitor 实时通道信息视图福利活动 主页传送门:📀 传送 概述 Apollo 开放平台是一个开放的、完整的、安全的平台,将帮助汽车行业及自…

Go学习第十三章——Gin(入门与路由)

Go web框架——Gin(入门与路由) 1 Gin框架介绍1.1 基础介绍1.2 安装Gin1.3 快速使用 2 路由2.1 基本路由GET请求POST请求 2.2 路由参数2.3 路由分组基本分组带中间件的分组 2.4 重定向 1 Gin框架介绍 github链接:https://github.com/gin-gon…

如何和安装Windows10系统教程(最新最详细)

目录 一.简介 二.安装步骤 软件:Windows 10版本:1909语言:简体中文大小:4.95G安装环境:Win10/Win8/Win7(64位)硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①丨百度网盘&#xff1a…

【蓝桥每日一题]-前缀和与差分(保姆级教程 篇2)#差分序列

昨天讲的概念和模板,今天讲一个差分序列的好题(好好体会里面的优化思想): 目录 题目: 思路: 题目: 手动打出样例哈 输入: 输出: 4 …

MySQL -- 表的约束

MySQL – 表的约束 文章目录 MySQL -- 表的约束一、表的约束1.空属性2.默认值3.列描述4.zerofill5.主键6.自增长7.唯一键8.外键 一、表的约束 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合 法…

Python 编写确定个位、十位以上方法及各数位的和程序

Python 编写确定数字位方法 Python 编写确定个位、十位Python 编写确定个位、十位、百位方法解析:Python 各数位的和程序 利用%(取余符号)、//(整除)符号。 Python 编写确定个位、十位 num 17 a num % 10 b num /…

pytorch 入门 (五)案例三:乳腺癌识别识别-VGG16实现

本文为🔗小白入门Pytorch内部限免文章 🍨 本文为🔗小白入门Pytorch中的学习记录博客🍦 参考文章:【小白入门Pytorch】乳腺癌识别🍖 原作者:K同学啊 在本案例中,我将带大家探索一下深…

2023年正版win10/win11系统安装教学(纯净版)

第一步:准备一个8G容量以上的U盘。 注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,防止资料丢失。 第二步:制作系统盘。 安装win10 进入windows官网 官网win10下载地址:https://www.microsoft.c…