自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 ingress-nginx-controller获取客户端真实ip

线上部署的一个应用的pod,访问时采用的是ingress的方式,同时为了ingress的高可用,运行了3个ingress-controller节点,在ingress-controller前面再挂了一个F5负载均衡器,所有访问ingress访问的域名,域名解析地址都为F5的vip地址,再由F5负载均衡到一个ingress-controller上面。 数据流量流向: ...

2021-01-19 20:52:44 6522 1

原创 ingress-nginx-controller 504 gateway time-out 问题

问题背景: 某应用的后台,通过后面界面上传一个excel文件时,上传到半截是,后面界面显示 504 gateway time-out错误。问题调查: 经了解,后台应用界面为使用ingress方式访问,504错误界面显示的nginx版本信息和ingress-nginx-controller(版本0.23.0)使用的nginx版本...

2021-01-19 20:47:51 13311

原创 高可用kubernetes集群查看kube-scheduler和kube-controller-manager哪个是leader节点

字不重要,看图

2021-01-19 20:40:30 2300

原创 ansible的shell模板使用awk包含引号的问题

在使用ansible的shell模块,执行一个清理k8s集群容器日志的命令时,遭遇如下错误,Extraneous options or arguments: 在去掉awk后面的命令时,发现执行正常,定位问题点在awk这一段,后经测试,在于awk内的双引号问题,需要转义,改成如下正常执行...

2021-01-19 20:34:36 6286

原创 pod卡住terminating排查记录

背景线上某环境,遇到pod删除时一直卡在terminating的问题,之前通过kubectl delete pod --force --grace-period=0强制删除过2次,但问题反复多次出现,需要调查下详细原因。kubernetes版本为v1.16.6,docker版本18.09.9,containerd版本v1.2.6.排查调查terminating的pod所在节点的message日志,发现kubelet对这个状态的pod提示“prober.go:103] No ref for cont

2020-10-13 23:31:41 4146 1

原创 k8s集群唯独一个节点nodeport不通问题调查

<h1 id="现象">现象</h1><p>集群3个节点,通过istio-ingressgateway暴露了一个nodeport类型的31400端口。对于nodeport类型的端口,理论上可以通过任

2020-10-01 20:39:46 3610

原创 内核内存碎片导致容器创建失败(runc_page allocation failure)排查

背景线上某环境,创建pod时,pod在调度运行的节点一直无法running,describe该pod信息,有如下提示系统为centos7.7,内核版本3.10.0-1062排查查看错误节点信息的message日志,发现docker的报错kuberuntime_manager.go:710] createPodSandbox for pod "media-ai-engine-test-6d75b6f4c6-7jtps_test-media(e1849041-4521-4864-bbbe-d7

2020-09-08 22:30:50 2310

原创 kubeadm创建k8s集群一直失败排查

背景某环境,使用kubeadm创建3个master节点的高可用集群,但是一直失败。10.197.145.25: exec "kubeadm join 10.197.145.24:6443 \\\n--node-name=10.197.145.25 --token=vbgvbq.8bmv408a1uj0io2m \\\n--control-plane --certificate-key=c6840dd68d6dc52f4e74ed244d551337f2b3c9ac7dc766cd574090a

2020-07-31 22:56:10 1263

原创 win10利用WSL2安装windows版kubernetes集群

前言Kubernetes成为事实上的云原生平台,用于在分布式环境中运行容器化服务和应用程序。尽管可以在在云环境(公有云,私有云或混合云)或裸机环境中部署Kubernetes,但有时仍然需要在本地部署和运行Kubernetes进行开发测试。Kubernetes最初被设计为在Linux环境中部署和使用。但是,大量用户是使用Windows OS作为其日常驱动程序,本文探讨利用windows10的WLS2功能,使用Kind或Minikube在本地运行Kubernetes集群。在安装windows版ku.

2020-06-19 18:42:46 4319 2

原创 win10利用WSL2安装docker的2种方式

前言windows10目前推出了WSL2,相对于WSL采用API转换的方式, WSL2 则完全不同,win10 开始内置了一个轻量级虚拟机,经过不断的优化,这个虚拟机实现了与 windows 的高度集成,实现了虚拟机的高性能运行,WSL2 便是运行在虚拟机上的一个完整的 linux 内核。因此WSL2给了在windows更接近原生linux的体验,同时wsl2 的开启速度有了非常明显的提升,几乎不需要再等待。本文探讨在win10专业版上利用WSL2安装docker的2种方式。操作实践1.开.

2020-06-17 22:08:07 9235 3

原创 nginx ingress controller配置默认SSL证书

