解决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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类