运维
总结一些自己工作中和自己练习时候遇到的问题
张哲溪
日拱一卒,功不唐捐
展开
-
apollo配置中心
Apollo简介Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式的配置:application (应用)environment (环境)cluster (集群)namespace (命名空间) 同时,Apollo基于开源模式开发,开源地址:https://github.com/ctripcorp/apolloApoll原创 2021-11-23 14:43:15 · 957 阅读 · 0 评论 -
如何给虚拟机配置Yum源
1、虚拟机启动时确定加载了光驱2.查看挂载点3.,创建挂载点目录/mnt/cdrom,umount光盘设备,并重新挂载4.配置yum源,此目录下全部删除,#rm -rf .*创建文件 #touchCentOS-Media.repo并进行vi编辑5.直接下载软件包 #yum -y install gcc也可以下载gdb、make可以用命令 r...原创 2019-10-04 22:04:04 · 3257 阅读 · 0 评论 -
阿里云镜像加速器Ubuntu安装包下载地址
http://mirrors.aliyun.com/ubuntu-releases/原创 2021-01-23 11:08:39 · 338 阅读 · 0 评论 -
Ubuntu 20.04 升级 nginx 1.18 到 1.20.1
因为低于 1.20.1 的版本受到 CVE-2021-23017 漏洞的影响,所以决定升级一下nginx。添加源echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.listcurl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.k原创 2021-11-23 20:39:25 · 3426 阅读 · 0 评论 -
Elastic Stack retrying failed action with response code: 403错误解决
问题描述:在kibana上查询业务日志有丢失的情况,有的能查出来,有的日志查询不到。很奇怪,要么都不出来,要么都能出来,有的能出来,有的查不到这种很不好排查。一点一点排查吧。解决步骤:遇到这种问题,只能一步一步进行排查了。1.首先看filebeat里有没有采集到应用的日志,查询filebeat的日志,是有采集到应用日志的。说明filebeat这块没有问题,继续排查。2.es有的日志能查到,有的日志查不到,说明es没有问题,如果有问题应该啥日志都查询不到。说明问题不是在es这里。继续排查。由于我们原创 2022-01-21 18:20:39 · 1504 阅读 · 0 评论 -
kubernetes部署EFK启动报错max file descriptors [50000] for elasticsearch process is too low, increase to at
1.故障描述:给一台主机打标签上EFK的标签,让这台主机上部署data,master,client的容器。结果这台主机上的pod一直起不来。pod一直报CrashLoopBackOff。2.解决思路:遇到问题先别慌,第一件事情,先看日志,查看pod的日志,报这个错max file descriptors [50000] for elasticsearch process is too low, increase to at least [65536],开始根据这个报错找解决方法。3.解决方法:原创 2020-12-22 21:10:28 · 461 阅读 · 2 评论 -
检测EFK集群部署是否成功的命令
部署完成后需要检测es的状态用:curl -u 'es用户名:密码' http://elasticsearch的svc名称.es所在分区.svc.cluaster.local:9200/_cat/health?v --查看es的集群信息curl -u 'es用户名:密码' http://elasticsearch的svc名称.es所在分区.svc.cluaster.local:9200/_cat/node?v --查看node的信息curl -u ‘admin:xxxx’clie...原创 2020-12-02 22:00:25 · 364 阅读 · 0 评论 -
ansible修改kubelet,kube-proxy文件里的本机ip
需求:一共有33台主机需要纳管到集群中,需要给每台主机拷贝Kubelet和proxy文件,但是这两个文件内都有一个参数需要修改成自己本机的ip地址。不可能到这30多台主机上一台一台去修改,那太累了。效率还低。这时候想到了ansible的j2模板,然后在使用他内置的setup模块就可以了实现步骤:1.先写一个j2文件,里面ip的参数写成系统自带的参数。cat kubelet.j2kubernetes kubelet (minion) configKUBELET_ARGS="–root-dir=原创 2021-02-19 15:21:10 · 513 阅读 · 3 评论 -
ansible中with_items语句
迭代:当有需要重复性执行的任务时,可以使用迭代机制对迭代项的引用,固定变量名为 “item”要在task中使用with_items给定要迭代的元素列表列表元素格式:字符串字典范例:cat with_items.yamlhosts: testremote_user: roottasks:name: add several usersuser: name={{ item }} state=present groups=wheelwith_items:testuser1test原创 2021-04-19 19:53:37 · 2342 阅读 · 0 评论 -
ansible中when语句
when语句,可以实现条件测试。如果需要根据环境变量,facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试,通过在task后添加when子句即可使用条件测试,jinj2的语法格式范例:cat when.yamlhosts: testtasks:name: install mysqlyum: name=mysql-serverwhen: ansible_distribution_major_version == “6”name: install mariadbyu原创 2021-04-15 21:09:00 · 1018 阅读 · 1 评论 -
ansible中roles角色
roles角色角色是ansible自1.2版本引入的新特性,用于层次性、结构化地组织playbook。Roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include它们的一种机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。运维复杂的场景:建议使用roles,代码复用度高rol原创 2021-04-09 22:30:42 · 796 阅读 · 4 评论 -
Ansible普通用户执行命令
背景:有一批主机部署k8s服务,但是没有给root权限。几十台主机不能手动一台一台部署吧,肯定得用ansible吧。既节省时间又提高工作效率。操作步骤:首先在ansible.cfg配置文件中添加普通用户的信息,请看以下截图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z19erQX8-1606830872793)(C:\Users\machenike\AppData\Roaming\Typora\typora-user-images\1606830800277原创 2020-12-01 21:56:42 · 2488 阅读 · 0 评论 -
ansible中的template模板
template介绍Jinja是基于Python的模板引擎。template类是Jinja的另一个重要组件,可以看作一个编译过的模块文件,用来生产目标文本,传递Python的变量给模板去替换模板中的标记。template范例:\1. # scp root@192.168.175.130:/etc/httpd/conf/httpd.conf ./templates //复制被管理端的配置文件到本地# vim templates/httpd.conf //在管理端将配置文件要修改的地方定义变量原创 2021-03-28 20:22:48 · 928 阅读 · 2 评论 -
git总结
git环境配置查看不同级别的配置文件:查看系统configgit config --system --list 查看当前用户配置git config --global --listgit config 配置:在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:1、仓库级别 local 【优先级最高】2、用户级别 global【优先级次之】3、系统级别 system【优先级最低】git核心理论工作区域git本地有三个工原创 2021-07-30 22:37:16 · 280 阅读 · 0 评论 -
git push报错解决
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)原创 2022-08-20 23:04:12 · 474 阅读 · 0 评论 -
sftp常用命令
常用命令:sftp user@ip你要用sftp, 当然得登录到sftp服务器啊, 在linux的shell中执行上面的命令后, linux shell会提示用户输入密码, 我们就输入password吧。 这样就成功建立了sftp连接。help建立连接后, linux shell中的$编程了sftp>, 这也对。 现在执行以下help, 可以看看sftp支持哪些命令。pwd和lpwdpwd是看远端服务器的目录, 即sftp服务器默认的当前目录。 lpwd是看linux本地目录。ls和ll原创 2020-12-24 15:13:19 · 544 阅读 · 0 评论 -
confluence报错Application cannot be null
问题描述confluence服务和数据库重启以后打开confluence页面报如下所示的错误:解决步骤:1、第一件事查看日志,查看日志报Confluence returns system error due to ‘Invocation of method ‘isShowSignUp’ in class com.atlassian.confluence.user.actions.LoginAction threw exception java.lang.NullPointerException at原创 2022-05-17 13:53:32 · 2989 阅读 · 8 评论 -
清华大学开源软件镜像站地址
https://mirrors.tuna.tsinghua.edu.cn/原创 2021-06-08 17:06:02 · 667 阅读 · 0 评论 -
kill -9 进程 杀掉僵死进程
用 ps 和 grep 命令寻找僵尸进程命令注解:-A 参数列出所有进程 -o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 运行结果参考如下:这时,我们可以使用 kill -HUP 12339来杀掉这个僵尸进程运行后,可以再次运行来确认是否已经将僵尸进程杀死 如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例原创 2021-03-20 09:51:16 · 1928 阅读 · 0 评论 -
kubernetes环境证书x509问题解决
故障描述:集群部署服务一直报x509错误,导致pod起不来解决步骤:1.首先先排查证书,检查所有的证书是否有问题使用md5sum 比对证书的md5值看是否都一致。最后结果是证书都是一致的,都没问题。2.查看集群的endpoints,使用kubectl get ep 命令,查出来集群有问题,我们一共是3个master,但是查出来2个。查出来的这2个还有问题,可能是之前同事把master换了别的主机以后没有修改ep。导致现在查出来ep的值多了一个.5的主机,少了61和63主机的ip。3.修改ep的原创 2021-02-19 15:17:33 · 1693 阅读 · 0 评论 -
ssh连接主机特别慢,主机上的操作都特别卡,部署的docker,kubelet访问超时问题
故障描述1.我负责的环境上有一台主机可以ping通,但是ssh连接特别长时间才能连接上,登录上去以后,systemctl status docker,systemctl status kubelet 的时候,报超时,查看别的服务也是超时。2.top查看负载比较高,还有2个僵尸进程解决步骤1.通过命令查看那2个僵尸进程,具体是什么进程ps -A -ostat,ppid,pid,cmd |grep -e ‘1’2.查看到2个僵尸进程如下所示。3.试着将这2个进程杀掉。发现根本杀不掉。只能杀父进程原创 2021-02-01 21:39:16 · 503 阅读 · 0 评论 -
系统/apps目录下的进程杀不掉的问题
1.使用ps -ef | grep apps 过滤出apps目录下有一些进程,我现在想要杀掉这个2.通过kill -9 把所有的进程都干掉了,但是还是umout卸不掉/apps这个目录3.使用lsof命令查看/apps目录 lsof /apps 查看还有进程在占用,然后在把进程杀掉,就可以卸载掉了...原创 2020-12-29 13:47:34 · 293 阅读 · 0 评论 -
运维经验总结
1.vmware虚拟机Centos系统:启动网卡报No suitable device found for this connection这个cuo错查了一些资料,试了一下方法都不行,最后把网卡给删除了,又重新添加了一份网卡,再重新登录虚拟机,查看可以上网了。...原创 2020-03-10 10:30:14 · 750 阅读 · 0 评论