//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. 1个工具,助你提升K8S故障排查效率!

    Kubernetes的故障排查一直困扰众多运维团队或DevOps,除了Kubernetes本身的复杂性之外,还有Kubernetes的工作负载是动态的原因.本文将介绍1个工具可以帮助你可视化K8S的网 ...

  2. 【转载】解决k8s中的长连接负载均衡问题

    原文链接:一流铲屎官二流程序员[解决k8s中的长连接负载均衡问题] 长连接与短连接: 简介 长连接是指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测 ...

  3. [转帖]解决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 ...

  4. 终于解决 k8s 集群中部署 nodelocaldns 的问题

    自从开始在 kubernetes 集群中部署 nodelocaldns 以提高 dns 解析性能以来,一直被一个问题困扰,只要一部署 nodelocaldns ,在 coredns 中添加的 rewr ...

  5. 解决k8s出现pod服务一直处于ContainerCreating状态的问题的过程

    参考于: https://blog.csdn.net/learner198461/article/details/78036854 https://liyang.pro/solve-k8s-pod-c ...

  6. 重记解决kube-dns故障一则---ceph惹的祸

    上次,在同一个k8s集群里安装完ceph进行功能测试. 当测试完成之后,我停止了ceph的程序,再重新启动k8s集群. 结果,有一个应用就出问题了. 后来查出是因为防火墙里 Chain FORWARD ...

  7. 解决0RA-04031故障

    1.客户反应报表数据很慢,简单查询5分钟都出不来. 2.登陆数据库服务器检查日志:Thu Mar 21 16:20:30 2013Errors in file /opt/oracle/diag/rdb ...

  8. (转)解决k8s集群提示docker login问题(同样适用于Rancher)

    文章转自 https://blog.liv1020.com/ 参考文档:https://kubernetes.io/docs/concepts/containers/images/#configuri ...

  9. [报错解决] k8s 删除pv一直处于terminating 两种解决方法

    第一种 直接到etcd中删除 1.将所有的etcd中的key值取到一个keys.yam里面,便于查询 ETCDCTL_API=3 etcdctl get "" --from-key ...

随机推荐

  1. CentOS 通过shell脚本过滤得到服务器IP地址

    1.CentOS 6.x (32Bit &&64Bit) [root@localhost ~]# ifconfig |grep Bcast |awk '{print$2}' |sed ...

  2. 论文解读(VGAE)《Variational Graph Auto-Encoders》

    Paper Information Title:Variational Graph Auto-EncodersAuthors:Thomas Kipf, M. WellingSoures:2016, A ...

  3. Django1.11 添加markdown语法支持

    pip install markdown 在view.py 的视图界面:导入,圈起来的那两个包 对post进行处理, models.py 详情如下  测试,效果如图

  4. USB接口定义 | USB Type C接口定义 | 制作Type A转Type C充电-数据线

    1. USB接口定义 2. USB Type C接口定义 Type C接口母头(插座) Type C接口公头(插头) 引脚定义 参考:https://www.cnblogs.com/zhouhaoch ...

  5. 12.9 Override

    12.9 Override 静态方法 父类的引用可以指向子类静态方法(用static修饰的方法)的调用只和左边定义的数据类型有关,如: public class Person { public sta ...

  6. Linux C++ 实现一个简易版的ping (也就是imcp协议)

    背景: 想实现一个在没外网的时候就自动重启路由器的功能. 又不想用ping命令,因为在代码里调用system("ping"); 可能会比较耗时,得单开线程.于是找了个实现ICMP协 ...

  7. Ubuntu16.04 oh_my_zsh 安装与配置

    参考文章 Ubuntu上使终端显示Git分支(oh-my-zsh) oh-my-zsh的安装与基本配置 Ubuntu 下安装oh-my-zsh 前言 之前学习Laravel的时候,经常要切换git分支 ...

  8. Java中CAS 基本实现原理 和 AQS 原理

    一.前言了解CAS,首先要清楚JUC,那么什么是JUC呢?JUC就是java.util.concurrent包的简称.它有核心就是CAS与AQS.CAS是java.util.concurrent.at ...

  9. Eureka和Zookeeper区别?

    (1)Eureka取CAP的AP,注重可用性,Zookeeper取CAP的CP注重一致性. (2)Zookeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但选举期间不可用. (3)eureka的 ...

  10. jvm-learning-运行时数据区-整体

    在jdk8之后之前的方法区有叫做元数据. 每个JVM只有一个Runtime实例,即为运行时环境,相当于内存结构种的运行时数据区 线程 线程是一个程序里的运行单元,JVM允许一个应用有多个线程并行的执行 ...