上次,在同一个k8s集群里安装完ceph进行功能测试. 当测试完成之后,我停止了ceph的程序,再重新启动k8s集群. 结果,有一个应用就出问题了. 后来查出是因为防火墙里 Chain FORWARD (policy DROP) 规则的问题. 之后,就没有注意了. 昨天,启动K8S时,突然发现以service name访问应用不通了.但用cluster IP却是可以的. 这当然是kube-dns的问题了. 但kube-dns组件,本身的运行是OK的. 于是,自然想到了上次这个问题.用如下语句之后…
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较大,所以本文将从零起步教给各位读者一些基本的排除DNS解析故障的方法. 一.什么是DNS解析故障? 一般来说像我们访问的www.sina.com,www.it168.com这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问操…
解Bug之路-记一次存储故障的排查过程 高可用真是一丝细节都不得马虎.平时跑的好好的系统,在相应硬件出现故障时就会引发出潜在的Bug.偏偏这些故障在应用层的表现稀奇古怪,很难让人联想到是硬件出了问题,特别是偶发性出现的问题更难排查.今天,笔者就给大家带来一个存储偶发性故障的排查过程. Bug现场 我们的积分应用由于量非常大,所以需要进行分库分表,所以接入了我们的中间件.一直稳定运行,但应用最近确经常偶发连接建立不上的报错.报错如下: GetConnectionTimeOutException 而…
原贴如下 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查) 虽然我用的是PHPstudy部署的dedecms,还是一样栽倒这个坑里了. 总结经验:本地测试使用8000~9000的端口比较安全.…
在很多情况下,你可能会发现Kubernetes中的应用程序没有正确地部署,或者没有正常地工作.今天这篇文章就提供了如何去快速解决这类故障以及一些技巧. 在阅读了这篇文章之后,你还将深入了解Kubernetes的内部机制,另外,我还将与大家分享一些关于自己操作Kubernetes的一些非常有用的技巧. 那么,我们开始吧! 首先,Pod失败的原因一般有两个: Kubernetes资源配置中的错误,例如在部署(Deployment)和服务(Service)里. 代码中的问题. 在第一种情况下,容器一般…
一.出现问题的原因 最近由于linux需要使用外网,发现ping不通地址,经过一番查找分析后发现是DNS服务配置丢失,在这里有两种方法可以解决该问题. 1:你可以手动修改/etc/sysconfig/network-scripts/ifcfg-lo(这是我linux上的网卡,一般来说系统上第一块网卡默认是/etc/sysconfig/network-scripts/ifcfg-eth0)的进行DNS配置, 使用vim到/etc/sysconfig/network-scripts/ifcfg-lo…
使用了预编译头依然出现error LNK2005:***obj已在***obj中定义 造成该问题的可能性比较多,本人将在今后遇到时添加进来,今天先放出本人遇到的一种情况. 多重包含含有变量定义的.h文件所造成 这个现象很容易重新,首先新建一个1.h文件,然后在里面写下如下代码 #pragma once int i = 0; 然后新建一个1.cpp,里面代码如下: #include "1.h" #include "1.h" 再新建一个2.cpp,代码如下: #incl…
前言 上一篇k8s采坑记 - 证书过期之kubeadm重新生成证书阐述了如何使用kubeadm解决k8s证书过期问题. 本篇阐述使用二进制安装的kubernetes环境,如何升级过期证书? k8s配置信息的工作目录一般为/etc/kubernetes,证书目录一般为/etc/kubernetes/ssl. 重新生成证书 当你的kubernetes报错:certificate has expired or is not yet valid,可以通过命令:openssl x509 -in [证书全路…
问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题,如果使用了的话就会出现多条用例都是失败时,重跑机制只会执行第一次失败的用例,其他用例的失败重跑就不执行了. 如下:提供的两组参数都是失败时!(重跑的次数设置为2次) 从上图中可以看出,第一次失败的用例有重跑了2次,第二次失败的用例就没有重跑2次. TestNg重跑机制代码实现 TestNg提供的重…
#ifndef 在头文件中的作用 在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量 “重定义”的错误. 在头文件中使用#ifndef #define #endif能避免头文件的重定义. 方法:例如要编写头文件test.h 在头文件开头写上两行: #ifndef _TEST_H #define _TEST_H//一般是文件名的大写 头文件结尾写上一行:#endif 这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了.…