故障现象线上某kubernetes集群环境,使用nginx-ingress-controller暴露了一个service,为一个API服务,其中在ingress对象中使用了TLS证书,使用浏览器输入ingress对应的域名访问这个API service,请求正常,但是某程序使用SDK调用此service,始终无法拿到结果。ingress的yaml文件类似如下排查 sdk调用ingress时nginx-ingress-controller的日志信息,发现有如下报错 2020/04/

2020-06-06 22:48:47 2908

原创 kubernetes pod内抓包,telnet检查网络连接的几种方式

背景在日常kubernetes的运维中,经常遇到pod的网络问题,如pod间网络不通,或者端口不通,更复杂的,需要在容器里面抓包分析才能定位。而kubertnets的场景,pod使用的镜像一般都是尽量精简,很多都是基于alpine基础镜像制作的,因而pod内没有ping,telnet,nc,curl命令,更别说tcpdump这种复杂的工具了。除了在容器或者镜像内直接安装这些工具这种最原始的法子,我们探讨下其他法子。实现kubectl debug插件方式项目地址 kubect debug),h

2020-06-05 22:10:28 3829

原创 ansible取出主机register变量中最长字符串

背景在用ansible撰写一个etcd恢复的playbook时,有一个操作是获取etcd启动时的"initial-cluster"启动参数,该参数在etcd集群不同节点不一致,需要取出etcd节点启动参数中最长的作为etcdctl snapshot restore的参数。[root@tke-init ansible]# cat etcd.hosts [etcd]10.0.32.7910.0.32.4110.0.32.97[snapshot]10.0.32.79 recovery...

2020-06-03 22:47:59 269

原创 kubernetes flannel pod CrashLoopBackoff解决

# 背景某环境客户部署了一个kubernetes集群,发现flannel的pod一直重启,始终处于CrashLoopBackOff状态。![image-20200521194511898](https://360linux.oss-cn-hangzhou.aliyuncs.com/img/image-20200521194511898.png)# 排查1. 对于始终CrashLoopBackOff的pod,一般是应用本身的问题,需要查看具体pod的日志,通过```kubectl logs -

2020-05-21 20:58:13 2689

原创 kube-controller-manager反复重启解决

背景某环境,kube-controller-manager反复重启,尝试重建kube-controller-manager的pod,但是过一会问题复现。如上图,kube-controller-manager反复重启了200多次了。排查1.通过kubectl logs -n kube-system kube-controller-manager-xxx查看kube-controller-manager日志,日志显示“failed to renew lease kube-system/kube-con

2020-05-19 20:47:56 8329

原创 强制删除kubernetes的ns

问题背景 部署istio测试环境,想重新部署istio-operator,在清理残留资源时,在使用kubectl delete ns istio-operator --grace-period=0 --force删除istio-operator这个namespace时,发现这个ns一直卡在Terminating状态。解决kubectl get ns is...

2020-04-17 12:21:31 1578

原创 kubernetes配置自定义域名记录

问题背景 客户业务pod运行在内网,无法访问外网,对于一些应用,需要访问企业微信,淘宝等外部api接口时,采用代理的方式,即配置pod要访问的外部域名解析为内部代理服务器的ip,如配置api.weixin.qq.com,pod请求访问此域名时,dns解析为内部代理服务器ip-10.xxx.xx.xx,即需要自定义域名解析,经调研,有如下方式:1.客户存在内网dns,且...

2019-09-28 14:47:02 2357

原创 ansible的shell模块使用cat命令--EOF结束文本输入问题

使用ansible写一个playbook,使用shell模块,在模块中使用cat命令输入一段文本,在使用EOF结束文本时,却没有达到预期效果,EOF本身也被当做了文本重定向到文件了。如上图为使用的playbook文件。如上图,在生成的文件中,EOF用来标记输入结束的文本,也被写入了文件中。问题解决: 使用shell模块的cmd参数,...

2019-05-26 20:10:49 4191

原创 Python selenium模块报错解决

      在使用selenium的webdriver示例化Firefox和Chrome对象时,发现如下报错。如上图,实例Firefox对象,报错:selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process 如上图,实例化Chrome...

2019-01-22 22:19:23 4375 1

原创 redis密码破解(multiprocessing的Pool多进程模式)-join方法小坑

       之前使用multiprocessing的分布式进程模式写了个redis的破解程序,性能不是很理想,相对于单进程模式性能反而有下降.于是想利用multiprocessing的多进程模式进行破解,初始代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 19-1-3 下午7:32# @Site : ...

2019-01-09 22:47:11 1203

