![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
Man_In_The_Night
这个作者很懒,什么都没留下…
展开
-
Ubuntu16 永久修改 DNS
环境: ubuntu16.04操作步骤:1、修改 /etc/resolv.confnameserver 114.114.114.114nameserver 114.114.114.114options timeout:1options attempts:32、安装 resolveconfapt install resolveconf3、修改配置文件 /etc/resolvconf/resolv.conf.d/head# Dynamic resolv.conf(5) file for原创 2021-09-10 20:02:45 · 1033 阅读 · 0 评论 -
记一次 proxy 导致的端口访问失败
背景:infra 交付了一批服务器,部署好服务后,发现所有服务器端口 curl 不可环境: 服务器 IP 192.168.1.1, 内部网络问题详情:1、服务器部署了 node_exporter, 端口 9100. lsof 和 netstat -nlp 均显示 9100 端口启用,防火墙未开启访问 curl 192.168.1.1:9100/metrics 没有结果访问 curl 127.0.0.1:9100 /metrics 没有结果2、安装 apache2 apt install apa原创 2021-09-10 19:48:50 · 1978 阅读 · 0 评论 -
Ubuntu20 安装 python2 的 pip
Ubuntu20 安装 pip2环境:ubuntu20, python2.7.181、配置 pip.conf(如果网络 ok,这一步省略)root@myserver:~# cat /etc/pip.conf # BEGIN ANSIBLE MANAGED BLOCK[global]# END ANSIBLE MANAGED BLOCKindex-url = https://pypi.tuna.tsinghua.edu.cn/simpletrusted-host = pypi.tuna.tsi原创 2021-09-10 19:20:45 · 1265 阅读 · 0 评论 -
linux 查看用户使用的进程或线程数量
$ ps h -Led -o user | sort | uniq -c | sort -nr 2155 cloudera-scm 1949 root 1037 hdfs 786 hbase 541 hive 315 yarn 269 hadoop 233 oozie 229 mysql 147 mapred 140 hue 107 sentry 105 zookeeper 102 httpfs原创 2021-04-22 21:13:05 · 2658 阅读 · 0 评论 -
Megacli 常用命令
环境: ubuntu 16.04,megalic 8.07.14,服务器 raid 卡 "LSI Logic / Symbios Logic MegaRAID SAS-3 3108“1、查看 raid 卡命令lspci -knn | grep "RAID bus controller"2、常用 megacli 命令megacli -LdPdInfo -aALL # 查看所有逻辑盘、物理盘信息MegaCli -LDInfo -Lall -aALL # 查看所有逻辑盘信息megacli -LDIn原创 2021-04-16 20:57:56 · 1294 阅读 · 0 评论 -
Megacli 定位磁盘
背景: 磁盘 /dev/sdb 重做 raid0,需要先定位 sdb 对应的物理盘,然后使用 raid 工具重做 raid。环境:环境: ubuntu 16.04,megalic 8.07.14,服务器 raid 卡 “LSI Logic / Symbios Logic MegaRAID SAS-3 3108”1、查看 raid 卡命令lspci -knn | grep "RAID bus controller"2、查看 /dev/sdb 对应的逻辑盘# ll /dev/disk/by-path原创 2021-04-16 20:55:45 · 1039 阅读 · 0 评论 -
jenkins cicd k8s 多分支流水线构建
环境:centos7.6 、Docker version 19.03.5、Jenkins 2.249.3(jackson = 2.11.2、docker plugin = 1.2.1)主要思想: 使用 docker plugin 配置一个动态的docker jenkins jnlp slave,该镜像中包含 mvn、git、docker、kubectl 等命令。创建多分支流水线,Jenkinsfile 使用前面配置好的 jenkins slave。在该 jenkins slave 中执行 maven 构建原创 2020-12-26 16:11:06 · 652 阅读 · 0 评论 -
jenkins 制作包含 maven 等命令的 jnlp slave镜像
环境: centos7, docker 19.03.5, vm 192.168.116.6Dockerfile 内容如下FROM centos:7.6.1810ENV TIMEZONE=Asia/Shanghai \ LANG=zh_CN.UTF-8COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repoCOPY docker-ce.repo /etc/yum.repos.d/docker-ce.repoRUN mkdir -p原创 2020-12-26 14:24:13 · 1024 阅读 · 0 评论 -
jenkins 使用 docker plugin 连接 k8s
环境:centos7.6 、Docker version 19.03.5、Jenkins 2.249.3(jackson = 2.11.2、docker plugin = 1.2.1)1、安装 kubernetes cli 插件,否则会报错java.lang.NoSuchMethodError: No such DSL method 'withKubeConfig' found among steps [approveReceivedEvent,...2、配置 docker“系统管理”–“节点管理原创 2020-12-25 10:44:05 · 699 阅读 · 0 评论 -
jenkins docker 添加 volume 报错
环境:centos7.6 、Docker version 19.03.5、Jenkins 2.249.3本文原本使用的是 jenkins 2.263.1 ,但是 docker jenkins slave 在使用 volume 时一直报错 node offline查看 jenkins 日志:Cannot construct instance of com.github.dockerjava.api.model.Volume (although at least one Creator exists):原创 2020-12-24 20:20:20 · 368 阅读 · 1 评论 -
自定义 jenkins jnlp-slave 镜像
环境:centos7.6 、Docker version 19.03.5、Jenkins 2.263.1、jenkins url 172.28.31.214:8080完整 github 项目 1、从 https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting 下载对应版本的 remoting.jar,重命名为 slave.jar, 此处使用 https://repo.jenkins-ci.org/public/org/jenkins-c原创 2020-12-23 14:20:49 · 2337 阅读 · 0 评论 -
jenkins添加 docker 静态节点
官方的镜像 jenkins/jnlp-slave 镜像使用方法:参考文章不过官方镜像 jenkins/jnlp-slave 只适合添加 docker 静态节点,不适合 docker 动态节点,否则会报错。Still waiting to schedule task All nodes of label ‘jenkins-slave’ are offline 、Cannot construct instance of com.github.dockerjava.api.model.Volume (al原创 2020-12-23 13:58:09 · 1418 阅读 · 0 评论 -
jenkins 使用 docker 作为动态代理节点
环境: centos7,jenkins 使用 docker 构建,参考. docker 19.03.5, vm 192.168.116.6jenkins 需要安装 docker 插件1、配置 docker hostsvm 192.168.116.6 设置 docker hosts[root@k8s-noed02 ~]# cat /etc/docker/daemon.json { "bip": "192.167.1.1/24", "hosts": [ "unix:///var/ru原创 2020-12-23 10:12:45 · 1585 阅读 · 3 评论 -
centos7 安装指定版本的 mariadb
环境:centos7.61、配置mariadb源[root@bdcplmslave03 ~]# cat /etc/yum.repos.d/mariadb.repo[mariadb]name = MariaDBbaseurl = https://mirrors.ustc.edu.cn/mariadb/yum/5.5/centos7-amd64/gpgkey= https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDBgpgcheck原创 2020-12-17 11:46:24 · 989 阅读 · 0 评论 -
DevOps 小组运维管理手册
参考《unix/linux 系统管理技术手册》组织需求维护一份开放任务的列表给自己的任务排列出优先级,并分配资源向用户和企业沟通任务状态监视计算环境,包括安全监视跟踪新出现的技术拓展 IT 人员的技能帮助遵守规章制度编写文档,记录可重复性的过程,可复用的 ansible 脚本最好及时将自己的文档更新到 gitlab,维护好 devopshandbook运维手册评测针对协商目标的进展情况,并报告状态指定容灾规划,并且做好准备要有足够的灵活性,在让用户高兴的同时也能足够遵守纪律,进而原创 2020-11-27 16:52:33 · 736 阅读 · 0 评论 -
nginx 限制 ip 访问
环境 centos7.6、 nginx 1.16.1背景:nginx 服务器已经配置好了公网 ip 和 域名证书(公网 ip 对我来说是透明的,没有管理权限,所以只好在 nginx 服务器上做 ip 限制)未修改之前,登录日志的 remote_addr 总是为 192.12.182.3,猜测这个为 公网 ip 对应的内网 ip。现在操作只允许公网 ip 120.231.12.24 和 192.12.182.3 访问。安装 nginx 请看这里[root@ansible002 ~]# cat /etc原创 2020-11-24 16:59:14 · 628 阅读 · 0 评论 -
centos7 安装 nodejs
环境: centos7.6、 node-v14.15.1centos7 yum 源中的 nodejs 版本6.17.1 太旧,所以需要自己安装1、下载 nodejs 二进制安装包,nodejs 官网太卡,所以从淘宝镜像下载2、解压文件到 /usr/local/lib/nodejs# mkdir -p /usr/local/lib/nodejs# tar -zxvf node-v14.15.1-linux-64.tar.gz -C /usr/local/lib/nodejs 3、设置环境变量/原创 2020-11-20 11:11:11 · 312 阅读 · 0 评论 -
docker error while loading shared libraries
环境: centos7.6 、docker 19.03在使用 docker build 后,执行 docker run ,容器起不来,报错 error while loading shared libraries: libprotobuf.so.9,镜像中已经有 libprotobuf.so.9,怀疑是环境变量问题导致。解决方法直接跳到第 8 步1、docker build# docker build -t data:18 .Dockerfile 大致如下,192.168.7.17/energ原创 2020-11-20 08:49:57 · 4128 阅读 · 1 评论 -
nginx 自定义 404、50x 错误页面
环境 centos7.6、 nginx 1.16.11、安装 nginx,需要配置 epel 源(略)yum install -y nginx2、启动 nginxsystemctl start nginxsystemctl enable nginx3、配置 nginx 反向代理 http://10.2.1.16。开通 nginx 服务器访问 10.2.1.16 端口权限(略)这里配置 worker_processes 4,一般根 cpu 核数一致worker_connections 1原创 2020-11-05 16:42:48 · 1727 阅读 · 0 评论 -
istio 部署
环境:kubernetes v1.11.5,istio 1.3.2,centos7安装部署1、 github 下载 istio1.3.2 版本,解压到 istio-1.3.22、创建 namespace istio-system[root@k8s01 istio-1.3.2]# kb create ns istio-system3、创建 crd[root@k8s01 istio-1.3.2]# helm template install/kubernetes/helm/istio-init/原创 2020-10-29 13:37:15 · 590 阅读 · 0 评论 -
记一次 kubeflow notebook-srever not ready
环境: kubeflow 1.1.0, kubernetes 1.15.3, centos7.6问题: 通过 kubeflow dashboard 部署应用,发现应用 not ready。1、查看 pod 日志, 发现 Envoy proxy is NOT readykb logs -f x-0 -c istio-proxy -n nvidia-gpu...info Envoy proxy is NOT ready: config not received from Pilot (is Pilo原创 2020-10-29 11:32:21 · 690 阅读 · 0 评论 -
centos7 使用 supervisor 后台管理程序
环境: centos7.6 ,python3.6.8 , supervisord 3.4.0使用 pip 部署的 supervisord 出现了问题,配置修改错误,所以改用 yum 安装 supervisord1、安装 epel 源,略2、安装 supervisordyum install -y supervisord3、配置 supervisord这里添加 2 个需要启动的程序[root@mapleaves ~]# cat /etc/supervisord.d/microblog.ini原创 2020-10-23 16:38:10 · 224 阅读 · 0 评论 -
kubernetes 删除 default service kubernetes
使用 kubectl delete all --all, 删除了 kubernetes service,这才想起来了解 default namespace 下面的 service kubernetes。service kubernetes 提供 kube-apiserver 服务,集群中的 pod 通过这个服务访问 kube-apiserver. 这个服务由 k8s 自动创建,删除了,等会儿就会自动创建好[root@node1 kubeflow]# kubectl describe svc kuber原创 2020-10-20 18:54:04 · 1338 阅读 · 0 评论 -
查看 namespace 下面所有的资源并删除
查看 namespace 下面所有的资源kubectl api-resources -o name --verbs=list --namespaced | xargs -n 1 kubectl get --show-kind --ignore-not-found -n {namespace}删除 namespace 下面所有的资源(慎重)kubectl delete all --all -n {namespace}参考文章:https://juejin.im/post/684490397494原创 2020-10-20 17:18:18 · 12957 阅读 · 0 评论 -
kubernetes 查看哪些 pod 正在使用 pvc
[root@k8s01 ~]# cat pvc-pod.shkubectl get pods --all-namespaces -o=json | jq -c '.items[] | {name: .metadata.name, namespace: .metadata.namespace, claimName:.spec.volumes[] | select( has ("persistentVolumeClaim") ).persistentVolumeClaim.claimName }'[roo原创 2020-10-20 16:26:25 · 4022 阅读 · 1 评论 -
EFK 收集 httpd 日志
环境:centos7.6、filebeat7.9.2、 elasticsearch7.9.2、kibana7.9.2,Apache/2.4.6kibana 未配置账号密码,需要注意网络安全1、安装 ElasticSearch官网下载 elasticsearch-7.9.2-x86_64.rpmrpm -ivh elasticsearch-7.9.2-x86_64.rpm启动 ElasticSearchsystemctl start elaticsearch2、安装 kibana官网下载原创 2020-10-17 15:31:08 · 197 阅读 · 0 评论 -
kubespray 离线安装 kubernetes
环境: centos7.6,kubespray-2.14.1,内网配置好 yum 源、pip源、docker-ce 源(可以考虑使用 nexus 代理 ),nexus 代理好 docker hub、aliyun docker registry1、copy 资产目录[root@ansible002 kubespray-2.14.1]# cp -r inventory/sample inventory/mycluster2、配置好内网 pip 源,安装 requirement.txt[root@ans原创 2020-10-13 16:49:46 · 1952 阅读 · 3 评论 -
centos7 安装 kafka
环境 centos7 ,python 2.7 , kafka 2.3.0,kafka-python 2.0.2kafka-python 2.0.2 不支持 kafka 2.5.0 及以上版本,可以查看 pypi 官网信息1、官网下载 kafka 安装包2、启动 kafka 程序[root@ansible002 ~]# tar -zxvf kafka_2.11-2.3.0.tgz[root@ansible002 ~]# cd kafka_2.11-2.3.0shell1 运行 zookeeper原创 2020-10-09 18:41:04 · 249 阅读 · 0 评论 -
centos7 安装 mongodb
环境: centos7.6, mongodb-server v2.6.121、增加 epel yum 源2、安装yum install -y mongodb-server mongodb3、启动服务systemctl start mongod4、验证服务开启mongo5、常用命令查看数据库> show dbsadmin (empty)local 0.078GBtest (empty)选择数据库> use testswitched to db tes原创 2020-10-08 18:28:21 · 163 阅读 · 0 评论 -
centos7 部署 memcache
安装 memcachedyum install memcached启动 memcachedsystemctl start memcached检查已经启动 memcachedyum install -y libmemcachedmemstat --servers="127.0.0.1:11211"python 使用 memcachepip install python-memcachedimport memcachemc = memcache.Client(['127.0.0.1:原创 2020-10-08 18:25:24 · 357 阅读 · 0 评论 -
linux /etc/shadow 理解
1、linux 账户密码存储在 /etc/shadow 中普通用户权限能够查看保存用户信息,每一行代表一个用户,每一行通过冒号:分为七个部分用户名密码,x表示密码保存在/etc/shadowUID,0代表rootGID,表示所在组描述信息,依次为Full Name、Room Number、Work Phone、Home Phone和Other用户主目录默认shell类型2、查看 /etc/shadow 中 root 密码部分,实际 root 密码为 123123[root@cmp39原创 2020-09-17 14:31:37 · 691 阅读 · 0 评论 -
openssl 创建 pfx 证书
环境: centos7.6, openssl 1.02k-fips生成私钥[root@ansible002 keyfile]# openssl genrsa -out server.key 1024Generating RSA private key, 1024 bit long modulus......++++++...++++++e is 65537 (0x10001)生成证书请求文件,需要填写信息,例如:cn/gd/zh/sourcecode/bdc/www.a.com[root@原创 2020-09-01 10:50:46 · 757 阅读 · 0 评论 -
harbor 定期清理 registry
环境:centos7.6,harbor1.9,python2.7定期清理harbor 作为私有 docker 仓库,经常在 cicd 中使用,导致每个镜像会有很多 tag,不即是清理,有时会导致 harbor 服务器存储空间用完。下面的脚本用于定期清理 harbor 仓库中的 docker 镜像,没个镜像保留最新的 5 个 tag。1、定期清理 harbor 镜像 python 脚本,适用于 python2.7。(改自https://www.cnblogs.com/kaishirenshi/p/1原创 2020-07-21 18:36:14 · 2102 阅读 · 0 评论 -
docker-compose 部署 harbor
1、安装 docker-ce (version > 17.06),修改 /etc/docker/daemon.json 配置 docker registry如果 docker-ce 版本低于 version > 17.06,请升级yum update docker-ce2、安装 docker-composeyum install docker-compose3、进入 github 官网,下载 harbor-offline-installer-v2.0.0.tgz4、解压,修改配原创 2020-07-21 18:20:13 · 491 阅读 · 0 评论 -
hp ilo 服务器 hpssacli 做 raid
环境: hp ilo4 DL380 Gen9,ill 页面检测到磁盘 degrade,但是操作系统 centos7 中显示磁盘(做过 raid 后的逻辑盘)正常。更换磁盘后,系统显示不出新的磁盘符 /dev/sdx,需要手动重启操作系统, 做 raid目的:不停机,直接使用 hpssacli 做 raid0需要提前删除更换的 ceph osd 对应的 lv、pv、vg1、不重新对更换后的磁盘做 raid,系统显示不出更换后的磁盘设备[root@cmp21 osd]# lsblk -dNAME原创 2020-07-21 17:43:26 · 1659 阅读 · 0 评论 -
hp ilo 服务器磁盘定位
背景:hp ilo4 DL380 Gen9,ill 页面检测到磁盘 degrade,但是操作系统 centos7 中显示磁盘(做过 raid 后的逻辑盘)正常。目的:由于更换硬盘前,需要将数据进行备份或者重平衡操作,需要知道 degrade 的物理盘对应的逻辑盘,决定该踢出哪块盘 /dev/sdx1、查看系统磁盘设备lsblk -d此时只是 degrade,系统磁盘都在,看不出问题2、安装 hpssacli去 hp 官方网站下载 hpssacli,进行安装rpm -i hpssacli-原创 2020-07-21 17:36:30 · 1126 阅读 · 0 评论 -
安装 Apache 支持SSL/TLS
环境: centos7.6安装 httpd、mod_ssl、opensslyum install httpd mod_ssl openssl生成私钥cd /etc/pki/tls/private/openssl genrsa -out server.key 2048生成证书请求文件,需要填写信息,例如:cn/gd/zh/gree/bdc/www.a.comopenssl req -new -key server.key -out server.csr自签名openssl x509 -原创 2020-07-21 17:29:23 · 268 阅读 · 0 评论 -
Esxi 上 linux vm 崩溃,数据恢复
数据恢复背景:esxi 上 vm 丢失 /boot/ 目录,导致系统崩溃,重启报错 “error: /grub2/i386-pc/normal.mod not found” ,需要恢复服务器上的数据1、将 server1 (系统已经崩溃),作为已经存在的磁盘挂载到 server2 上,以下操作均在 server2 上操作2、lsblk -f 显示 /dev/sdb2 格式 LVM2_member ,如果是 xfs 或者 ext*,那么可以直接挂载[root@localhost ~]# lsblk原创 2020-07-21 16:50:29 · 1570 阅读 · 0 评论 -
elasticsearch 定期删除索引
实验环境: cenotos7使用 docker 部署了 efk,需要定期删除索引,减少磁盘消耗。elasticksearch 地址 10.2.20.100:9200[root@ansible002 ~]# cat index_delete.sh LAST_DATA=`date -d "-15 days" +%Y.%m.%d`curl -XDELETE 'http://10.2.20.100:9200/*-'${LAST_DATA}'*'...原创 2020-06-17 11:17:06 · 469 阅读 · 0 评论 -
dmidecode 查看服务器厂商、序列号
使用下面命令查看 服务器厂商、序列号[root@maple ~]# dmidecode | grep "System Information" -A9|egrep "Manufacturer|Product|Serial" Manufacturer: LENOVO Product Name: 10*** Serial Number: M***通过 man 命令查看 dmidecode 用法,可以得知:DMI stands for Desktop Ma原创 2020-06-17 10:57:23 · 2407 阅读 · 0 评论