解决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 ...
随机推荐
- HCIE数据挖掘笔记-005数据挖掘专业名词
数据对象和属性类别: 数据一般有噪声,数量庞大,且来自不同的数据源 数据集由数据对象组成,一个数据对象代表一个实体 数据对象:样本.实例.数据点.对象 数据对象以数据元组的形式存放在数据库中,数据库的 ...
- 如何取消以太坊智能合约授权,防止被黑客盗取Token?
在小狐狸钱包(MetaMask)日常使用中,有一个细节可能很少人注意到,就是无论你登入什么网站,或者需要跟任何项目签订智能合约都要授权的步骤,这其中就会给黑客留下很多空子,特别是将一个Token用智能 ...
- calcite物化视图详解
概述 物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图. 当用户查询的时候,原先创建的物化视图会注册到优化器中,用户的查询命中物化 ...
- CF1545X Codeforces Round #732
A. AquaMoon and Strange Sort 叉人题 如果数字各不相同,只需要统计每个数参与构成的逆序对总数,如果是奇数一定最终朝左,偶数朝右.无意义的数字交换对方向是没有影响的 继续考虑 ...
- Python中的鸭子类型
今天,我们来聊一聊Python中的鸭子类型(duck typing). 编程语言具有类型概念,例如Python中有数字类型.字符串类型.布尔类型,或者更加复杂的结构,例如元组tuple.列表list. ...
- java 基础知识(三)
Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料 162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉 ...
- 建立META-INF/spring.factories文件的意义何在
平常我们如何将Bean注入到容器当中 @Configuration @EnableConfigurationProperties(HelloProperties.class) public class ...
- 解释AOP?
面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理.
- kafka producer 打数据,ack 为 0, 1, -1 的时候代表啥, 设置 -1 的时候,什么情况下,leader 会认为一条消息 commit了?
1(默认) 数据发送到Kafka后,经过leader成功接收消息的的确认,就算是发送成功了.在这种情况下,如果leader宕机了,则会丢失数据. 0 生产者将数据发送出去就不管了,不去等待任何返回. ...
- JAVA DAEMON线程的理解
java线程分两种:用户线程和daemon线程.daemon线程或进程就是守护线程或者进程,但是java中所说的daemon线程和linux中的daemon是有一点区别的. linux中的daemon ...