记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题,
 
0
Prometheus基于文件的服务发现一,prometheus的服务发现简介。服务发现支持: endpoints,ingress,kubernetes,node,pod,service。Prometheus也提供了服务发现功能,可以从consul,dns,kubernetes,file等等多种来源发现新的目标。其中最简单的是从文件发现服务。• azure_sd_configs • consul_sd_configs • dns_sd_configs • ec2_sd_configs • openstack_sd_configs • file_sd_configs • gce_sd_configs • kubernetes_sd_configs • marathon_sd_configs • nerve_sd_configs • serverset_sd_configs • triton_sd_configs二、具体过程。    1,环境介绍:      1),IP: 192.168.1.20,docker主机安装prometheus,node-exporter.       2),IP: 192.168.1.41     2,prometheus安装说明,docker容器的具体安装命令不再说了,比较简单,我这里修改了端口,其它的不变 具体可以看下图。 3,prometheus容器中的/etc/prometheus/prometheus.yml配置文件,具体内容如下:         编写配置文件:vim prometheus.yml# my global config global:   scrape_inte...
ansible-playbook上传脚本执行并查找匹配文件下载一,环境说明。 1,IP:192.168.1.20,Centos6,ansible主机。 2,IP:192.168.1.25-28,Centos6,保存sim相关信息,受控机。 3,目标:提取受控机中产生登陆信息的sim号码,并排序去重后打包。 数据样本: /home/TrackFile/138/5555/6666/20211201.txt ,号码分段,有登陆信息后,每日一个文档二,脚本与YAML文件编写。 1,编写simcount.sh脚本,用来统计远程主机的sim号码,并排序去重后打包。 simpwd 是号码登陆信息的保存目录,simcount为上传的脚本保存目录。#!/bin/bash# 统计目录下产生信息的sim号码并去重排序,打包。simpwd='/home/aaaa/TrackFile' #sim信息保存目录simcount='/home/aaaa/simonline' #统计脚本保存目录hostip=`/sbin/ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`#找出轨迹目录下产生定位的sim号码find $simpwd -name "202112*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202112.txtfind $simpwd -name "202111*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$...
docker安装prometheus+grafana监控平台一,环境说明。 1,主机IP:192.168.1.20,docker环境,安装prometheus, node-exporter,alertmanager。 2,主机IP:192.168.1.41,docker环境,安装pushgateway,grafana,node-exporter。二,各个组件的安装。 1,192.168.1.20主机中先建好相关挂载目录。 prometheus挂载文件 :   /opt/prometheus/config/prometheus.yml     --->     /etc/prometheus/prometheus.yml /opt/prometheus/work --->   /prometheus 2,prometheus.yml文件的具体内容。# my global configglobal:  scrape_interval: 15s  evaluation_interval: 15s  # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting:  alertmanagers:    - static_configs:        - targets:            - 192.168.1.20:9093rule_files:  # - "first_rules.yml"  # - "second_rules.yml"  # - "/etc/prometheus/rules/*.rules"scrape_configs:&nb...
 
