记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
基于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语句的使用,可以...
 
0

CentOS 7 DR模式LVS搭建

发表者:admin分类:应用服务2021-12-22 14:34:27 阅读[990]
 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 ...
 
0
如何使用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...
Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装 上节课我们使用 Helm 快速的将 Gitlab 安装到了我们的 Kubernetes 集群中, 这节课来和大家介绍如何使用 Gitlab CI 来做持续集成,首先先给大家介绍一些关于 Gitlab CI 的一些基本概念,以及如何在 Kubernetes 上安装 Gitlab CI Runner。 简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成。 在介绍 Gitlab CI 之前,我们先看看一些 Gitlab CI 的一些相关概念。 Pipeline 一次 Pipeline 其实相当于一次构建任务,里面可以包含很多个流程,如安装依赖、运行测试、编译、部署测试服务器、部署生产服务器等流程。 任何提交或者 Merge Request 的合并都可以触发 Pipeline 构建,如下图所示:+------------------+ +----------------+ | | trigger | | | Commit / MR +---------->+ Pipeline | | | | | +------------------+ ...
    总共268页,当前第25页 | 页数:
  1. 15
  2. 16
  3. 17
  4. 18
  5. 19
  6. 20
  7. 21
  8. 22
  9. 23
  10. 24
  11. 25
  12. 26
  13. 27
  14. 28
  15. 29
  16. 30
  17. 31
  18. 32
  19. 33
  20. 34
  21. 35