解决k8s故障,eureka处于unknow的问题
//pod Unknown状态,开始强制删除eureka-server-node-0,eureka-server-node-1等,强制删除不了
[root@fp158 sts]# kubectl delete pods eureka-server-node-0 --grace-period=0 --force
//那就用kubectl scale扩展吧,发现也不行,后用 kubectl describe pod podname 查看发现标签有问题, 这是pod状态是pending
//同时采用在线编辑yaml,保存,本来强制删除,但是用--grace-period=0 --force 删除都删不了,也是第一回遇到,那就先用edit命令吧,
注意 不能只是kubectl edit pod podname形式。
[root@f158 sts]# kubectl edit sts eureka-server-node -o yaml --save-config //eureka-server-node是pod名
//覆盖某个node上的role标签
kubectl label nodes k2.node role=htt --overwrite
//查看显示某个node的标签
[root@f158 sts]# kubectl get nodes -o wide --show-labels | grep k2 //k2调度到的节点
//查看eureka-server-node
[root@f158 sts]# kubectl get pod -o wide | grep eureka-server-node
//进入pod查看
[root@f158 sts]# kubectl exec -ti ut-node-0 -- /bin/sh
# ping www.baidu.com //无反应,怀疑网络有问题,首先必然是calico, 然后上racher 管理平台上查看node的一些上报状态情况.
//同时在宿主机上进行了一系列操作
[root@fp-web-187 ~]# docker ps| grep calico-node //看看网络情况
[root@fp-web-187 ~]# docker ps -a | grep calico-node //查看未启动的,可恢复
[root@fp-web-187 ~]# systemctl restart calico-node //重启calico网络
[root@fp-web-187 ~]# systemctl restart kubectl //重启 k8s 节点
[root@fp-web-187 ~]# systemctl restart kube-proxy //重启代理
[root@fp-web-187 ~]# systemctl restart docker //重启pod
[root@fp-web-187 ~]# ip a //查ip,网卡情况
[root@fp-web-187 ~]# route -n //查看 tunl0(ip ip )情况
[root@fp-web-187 ~]# docker exec -it 973ad176419c /bin/bash //进入容器里面看一下,这时不能叫pod,因为pod可以有多个容器,我们进入的是当前的eureka容器
[root@fp-web-187 ~]# docker ps | grep eu //查看eureka,服务在线情况.
同时为方便查找出错误,配置在web浏览器查看
/usr/local/nginx/conf/extconf/eu.conf
server {
listen 80;
listen 443 ssl;
listen [::]:80;
listen [::]:443 ssl;
server_name a.b.com.cn;
#ssl on;
ssl_certificate ssl/server.pem;
ssl_certificate_key ssl/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
large_client_header_buffers 4 1m;
fastcgi_intercept_errors on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://eu;
proxy_connect_timeout 600s;
proxy_read_timeout 900s;
proxy_redirect off;
client_max_body_size 1000m;
}
}
主nginx.conf user weblogic;
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65535;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log error;
pid logs/nginx.pid;
events {
worker_connections 65535;
accept_mutex off;
use epoll;
multi_accept on;
}
http {
#autoindex off;
server_tokens off;
include mime.types;
include /usr/local/nginx/conf/extconf/*.conf;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" "$request_body" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$upstream_addr'
' $upstream_response_time';
access_log /var/log/nginx/access.log main;
fastcgi_intercept_errors on;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on; upstream bc {
server 10.121.51.11:38761 max_fails=3 fail_timeout=120s; //master ip
server 10.121.51.12:38761 max_fails=3 fail_timeout=120s; //master2 ip
keepalive 32;
keepalive_timeout 120s;
}
} [root@fp-Nignx01 ~]# /usr/local/nginx/sbin/nginx -t
[root@fp-Nignx01 ~]# /usr/local/nginx/sbin/nginx -s reload
访问
http://a.b.com.cn/lastn //即可访问
配置eureka在web页面上访问,可以通过
1、查看暴露的端口
[root@fp-web-158 sts]# kubectl get svc -o wide | grep eu
eureka-server ClusterIP None <none> 8761/TCP 3y name=eureka-server-node
eureka-server-np NodePort 172.17.65.89 <none> 8761:38761/TCP 3y name=eureka-server-node
2、在域名里面进行相关的配置
upstream bc {
server 10.121.51.11:38761 max_fails=3 fail_timeout=120s; //master ip
keepalive 32;
keepalive_timeout 120s;
}
3、访问 http://a.b.com.cn/ (这个域名根据公司申请的域名设置二级域名即可)

//pod正常应该可以ping通eu
[root@f158 sts]# kubectl exec -ti ts-node-0 -- /bin/sh
# ping eureka-server-node-0.eureka-server
PING eureka-server-node-0.eureka-server.default.svc.cluster.local (172.17.94.145): 56 data bytes
64 bytes from 172.17.94.145: icmp_seq=0 ttl=62 time=0.273 ms
64 bytes from 172.17.94.145: icmp_seq=1 ttl=62 time=0.266 ms
64 bytes from 172.17.94.145: icmp_seq=2 ttl=62 time=0.310 ms
64 bytes from 172.17.94.145: icmp_seq=3 ttl=62 time=0.256 ms
64 bytes from 172.17.94.145: icmp_seq=4 ttl=62 time=0.308 ms
64 bytes from 172.17.94.145: icmp_seq=5 ttl=62 time=0.233 ms
64 bytes from 172.17.94.145: icmp_seq=6 ttl=62 time=0.507 ms
^C--- eureka-server-node-0.eureka-server.default.svc.cluster.local ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.233/0.308/0.507/0.085 ms
解决k8s故障,eureka处于unknow的问题的更多相关文章
- 1个工具,助你提升K8S故障排查效率!
Kubernetes的故障排查一直困扰众多运维团队或DevOps,除了Kubernetes本身的复杂性之外,还有Kubernetes的工作负载是动态的原因.本文将介绍1个工具可以帮助你可视化K8S的网 ...
- 【转载】解决k8s中的长连接负载均衡问题
原文链接:一流铲屎官二流程序员[解决k8s中的长连接负载均衡问题] 长连接与短连接: 简介 长连接是指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测 ...
- [转帖]解决K8S 安装只有 一直提示:kernel:unregister_netdevice: waiting for eth0 to become free. Usage count = 1 的方法
Centos7 终端报Message from syslogd :kernel:unregister_netdevice https://www.jianshu.com/p/96d7e2cd9e99 ...
- 终于解决 k8s 集群中部署 nodelocaldns 的问题
自从开始在 kubernetes 集群中部署 nodelocaldns 以提高 dns 解析性能以来,一直被一个问题困扰,只要一部署 nodelocaldns ,在 coredns 中添加的 rewr ...
- 解决k8s出现pod服务一直处于ContainerCreating状态的问题的过程
参考于: https://blog.csdn.net/learner198461/article/details/78036854 https://liyang.pro/solve-k8s-pod-c ...
- 重记解决kube-dns故障一则---ceph惹的祸
上次,在同一个k8s集群里安装完ceph进行功能测试. 当测试完成之后,我停止了ceph的程序,再重新启动k8s集群. 结果,有一个应用就出问题了. 后来查出是因为防火墙里 Chain FORWARD ...
- 解决0RA-04031故障
1.客户反应报表数据很慢,简单查询5分钟都出不来. 2.登陆数据库服务器检查日志:Thu Mar 21 16:20:30 2013Errors in file /opt/oracle/diag/rdb ...
- (转)解决k8s集群提示docker login问题(同样适用于Rancher)
文章转自 https://blog.liv1020.com/ 参考文档:https://kubernetes.io/docs/concepts/containers/images/#configuri ...
- [报错解决] k8s 删除pv一直处于terminating 两种解决方法
第一种 直接到etcd中删除 1.将所有的etcd中的key值取到一个keys.yam里面,便于查询 ETCDCTL_API=3 etcdctl get "" --from-key ...
随机推荐
- CF1515H口胡
居然一下就做出来了...不知道是不是对的/fad 考虑操作的本质,首先将所有元素插入线段树中. 来依次考虑每一种操作: 区间与 注意到这个操作类似将某些节点的右儿子合并到左儿子上,而一个节点最多被合并 ...
- AE功能扩展一
1.添加栅格影像 基本思路:声明栅格工作空间→创建栅格数据集对象→创建金字塔→声明图层对象→刷新地图控件 private void AddBaseMap(string filepath) { IWor ...
- KVM 虚拟化基本知识,virtio工作原理
KVM虚拟化的基本知识,virtio的工作流程及原理,virtio-vhost, virtio-vhost-user pci 配置空间,是谁在kick 写pci配置空间的?又是通过什么机制通知给qem ...
- async-validator 源码学习笔记(五):Schema
系列文章: 1.async-validator 源码学习(一):文档翻译 2.async-validator 源码学习笔记(二):目录结构 3.async-validator 源码学习笔记(三):ru ...
- 【论文阅读】CVPR2021: MP3: A Unified Model to Map, Perceive, Predict and Plan
Sensor/组织: Uber Status: Reading Summary: 非常棒!端到端输出map中间态 一种建图 感知 预测 规划的通用框架 Type: CVPR Year: 2021 引用 ...
- 一条SQL语句执行得很慢的原因有哪些
说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你"输入URL回车之后,究竟发生了什么"一样,看看你能说出多少了. 之前腾讯 ...
- java常见字节大小存储问题
JAVA中默认的编码方式 转:http://blog.csdn.net/scyatcs/article/details/31356823 编码问题存在两个方面:JVM之内和JVM之外.1.Java文件 ...
- Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件.application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置.b ...
- select poll和epoll
select poll epoll都是IO多路复用机制.这里的复用其实可以理解为复用的线程,即一个(或者较少的)线程完成多个IO的读写.这里总结下这三个函数的区别. 1 select 1.1 sele ...
- 你在项目中哪些地方用到了 XML?
XML 的主要作用有两个方面:数据交换和信息配置.在做数据交换时,XML 将数 据用标签组装成起来,然后压缩打包加密后通过网络传送给接收者,接收解密与 解压缩后再从 XML 文件中还原相关信息进行处理 ...