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

修改svc的LoadBalancer的IP引发的惨案

文章目录

  • 背景
  • 修改externalIPs的操作
  • api-server报错日志
  • 挽救
  • 教训

背景

k8s集群没有接外部负载均衡,部署istio的时候ingressgateway一直pending。
于是手动修改了这个lb svc的externalIP,于是k8s就崩了,如何崩的,且听我还道来。

修改externalIPs的操作

在这里插入图片描述
修改了svc的这个位置,于是api-server就崩了。

[root@k8s-worker-node1 cloud-native-istio-archive]# k -n istio-system get svc
NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                                                                      AGE
istio-egressgateway    ClusterIP      10.68.66.210   <none>        80/TCP,443/TCP                                                               8d
istio-ingressgateway   LoadBalancer   10.68.215.92   <pending>     15021:30422/TCP,80:32418/TCP,443:31569/TCP,31400:32664/TCP,15443:31617/TCP   8d
istiod                 ClusterIP      10.68.49.71    <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP                                        8d
[root@k8s-worker-node1 cloud-native-istio-archive]# k -n istio-system edit svc istio-ingressgateway
service/istio-ingressgateway edited
[root@k8s-worker-node1 cloud-native-istio-archive]#
[root@k8s-worker-node1 cloud-native-istio-archive]#
[root@k8s-worker-node1 cloud-native-istio-archive]# k -n istio-system get svc
The connection to the server 10.50.10.10:6443 was refused - did you specify the right host or port?
[root@k8s-worker-node1 cloud-native-istio-archive]#
[root@k8s-worker-node1 cloud-native-istio-archive]#
[root@k8s-worker-node1 cloud-native-istio-archive]#
[root@k8s-worker-node1 cloud-native-istio-archive]# k -n istio-system get svc
The connection to the server 10.50.10.10:6443 was refused - did you specify the right host or port?

如果 EXTERNAL-IP 有值(IP 地址或主机名),则说明您的环境具有可用于 Ingress 网关的外部负载均衡器。如果 EXTERNAL-IP 值是 (或一直是 ),则说明可能您的环境并没有为 Ingress 网关提供外部负载均衡器的功能。

api-server报错日志

[root@k8s-worker-node1 cloud-native-istio-archive]# systemctl status kube-apiserver -l
● kube-apiserver.service - Kubernetes API ServerLoaded: loaded (/etc/systemd/system/kube-apiserver.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-10-19 17:19:09 CST; 1 weeks 1 days agoDocs: https://github.com/GoogleCloudPlatform/kubernetesMain PID: 45101 (kube-apiserver)Tasks: 10Memory: 470.1MCGroup: /system.slice/kube-apiserver.service└─45101 /opt/kube/bin/kube-apiserver --allow-privileged=true --anonymous-auth=false --api-audiences=api,istio-ca --authorization-mode=Node,RBAC --bind-address=10.50.10.10 --client-ca-file=/etc/kubernetes/ssl/ca.pem --endpoint-reconciler-type=lease --etcd-cafile=/etc/kubernetes/ssl/ca.pem --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem --etcd-servers=https://10.50.10.10:2379 --kubelet-certificate-authority=/etc/kubernetes/ssl/ca.pem --kubelet-client-certificate=/etc/kubernetes/ssl/kubernetes.pem --kubelet-client-key=/etc/kubernetes/ssl/kubernetes-key.pem --secure-port=6443 --service-account-issuer=https://kubernetes.default.svc --service-account-signing-key-file=/etc/kubernetes/ssl/ca-key.pem --service-account-key-file=/etc/kubernetes/ssl/ca.pem --service-cluster-ip-range=10.68.0.0/16 --service-node-port-range=30000-32767 --tls-cert-file=/etc/kubernetes/ssl/kubernetes.pem --tls-private-key-file=/etc/kubernetes/ssl/kubernetes-key.pem --requestheader-client-ca-file=/etc/kubernetes/ssl/ca.pem --requestheader-allowed-names= --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --proxy-client-cert-file=/etc/kubernetes/ssl/aggregator-proxy.pem --proxy-client-key-file=/etc/kubernetes/ssl/aggregator-proxy-key.pem --enable-aggregator-routing=true --v=2Oct 27 23:41:20 k8s-worker-node1 kube-apiserver[45101]: "Metadata": null
Oct 27 23:41:20 k8s-worker-node1 kube-apiserver[45101]: }. Err: connection error: desc = "transport: Error while dialing dial tcp 10.50.10.10:2379: connect: connection refused"
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: W1027 23:41:25.168319   45101 logging.go:59] [core] [Channel #57333 SubChannel #57334] grpc: addrConn.createTransport failed to connect to {
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "Addr": "10.50.10.10:2379",
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "ServerName": "10.50.10.10",
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "Attributes": null,
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "BalancerAttributes": null,
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "Type": 0,
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: "Metadata": null
Oct 27 23:41:25 k8s-worker-node1 kube-apiserver[45101]: }. Err: connection error: desc = "transport: Error while dialing dial tcp 10.50.10.10:2379: connect: connection refused"

挽救

重启api-server,起不来,etcd决绝连接。
无法救回,连GPT4也不行
在这里插入图片描述
番外: 纪念一下中堂大人。

教训

没事不要随便改LB svc的 externalIP ,是根据这个博主的文章修改的https://www.cnblogs.com/boshen-hzb/p/10679863.html。 大家注意一下,不要把集群搞挂了。 任何时候对线上环境的更改应该小心,必须知道这么做的后果是什么?

相关文章:

  • C++11的lambda表达式
  • nlp之加载电商评论集
  • 真机环境配置教程
  • 项目进度延误,危机管理5大注意事项
  • 评论功能的选择难题:数据结构如何选定?
  • 什么是React中的有状态组件(stateful component)和无状态组件(stateless component)?
  • [每周一更]-(第69期):特殊及面试的GIT问题解析
  • 计算机网络重点概念整理-第七章 网络安全【期末复习|考研复习】
  • Redis学习笔记3:基于springboot的lettuce redis客户端validateConnection连接有效性检查
  • 2023-10-28 LeetCode每日一题(从数量最多的堆取走礼物)
  • PS 安装教程 2022版(全网最详细图文教程)
  • 自动驾驶之—LaneAF学习相关总结
  • 为什么Open3D可视化TensorFlow张量速度超慢
  • Go实现MapReduce
  • element-ui vue2 iframe 嵌入外链新解
  • 【个人向】《HTTP图解》阅后小结
  • docker python 配置
  • golang中接口赋值与方法集
  • Hibernate最全面试题
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • PAT A1050
  • rc-form之最单纯情况
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Sublime text 3 3103 注册码
  • tweak 支持第三方库
  • vue-router的history模式发布配置
  • WePY 在小程序性能调优上做出的探究
  • 测试如何在敏捷团队中工作?
  • 产品三维模型在线预览
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前言-如何学习区块链
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信支付JSAPI,实测!终极方案
  • hi-nginx-1.3.4编译安装
  • 函数计算新功能-----支持C#函数
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #android不同版本废弃api,新api。
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #每天一道面试题# 什么是MySQL的回表查询
  • #微信小程序:微信小程序常见的配置传值
  • (C++17) std算法之执行策略 execution
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (三)uboot源码分析
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)visual stdio 书签功能介绍
  • (转)我也是一只IT小小鸟
  • .“空心村”成因分析及解决对策122344