0
ansible批量更新修改用户密码 一,问题背景因为服务器用户密码定期90天必须修改密码,因此需要进行批量化操作。使用有sudo权限的普通用户进行操作二,环境系统IP软件备注centos7192.168.11.140ansible2.9.7安装需要epel源centos7192.168.153.130nullnull三,操作步骤取消key验证[admin]# sudo sed -i 's/^#host_key_checking = False/host_key_checking = False/g' /etc/ansible/ansible.cfg 定义hosts文件[admin]# sudo vim /etc/ansible/hosts [backsrvs] 192.168.153.130 ansible_ssh_user=admin ansible_ssh_pass=admin1234 ansible_become_pass=admin1234 ansible_ssh_user,ansible_ssh_pass 这两个是需要更新密码的主机的远程登陆账号与密码(如使用ssh互信就不用再写密码),ansible_become_pass是运行sudo命令的账号的密码,再运行命令时,如果 提示输入当前账号的密码,就需要使用此密码。 定义playbooks[admin]# sudo vim /etc/ansible/update_users_pd.yml - name: 由于线上服务器普通账号三个月密码需要更新,这里采用普通用户登陆,再用sudo命令修改密码。 hosts: backsrvs remote_user: admin gather_facts: false tasks: - ...
docker安装gitlab-runner-ci构建项目时缓存使用方法一,环境说明。 1,docker中安装gitlab-runner。 2,gitab仓库中添加的项目中配置ci/cd流水线后,gitlab-runner会新建容器来构建部署项目。 3,gitlab-runner,如果不使用缓存,那么构建项目时速度比较慢。因为每次使用容器构建时,都要重新下载相关依赖。二,gitlab-runner在容器中使用缓存的项目中.gitlab-ci.yml配置具体内容。 1,具体内容如下:image: node:14masterbuild:    tags:    - cicdrunner    stage: build    cache:      key: same-key      paths:        - node_modules/    script:      - npm install --registry=https://registry.npm.taobao.org      - npm run build    only:      - master &nbs...
ansible-playbook 执行剧本时的sudo-su使用方法 1,由于服务器基本上不能使用root登陆,只能使用普通账号, 使用sudo来管理系统,所以有些操作需要提取执行。 2,下面来个简单演示ansible-playbook执行sudo权限操作方法。 以下是YAML内容:- name: 启动rs组的所有主机的nginx服务。 hosts: rs user: elk tasks: - name: 启动nginx命令. become: yes become_method: sudo service: name: nginx state: started 3,从上面YAML文件内容可以看出来,这里是采用单个任务中sudo提取方法。 上面的切换主要使用的是become语句,其参数主要解释如下: become:        yes #是否允许身份切换 become_method: sudo#切换用户身份的方式,有sudo、su、pbrun等方式,默认为sudo become_user: root #切换指定的用户 当然,如果你采用了sudo方法,可能需要使用visudo命令修改成无需提供密码方法, 并且上面的示例中 用户 elk,也要有sudo相关权限,比如Centos,RHEL加入wheel组。 4,become语句的使用,可以是在全局位置(见下面示例)。- name: 启动rs组的所有主机的nginx服务...
HAproxy健康检查的三种方式 1、通过监听端口进行健康检测 。这种检测方式,haproxy只会去检查后端server的端口,并不能保证服务的真正可用。 配置示例:listen http_proxy 0.0.0.0:80 mode http cookie SERVERID balance roundrobin option httpchk server web1 192.168.1.1:80 cookie server01 check server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2 2、通过URI获取进行健康检测 。检测方式,是用过去GET后端server的的web页面,基本上可以代表后端服务的可用性。  配置示例:listen http_proxy 0.0.0.0:80 mode http cookie SERVERID balance roundrobin option httpchk GET /index.html server web1 192.168.1.1:80 cookie server01 check server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2 3、通过request获取的头部信息进行匹配进行健康检测 。这种检测方式,则是基于高级,精细的一些监测需求。 通过对后端服务访问的头部信息进行匹配检测。  配置示例:liste...
HAproxy 负载均衡(对后端具备健康检测) 因为haproxy的包里有.spec文件,所以我们可以用rpm命令来自己构建ha的rpm包:   53 yum install rpm-build -y 57 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz 58 yum install pcre-devel -y 59 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz 60 yum install gcc -y 61 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz 62 cd rpmbuild/RPMS/ [root@server1 x86_64]# lshaproxy-1.7.3-1.x86_64.rpm [root@server1 x86_64]# rpm -qpl haproxy-1.7.3-1.x86_64.rpm /etc/haproxy /etc/rc.d/init.d/haproxy /usr/sbin/haproxy /usr/share/doc/haproxy-1.7.3/usr/share/doc/haproxy-1.7.3/CHANGELOG /usr/share/doc/haproxy-1.7.3/README /usr/share/doc/haproxy-1.7.3/architecture.txt /usr/share/doc/haproxy-1.7.3/configuration.txt /usr/share/doc/haproxy-1.7.3/intro.txt /usr/share/doc/haproxy-1.7.3/management.txt /usr/share/doc/haproxy-1.7.3/proxy-protocol.txt /usr/share/man/man1/haproxy.1.gz [root@server1 x86_64]# rpm -ivh haprox...
基于Kubernetes+GitLab+Jenkins+动态slave-自动化项目部署 科技在进步,技术在更新,革命就不停止。 一、部署流程 开发人员把做好的项目代码通过git推送到gitlab,然后Jenkins通过 gitlab webhook (前提是配置好),自动从拉取gitlab上面拉取代码下来,       然后进行build,编译、生成镜像、然后把镜像推送到Harbor仓库;然后在部署的时候通过k8s拉取Harbor上面的代码进行创建容器和服务,       最终发布完成,然后可以用外网访问。 部署流程如下: (大佬的图,大概这个过程) 环境准备: IP 角色 172.25.0.30 master1、Jenkins 172.25.0.31 node1、Gitlab ...
K8s+docker +GitLab-ci/cd持续集成与交付   一、部署流程 开发人员把项目代码通过git推送到gitlab,触发gitla-runner自动从拉取gitlab上面拉取代码下来,然后进行build,编译、生成镜像、然后把镜像推送到Harbor仓库;然后在部署的时候通过k8s拉取Harbor上面的代码进行创建容器和服务,最终发布完成,然后可以用外部访问 部署流程如下: 环境准备: IP 角色 172.25.0.30 master 172.25.0.31 node1、Gitlab 172.25.0.32 node2、Harbor、gitlab-runner   二、K8s 安装 1. 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件:...
    总共248页,当前第4页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14