原创 redis密码破解(Python使用multiprocessing分布式进程)

           前面redis密码破解都是在一台机器单进程运行的,于是想如果在多台机器分布式运行,速度会不会快点,用Python的multiprocessing模块的managers子模块写了个破解程序,代码如下:          master端,代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 18-...

2018-12-31 22:22:28 1045

原创 redis密码破解(python使用redis模块)

         昨天用socket模块写了个破解redis密码的脚本,今天用Python redis模块在写了个,同一个密码文本,发现redis模块速度明显不如socket模块,代码如下:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 18-12-27 下午9:20# @Site : # @File : ...

2018-12-28 20:07:29 2006

原创 redis密码破解(python使用socket模块)

         偶尔看到一篇讲述redis未授权访问漏洞的,提到用hydra进行redis密码的破解。测试了下,发现安装的hydra竟然无法破解出密码,且速度很慢(hydra版本 v8.2-dev)。    如上图,用一个for循环生成个随机密码测试文件,将正确密码写入。如上图,hydra竟然没破解出密码,不知道是不是bug,而且一分钟才运行差不多10000次密码猜测。而redi...

2018-12-27 20:58:52 1534 1

原创 修改云主机快照方式为live snapshot

          客户反馈虚拟机做快照时一直无法连接(后端存储使用的为ceph),远程测试发现做快照时无法ping通,vnc无法登录.如上图,在做快照期间,ping虚拟机的ip中间会出现"请求超时"如上图,快照期间,vnc也无法登录了.在虚拟机所在的计算节点,用watch  -n1 "virsh list  --all",发现虚拟机在快照期间的状态为shutoff.观...

2018-10-31 00:01:57 685

原创 虚拟机重启错误,libvirtError:internal error:process exited while connecting to monitor

    客户云环境一台虚拟机,反馈重启不成功。经了解,客户环境使用的后端为ceph,故障虚拟机挂载一块云硬盘。    收集客户的nova-compute日志,发现报错如下:     libvirtError:internal error:process exited  while connecting to monitor如上图,日志显示云硬盘无法连接到ceph-mon,排查虚...

2018-10-28 23:46:49 12170

原创 rabbitmqadmin的配置文件问题

         一个rabbitmq集群,通过rabbitmq-plugins enable rabbitmq_management启用了管理插件,下载了rabbitmqadmin命令文件,但是执行rabbitmqadmin  list queues命令时报错:    *** Access refused: /api/queues?columns=name,messages     ...

2018-10-18 22:00:07 3252

原创 一次虚拟机热迁移失败处理,使用nova live-migration-force-complete强制暂停下虚拟机

         客户反馈2台虚拟机热迁移失败,检查源计算节点的nova-compute日志,均发现live migration  stuck xxx  sec的错误信息。虚拟机热迁移的过程,在源节点和目标节点会有同步虚拟机内存的操作,查看stuck日志之前的输出,问题memory 基本0% remaining,问题应该在最后一刻同步内存。于是尝试使用nova  live-migrat...

2018-10-02 22:12:03 4672

原创 一次centos7.3系统中病毒排查经历

      一个环境,突然使用很卡顿,于是用top查看什么进程占用了资源,发现进程中有大量b开头的进程,基本确定系统是中病毒了。如上图,top显示大量b开头进程,进程号还不停的变。快速用lsof -p &lt;PID&gt;,查看一个病毒进程,结果如下lsof的输出来看,病毒进程程序体被删除了。尝试用rm去删除程序体也显示无文件。于是用ps命令查看进程情况,竟然发现无法列出...

2018-09-05 23:13:39 8865 1

原创 ceph pg卡在unclean和backfill_toofull

       一个环境,很多osd处于nearfull状态,在给osd做reweight的时候,发现有2个pg一直卡在unclean和backfill_toofull状态。执行ceph health detail如上图,我们发现,卡住的一个pg 为2.689,执行ceph pg map  2.689,发现此pg up的三个osd为 32,153,66,而这三个osd中,osd.15...

2018-08-30 15:09:12 4014

原创 multipath路径残留导致虚拟机无法重启

