当前位置: 首页 > news >正文

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.lryc.cn/news/207848.html

相关文章:

  • 分布式事务(Seata)——Seata分布式事务XA模式、AT模式、TCC模式的介绍和对比 结合案例分析AT模式和XA模式【源码】
  • GMT 格式 转 标准日期格式
  • 【蓝桥杯选拔赛真题01】C++参赛建议 青少年组蓝桥杯C++选拔赛真题 STEMA比赛真题解析
  • 小红书为什么流量不好,小红书笔记质量评判标准有哪些?
  • 优化改进 | YOLOv2算法超详细解析(包括诞生背景+论文解析+技术原理等)
  • 作为前端开发,你应该知道的这十几个在线免费工具
  • 【广州华锐互动】关于物理力学的3D实验实操平台
  • LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
  • Vue响应式数据的实现原理(手写副作用函数的存储和执行过程)
  • 内核进程的调度与进程切换
  • docker-rabbitmq 安装依赖
  • (1)(1.9) HC-SR04声纳
  • 06 MIT线性代数-列空间和零空间 Column space Nullspace
  • 【每日一题Day360】LC1465切割后面积最大的蛋糕 | 贪心
  • 中国地名信息库
  • 网络时代下的声音之路:如何在中央新闻媒体发布网评稿
  • Selenium中WebDriver最新Chrome驱动安装教程
  • 云原生Docker数据管理
  • endnote设置
  • 计算机网络整理-简称缩写【期末复习|考研复习】
  • Flink Hive Catalog操作案例
  • NSSCTF做题第9页(3)
  • 从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程【文末送书五本】
  • 设置使用LibreOffice作为默认程序打开word、excel等文档
  • 创新领航 | 竹云参编《基于区块链的数据资产评估实施指南》正式发布!
  • 【Docker】Linux网桥连接多个命名空间
  • ES6新特性:let关键字详解
  • 鸿运主动安全监控云平台任意文件下载漏洞复现 [附POC]
  • 使用pycharm远程连接到Linux服务器进行开发
  • JavaScript 中 BOM 基础知识有哪些?