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

这篇具有很好参考价值的文章主要介绍了修改svc的LoadBalancer的IP引发的惨案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

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

修改externalIPs的操作

修改svc的LoadBalancer的IP引发的惨案,# k8s,ChatGPT,tcp/ip,网络协议,网络
修改了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 Server
   Loaded: 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 ago
     Docs: https://github.com/GoogleCloudPlatform/kubernetes
 Main PID: 45101 (kube-apiserver)
    Tasks: 10
   Memory: 470.1M
   CGroup: /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=2

Oct 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也不行
修改svc的LoadBalancer的IP引发的惨案,# k8s,ChatGPT,tcp/ip,网络协议,网络
番外: 纪念一下中堂大人。

教训

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

到了这里,关于修改svc的LoadBalancer的IP引发的惨案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s的service资源类型有ClusterIP、Nodeport、ExternalName、LoadBalancer、Headless(None)

    ClusterIP 是在所有节点内生成一个虚拟IP,为一组pod提供统一的接入点,当service存在时,它的IP地址和端口不会发生改变,客户端通过service的ip和端口建立连接,由service将连接路由到该服务的任意一个后端pod上,通过这种方式,客户端不需要知道每个pod的具体ip,pod可以随时移

    2024年02月11日
    浏览(32)
  • 【故障排查】VMware挂起后恢复,k8s集群无法ping/curl通pod/svc/ingress

    一、master/node节点,去curl pod IP,一直卡着,没反应。timeout。 二、挂起恢复后,harbor服务无法正常访问503 ,需要重启harbor服务。 进容器curl localhost,是正常的。 而网络CNI 、flannel 、 coreDNS等都是running状态。 (发现restarts的次数有点多) .这里的metrics-server一直失败的。 可参考

    2023年04月17日
    浏览(39)
  • 翻译|K8s权限提升: 集群中过多权限引发的安全问题

    原文白皮书 https://www.paloaltonetworks.com/apps/pan/public/downloadResource?pagePath=/content/pan/en_US/resources/whitepapers/kubernetes-privilege-escalation-excessive-permissions-in-popular-platforms 起初是看到POH Team的这篇谷歌云漏洞赏金计划2022Top7案例学习参考;其中5th Prize: Kubernetes Privilege Escalation: Excessive Permi

    2024年02月12日
    浏览(33)
  • 记录-记一次不规范使用key引发的惨案

    平时在使用v-for的时候,一般会要求传入key,有没有像我一样的小伙伴,为了省心,直接传索引index,貌似也没有遇到过什么问题,直到有一天,我遇到一个这样的需求 在一个下单界面,我需要去商品列表选商品,然后在下单界面遍历显示所选商品,要求后选的排在前面,而

    2023年04月13日
    浏览(81)
  • 修改k8s pod的挂载目录

    2024年02月14日
    浏览(35)
  • k8s集群证书有效期修改

    kubeadm方式部署的k8s集群证书有效期是一年,之所以是这种机制,是因为官方版本更新比较快,官方希望使用者能跟上官方的版本。换句话说,每次k8s集群版本更新,证书有效期继续延期一年,但是每年更新一次k8s集群频率太频繁。个人认为手工更新证书可取,至于集群版本更

    2023年04月25日
    浏览(32)
  • k8s修改apiserver证书可用年限

    使用 kubeadm 部署的 K8S 集群中,apiserver 证书的默认可用年限只有一年。如果直接用在生产环境,当证书过期后会造成 K8S 集群瘫痪,从而影响现网业务。 1,查看 K8S 集群所有证书存放位置 2,查看 apiserver 证书信息,默认可用年限只有一年 3,查看 ca 证书信息,默认可用年限为

    2024年02月08日
    浏览(33)
  • 设置k8s中节点node的ROLES值,K8S集群怎么修改node1的集群ROLES

    其实这个Roles就是一个标签,执行以下命令给node1 和 node2 打上worker标签 k8s-node1 打上标签为worker1 k8s-node2 打上标签为worker2

    2024年02月02日
    浏览(42)
  • k8s pod获取ip地址过程

    在学习 Kubernetes 网络模型的过程中,了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件在 Kubernetes 集群中是如何交互的,以及如何帮助每个 Pod 都能获取 IP 地址。 Kubernetes 网络模型的核心要求之一是每个 Pod 都拥有自己的 IP 地址并可以使用该 IP 地址

    2024年02月08日
    浏览(39)
  • K8s主机IP地址变更集群恢复

    k8s版本 v1.23.6 docker版本 20.10.6 节点名称 原IP 新IP k8s-master 192.168.6.100 192.168.6.200 k8s-node01 192.168.6.110 192.168.6.210 k8s-node02 192.168.6.120 192.168.6.220 未调整IP前集群信息如下: 调整k8s-master节点IP后,重启机器,显示如下: 1. 所有机器修改hosts解析文件  2. 把/etc/kubernetes/*.conf中所有的旧

    2024年04月28日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包