客户反馈一台虚拟机重启后虚拟机状态显示为错误。检查云平台各个组件服务,未发现异常后,首先尝试重置虚拟机状态,然后硬重启看下 一段时间后,虚拟机状态仍然为error。检查虚拟机所在计算节点的nova-compute日志,发现如下错误日志显示,终止虚拟机的qemu-kvm进程时失败(Failed to terminate process 2216397),有资源占用未释放(device or reso...

2018-06-11 23:26:06 6369

原创 multipath配置错误导致的云平台虚拟机挂载云硬盘失败

    客户反馈云平台商业存储类型的云硬盘无法挂载上(cinder通过FC协议对接),但是ceph类型云硬盘使用正常.    登录打开cinder的debug模式,在volume日志没有显示任何错误信息,日志显示cinder有删除映射关系的操作. 继续查看挂载虚拟机的所在计算节点的nova-compute日志,发现如下错误. Failed to  execute command multipath...

2018-06-11 17:44:45 2490

原创 kubernetes v1.8.3安装coredns

coredns的部署yaml文件如下:apiVersion: v1kind: ServiceAccountmetadata:  name: coredns  namespace: kube-system  labels:      kubernetes.io/cluster-service: "true"      addonmanager.kubernetes.i

2018-04-08 17:10:13 2145 1

原创 helm安装chart----percona-xtradb-cluster实践记录

chart来自kubernetes官方github地址        https://github.com/kubernetes/charts/tree/master/stable 1、修改values.yaml,镜像地址改为本地的镜像仓库,否则从公网拉取时间会很长;修改启用pv并用storageclass实现动态provison。提前建立的storageclass

2018-04-08 15:14:34 1643

转载 elasticsearch性能调优相关

转载自  https://blog.csdn.net/liukuan73/article/details/79261125http://nocf-www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.htmlhttps://yq.aliyun.com/articles/38285http://www...

2018-03-27 15:37:15 184

原创 nova hypervisor-list无法执行,其他api均正常

平台中有一些计算节点下架,通过nova service-delete ID将其删除后,admin用户登录dashboard,提示"Can't get hareware usage",之后迅速退出登录,后台执行nova hypervisor-list命令后,无法执行成功,提示如下报错:         ERROR (ClientException): Unexpected API Error

2018-03-20 15:33:06 2360

原创 /etc/sudoers配置错误导致的nova-api等异常

客户反馈dashboard上面 使用异常:问题一:第一次登陆系统后点击计算资源下的云主机,显示没数据,刷新后显示正常问题二:不定期出现的问题,点击安全组报“无法获取配额”,而且系统一直转圈,无法显示数据。关掉报错,重新刷新后正常显示数据问题三:点击虚机,然后弹出报错“无法获取云主机控制台”,关掉然后重新点击虚机后显示正常问题分析:1、 首

2018-03-03 20:27:24 663

原创 修改ssh默认端口导致的虚拟机resize失败

客户反馈虚拟机resize失败,登录虚拟机所在的计算节点,查看nova-compute日志,发现ssh有关的报错。1、获取resize失败的虚拟机的uuid 2、查看虚拟机所在的节点nova-compute日志,根据虚拟机uuid搜索,发现大量ssh报错根据报错内容,是resize过程中,虚拟机所在的节点ssh到其他计算节点创建虚拟机目录,使用默认的22端口连接

2018-03-01 19:04:22 422

原创 ansible自动化测试云平台多个网络角色间带宽(shell模块调用iperf)

          云平台的一个网卡,可能承担多个网络角色,如同时走管理网流量,存储网流量等。一般部署完成后,需要测试各个网络间的带宽,看下是否有网卡掉速问题。如果网段较多,手工一个个来测试比较费时,特写了一个ansible playbook(iperf的安装未包含),调用iperf自动化测试各个网络带宽,yaml如下---- name: iptables and iperf server sta...

2018-02-28 19:13:28 889

转载 nova的服务心跳机制和服务状态监控机制的实现

转载自:http://blog.csdn.net/gzhouc/article/details/65948152Openstack中的服务是分布式部署,因此,各个服务的启停状态,决定了此系统的可用性。我们可以通过openstack提供的接口来查看服务的运行状态,比如:nova service的相关配置Nova相关的配置项都nova/conf这个目录下,如果我们相查看service相关的配置项,可以...

2018-02-10 12:46:13 938

原创 时间不同步导致的nova,cinder服务一会up一会down的来回跳跃

               客户反馈无法创建虚拟机(openstack版本为Juno),登录控制节点,发现nova 和cinder服务有为down的,检查down节点的nova和cinder日志,未发现任何日志信息显示error,且日志显示nova和cinder都在正常更新状态,创建虚拟机的请求,nova-schedule未做任何调度,创建的虚拟机状态直接变为error。       多检查几次...

2018-02-10 12:37:02 1192

利用ansible安装keepalived和haproxy集群

http://blog.csdn.net/qqhappy8/article/details/79217380

2018-01-31

ansible 安装etcd3集群

使用时,编辑etcd-host.txt,将要部署etcd集群的集群主机名或者IP写入,组名为etcd [etcd] etcd-1 etcdname=etcd1 etcd-2 etcdname=etcd2 etcd-3 etcdname=etcd3 然后执行 ansible-playbook -i etcd-host.txt etcdinstall.yml

2018-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除