记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
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 ...
如何使用Podman部署podPodman是CentOS 8和RHEL 8的新容器部署引擎。尽管它的目标与Docker引擎相同(部署和管理容器),但它的实现方式非常不同——至少在底层是这样。从用户的角度来看,它的工作方式与Docker非常相似。您可以使用与Docker引擎相同的方式来获取映像和部署容器。可以将pod看作是一种将相关容器分组在一起的方法,以便更容易地进行管理(例如,Wordpress容器及其所需的MySQL数据库容器是通过单个pod进行管理的)。由于Podman将每个容器部署为自己的流程,因此这是创建互连容器的一种非常有效和简单的方法。一、准备工作1、已安装Podman的CentOS 8系统服务器运行实例2、具有sudo特权的用户3、要了解如何在CentOS 8上安装Podman,请参阅:如何在CentOS 8上安装Podman容器引擎。二、如何创建一个新的pod首先要做的是创建一个新的容器。创建新容器的命令是:podman pod create当命令返回新容器的ID时,您将知道容器是否已成功创建。这将创建一个非常基本的pod。你可以使用一些选项创建一个pod,如:--cgroup-parent value-设置pod的父cgroup--infra-创建一个与容器关联的基础容器,以共享命名空间--infra-command value-启动pod时将在infra容器上运行的命令(例如“ / pa...
docker容器与外网互访流程讨论容器如何与外部世界通信。这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访问外网的。[root@localhost ~]# ping -c 2 www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=128 time=12.2 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=15.1 ms 我们看一下容器是否也能访问外网呢?[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7b1aff354b3 busybox "sh" 3 seconds ago Up 3 seconds reverent_ganguly
[root@localhost ~]# docker exec -it f7b1aff354b3 ping www.baidu.com
PING www.baidu.com (180.101.49.11): 56 data bytes
6...
最新评论