记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
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集群机器需要满足以下几个条件:...
k8s 部署jenkins实现动态slave 一、创建namespacekubectl create namespace devops 二、创建PVC 我的k8s集群已经配置过nfs-storageclass了,所以下面只创建了pvc,pv是自动创建的apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jenkins-pvc
namespace: devops
spec:
storageClassName: nfs-storage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi 三、创建ServiceAccount---
apiVersion: v1
kind: ServiceAccount
metadata:
name: jenkins
namespace: devops
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
labels:
kubernetes.io/bootstrapping: rbac-defaults
name: jenkins
namespace: devops
rules:
- apiGroups:
- ""
resources:
- pods
- pods/log
- pods/exec
verbs:
- create
- get
- watch
- delete
- list
- patch
- update
- apiGroups:
- ""
resources:...
docker安装jenkins_slave节点并通过docker构建项目 docker安装jenkins-jnlp-slave并在从节点使用docker构建项目 一,环境说明。 1,jenkins-master主构建节点,系统:centos7,IP: 192.168.1.20 ,Jenkins安装到docker容器中,实现master节点会新增容器中构建项目,完成后,会自行删除构建的容器。 具体方法看:docker安装jenkins使用npm容器构建Node.js+实现cicd部署-虚拟化云计算,DBA,系统安全,路由交换。 (micoder.cc) 2,Jenkins-slave从构建节点,系统:centos7,IP: 192.168.1.41 , jnlp-slave安装到docker容器中,并实现构建项目时,在从节点会新增容器中构建项目,完成后,会自行删除构建的容器。 二,从节点容器创建。 1,流程图,实现主从节点与项目工程构建环境全是docker中运行。 2,jenkins-master中配置slave从节点相关信息。 具体信息如下: 1,名称: jnlp-slave,这个可以随意填写,后面会用来。 2,远程工作目录,需要设置一个,这里填写: /var/jenkins_home。 3,标签,这里填写: slave,那么在pipeline中,添加此标签,即可实现在从节点中构建工程。 ...
html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; }
.mac-os-11 { --title-bar-height:28px; }
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
iframe { margin: auto; }
a.url { word-break: break-all; }
a:active, a:hover { outline: 0px; }
.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; o...
ansible-playbook 执行剧本时的sudo-su使用方法1,由于服务器基本上不能使用root登陆,只能使用普通账号,使用sudo来管理系统,所以有些操作需要提取执行。2,下面来个简单演示ansible-playbook执行sudo权限操作方法。以下是YAML内容:```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等方式,默认为sudobecome_user: root #切换指定的用户当然,如果你采用了sudo方法,可能需要使用visudo命令修改成无需提供密码方法,并且上面的示例中 用户 elk,也要有sudo相关权限,比如Centos,RHEL加入wheel组。4,become语句的使用,可以...
CentOS 7 DR模式LVS搭建1,环境说明。调度器LB : 192.168.94.111 系统: Centos6真实web服务器1 : 192.168.94.22 系统:Centos6真实web服务器2 : 192.168.94.33 系统: Centos6VIP : 192.168.94.1112,脚本内容与说明。1,Centos6安装ipvsadm软件命令,如下 :yum install -y ipvsadm
2,脚本有两个,一个是 lvs主机需要配置的,具体如下: #!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.94.111
rs1=192.168.94.22
rs2=192.168.94.33
#注意这里的网卡名字
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -At $vip:80 -s wrr
$ipv -at $vip:80 -r $rs1:80 -g -w 1
$ipv -at $vip:80 -r $rs2:80 -g -w 1
注意:LVS不支持端口修改,所以后端rs主机端口必需一致。3,两台realserver主机需要使用脚本,具体如下。[root@web1 ~]# vim /usr/local/sbin/lvs_dr_rs.sh #/bin/bash ...
最新评论