自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 收藏
  • 关注

原创 mysql基于xtrabackup热备配置主从复制

至此,mysql全备(热备)完成,并将主从复制配置成功。1、安装xtrabackup。

2024-01-02 16:55:46 464 1

原创 frp(实现内网穿透)服务搭建与ssh连接测试

内网穿透的英文叫做NAT traversal,又被称为端口映射或内网映射,内网穿透是网络连接术语,如下图如果我(局域网A中的一台服务器)想访问另一个局域网c中的一台服务器,可以通过拥有公网ip的B服务器加上frp服务完成端口转发,达到访问效果。

2023-12-28 13:45:07 570

原创 jdk+zookeeper+kafka 搭建kafka集群

环境资源包:jdk-8u341-linux-x64.tar.gzkafka_2.12-2.2.0.tgzzookeeper-3.4.14.tar.gz因为kafka需要Java环境,所以优先配置jdk环境,若已经配置了java环境,此步骤可以忽略二、zookeeper集群安装二、kafka集群安装至此集群搭建成功,可以正常使用了

2023-12-13 16:49:57 1144 1

原创 xtrabackup 使用说明

还有其他的一些新特性,更多的说明可以看。总结:关于更多的innobackupex的备份可以看官方文档和xtrabackup 安装使用,参数可以参考本文上面的介绍说明,通过上面的几个说明看到xtrabackup可以实现:全量、增量、压缩、打包、加密备份,并且支持多线程的备份,并且也提供了长查询超过阀值自动kill的方法,大大提升备份效率。之后,根据自己备份场景的特点,选择合理的参数,定制适合自己需求的备份脚本进行工作。⑤.复制环境中的备份:一般生产环境大部分都是主从模式,主提供服务,从提供备份。

2023-11-15 14:33:06 136

原创 解决k8s删除名称空间无法强制删除的问题

因为分析不出来原因,就去百度了,尝试了强制删除 kubectl delete namespace [namespace] --force --grace-period=0 和通过接口删除不怎么好使,后面就找到了下面的方案。总得来说,删除名称空间,一定要把名称空间下资源删干净,在删名称空间,也别随便终止了,自己测试环境瞎搞没关系,就怕上产环境大家也这么玩,最后送大家一句话,且删且珍惜!问题起因:删除k8s名称空间的时候(此时名称空间下还有很多pod)一直删不掉,被我强行ctrl +c了,

2023-10-27 17:03:57 560

原创 Jenkins构建并部署一个go语言项目

1、下载安装java方式一:#下载安装包#安装Jenkins#启动方式二:#下载Jenkins源。

2022-12-15 16:59:36 1109 1

转载 Debian10开机启动脚本

简介以前,如果想要建立服务系统,就得要到 /etc/init.d/下面去建立相对应得bash脚本来完成。现在在systemd环境下面,想要设置相关的服务启动环境,那么该如何处理呢? 系统服务的管理是通过systemd来完成的,而systemd的配置文件大部分放置于/lib/systemd/system目录中,但是官方文档指出,该目录的文件主要是原本软件所提供的设置,建议不要修改,而要修改的位置应该放置于/etc/systemd/system/目录中。举例如下:主要步骤1、ls /lib/systemd

2022-01-05 13:57:16 3003

原创 nginx解决跨域问题

nginx解决跨域问题在项目开发中,我们很常见的一个问题是,本地是localhost开发的,接口一般是给IP地址,例如http://192.168.13.14/api, 这样直接在项目中调用接口 浏览器会报跨域错误, 因为localhost和http://192.168.13.14并不是同源的。一般我们的解决方法是在webpack中设置代理,配置devServer:module.exports = { devServer: { proxy: { '/ap

2021-11-02 11:12:22 1620

原创 关于Ubuntu(Debian)软件源报错问题及解决

问题:在执行sudo apt-get update时出现以下报错,查询得知是因为换源以后,新的下载源没有公钥W: GPG error: http://mirrors.aliyun.com/debian buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386F

2021-10-27 10:12:37 7565

原创 godaddy管理域名

现在越来越多人在Godaddy上面购买域名或者空间,谁让Godaddy提供了如此高性价比的服务,但是很多新手刚开始不知道怎么解析域名,今天我们就来详细说说怎么在Godaddy域名解析。1,登入你的Godaddy账号,找到域名,点击管理。2,你可以看到自己所有购买的域名,然后在你需要解析的域名后面点击“管理DNS”。3,可以看到这些都是默认的解析地址,我们需要点击“添加”,然后增加地址。4,这里是解析类型,这里要说下,一般我们选择A类型即可。5,这里输入你的域名ip就可以了,然后保存。一般保存

2021-10-25 18:00:24 543

原创 禅道安装及管理

最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道。这是一款国产的优秀开源项目管理软件,基于敏捷项目管理理念开发而成,操作简洁,能够很好地满足目前团队中的产品、开发、测试等人员的使用。下面详细介绍如何在Linux服务器上部署禅道。1. 查看Linux服务器版本信息# cat /etc/redhat-releaseCentOS Linux release 7

2021-10-25 11:31:34 465

原创 gitlab 将公有项目改为私有项目失败

gitlab 将公有项目改为私有项目失败报错内容:改项目属性失败,报500错误 “Whoops, something went wrong on our end.”查找日志查找/var/log/gitlab/gitlab-rails/production.log ,对比执行过程,发现报错对应如下日志:OpenSSL::Cipher::CipherError ():官方推荐这个命令 gitlab-ctl tail gitlab-railsStarted GET "/-/metrics" for

2021-10-19 17:45:56 2112

原创 编写linux开机自启的脚本

1、编写脚本内容vim restart.shtouch /root/1.txt2、给脚本加可执行权限chmod 777 restart.sh3、把脚本加入 /etc/rc.local内容如下:touch /var/lock/subsys/local/root/restart.sh4、为/etc/rc.local加上可执行权限chmod +x /etc/rc.d/rc.local5、查看实验环境6、重启后查看在Linux上开机自启Java项目创建一个shell脚本vim /ho

2021-09-17 17:54:22 856

原创 ssh连接Ubuntu问题总结

Xshell SSH远程登录提示“找不到匹配的keyexchange算法”背景:习惯了xshell4 远程登录 CentOS6,CentOS7 出来以后也是平滑过渡。但随着openssh因为安全问题,这两年疯狂的滚动大版本,很多系统在升级了openssh后出现登录的各种错误;错误一:找不到匹配的keyexchange算法;解决办法:在服务器端配置文件:/etc/ssh/sshd_config,添加一行。KexAlgorithms +diffie-hellman-group-exchange-sha2

2021-09-13 17:24:21 687

原创 构建自己的镜像仓库(harbor)

harbor简介Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Regist

2021-09-08 10:26:27 187

原创 解决xshell连接不上虚拟机

步骤:检查Linux虚拟机的网络连接模式,确保它是NAT模式。(由于只在本机进行连接,所以没有选择桥接模式。当然,桥接模式的配置会有所不同,在此不做深入分析)在VMware workstation里,点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开下方的虚拟网络编辑器。选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(若勾选,会设置动态IP)。在下图中,点击NAT设置。记住上图中的子网IP范围,如上图所示表示虚拟机在192.168.44.0~192.16

2021-09-06 17:08:25 7977 6

转载 k8s集群驱逐node节点上的pod

[root@k8s-master1 ~]# kubectl drain k8s-node2 --delete-local-data --force --ignore-daemonsetsnode/k8s-node2 already cordonedWARNING: ignoring DaemonSet-managed Pods: efk/fluentd-es-nfgbj, ingress-nginx/nginx-ingress-controller-cpxtl, kube-system/calico-n

2021-08-29 09:46:28 1498

原创 缓存介绍及redis详解

储备知识传统数据库传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,由于对磁盘读写数据的操作一方面要进行磁头 的机械移动,另一方面受到系统调用(通常通过 CPU 中断完成,受到 CPU 时钟周期的制约)时间的影响,当数 据量很大,操作频繁且复杂时,就会暴露出很多问题。近年来,内存容量不断提高,价格不断下跌,操作系统已经可以支持更大的地址空间(计算机进入了 64 位 时代),同时

2021-08-25 18:40:46 184

原创 容器化部署Prometheus

[root@k8s-master-01 ~]# wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v0.7.0.tar.gz[root@k8s-master-01 ~]# tar -xf v0.7.0.tar.gz[root@k8s-master-01 ~]# cd kube-prometheus-0.7.0/manifests/setup[root@k8s-master-01 setup]# k

2021-08-24 19:58:53 209

原创 jenkins基本使用

jenkins持续集成工具Jenkins安装1、下载安装java[root@localhost ~]# yum install java-1.8.0-openjdk* -y方式一:#下载安装包[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.3-1.1.noarch.rpm#安装Jenkins[root@localhost ~]# yum ins

2021-08-20 14:36:22 351

原创 Prometheus 安装、部署、出图(使用grafana)

一、Prometheus安装与部署安装服务端# 下载安装包[root@promethus ~]# mkdir /prometheus[root@promethus /opt]# cd /prometheus/[root@promethus /prometheus]# wget https://github.com/prometheus/prometheus/releases/download/v2.25.0/prometheus-2.25.0.linux-amd64.tar.gz# 解压[r

2021-08-20 11:46:21 2112

原创 Prometheus详解

一、prometheus 介绍因为Prometheus的高扩展性、高性能、生态好,部署复杂度低,所以这里我们主要讲PrometheusPrometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus 在2016年加入了 Cloud Native Computing F

2021-08-20 10:02:06 1014

原创 Linux监控详解

什么是监控?监控===监测+控制生活中的监控:事故追责 运维中的监控:事后追责,事前预警,性能分析,实时报警为什么要使用监控 监控是整个产品周期中最重要的一环,及时预警减少故障避免影响扩大,根据历史数据可以追溯问题根源,并且分析监控数据,可以找出用户体验优化方案。 随着用户的增多,服务随时可能会被系统oom(out of memory内存溢出)后果:kill -9 mysql 如何判断?,web服务是因为用户访问过多,达到了瓶颈? 还是程序代码bug导致的,内存过多?

2021-08-19 18:39:42 260

原创 Jenkins 参数化构建

jenkins参数化构建先在远程仓库给代码创建标签在Jenkins上定义标签参数标签选择参数主要用来选择构建的标签,通过标签来控制版本主页面---->项目---->参数构建化过程---->List Git branches---->内容如下:字符参数主页面---->项目---->参数构建化过程---->字符参数---->内容如下:密码参数主页面---->项目---->参数构建化过程---->字符参数----&gt

2021-08-19 09:05:46 822

原创 ingress详解

ingressingress是基于域名的网络转发资源,ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP和HTTPS。Ingress 可以提供负载均衡、SSL 和基于名称的虚拟托管。必须具有 ingress 控制器【例如 ingress-nginx】才能满足 Ingress 的要求。仅创建 Ingress 资源无效。在生产环境中常用的Ingress有Treafik、Nginx、HAProxy、Istio等nginx ingress : 性能强trae

2021-08-18 17:14:10 6999

原创 git与gitlab

gitGitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab和GitHub一样属于第三方基于Git开发的作品(私有仓库),GITLAB免费且开源(基于MIT协议),与Github类似, 可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把GitLab看作个人版的Gi

2021-08-15 18:41:06 3008

原创 devops介绍

git安装[root@k8s-master-01 ~]# yum install git -y#测试是否安装成功(查看git版本号)[root@k8s-master-01 ~]# git --versiongit version 1.8.3.1#配置用户名与邮箱[root@k8s-master-01 ~]# git config --global user.name “yzl”[root@k8s-master-01 ~]# git config --global user.email “16

2021-08-14 18:26:18 465

原创 kubernetes配置中心

k8s配置中心在生产环境中经常会遇到需要修改配置文件的情况,传统的修改方式不仅会影响到服务的正常运行,而且操作步骤也很繁琐。为了解决这个问题,kubernetes项目从1.2版本引入了ConfigMap功能,ConfigMap && Secret 是K8S中的针对应用的配置中心,它有效的解决了应用挂载的问题,并且支持加密以及热更新等功能,可以说是一个k8s提供的一件非常好用的功能。configmapconfigmap用于将应用的配置信息与程序的分离。这种方式不仅可以实现应用程序被的复用

2021-08-11 12:22:36 919

原创 k8s数据持久化(存储卷)

数据持久化我们知道,Pod是由容器组成的,而容器宕机或停止之后,数据就随之丢了,那么这也就意味着我们在做Kubernetes集群的时候就不得不考虑存储的问题,而存储卷就是为了Pod保存数据而生的。存储卷的类型有很多,我们常用到一般有四种:**emptyDir,hostPath,NFS以及云存储(ceph, glasterfs…)**等。emptyDir(容器与容器的数据共享)emptyDir类型的volume在pod分配到node上时被创建,kubernetes会在node上自动分配 一个目录,因此无

2021-08-11 09:21:47 799

原创 健康检查、回调hook

健康检查怎样保证pod中的容器正常启动?1、检查pod中容器是否能够正常启动pod中所有容器的status=Running时,Pod的状态才会是Running状态。当存活性探针检测失败的时候,kebulet会删除容器,重新启动一个新的容器。继续检查。2、怎样保证pod中容器能够正常对外提供服务?只有容器启动了并且能够正常对外提供服务了,才能放到负载均衡上供给用户访问提到健康检查就不得不提探针了,他们是做检查的主要劳动力容器探针Probe 是由 kubelet 对容器执行的定期诊断。 要执行

2021-08-07 15:15:33 193

原创 用阿里云构建海外镜像

一、背景使用docker或者k8s的过程中,我们可能遇到镜像无法下载的情况,例如:kubernetes中的kube-apiserver镜像,这是因为其仓库在海外,我们的网络被阻挡,我们无法获取到该资源,使用合法的方式,成本又太高,今天小编来分享一个简单而又实用的海外镜像构建方法。二、构建步骤#进入自己的命名空间,创建镜像仓库#编辑kube-apiserver的Dockerfile1. 登录阿里云Docker Registrydocker login --username=sm

2021-08-02 21:19:55 921 1

原创 service详解

service(智能负载均衡器)service主要是提供负载均衡和服务自动发现。它是 k8s 中最核心的资源之一, 每一个 Service 就是我们平常所说的一个“微服务”。如上图所示,Kubernetes 的 Service 定义了一个服务的访问入口,前端的应用(Pod)通过这个入口地址访 问其背后的一组由 Pod 副本组成的集群实例,Service 与其后端的 Pod 副本集群之间是通过 Label 来 实现关联的,而 Deployment 则是保证 Service 的服务能力和服务质量始终处于

2021-08-02 09:06:17 970

原创 kubernetes之节点详解

一、节点概述Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置。 每个节点包含运行 Pods 所需的服务; 这些节点由 控制面 负责管理。通常集群中会有若干个节点;而在一个学习用或者资源受限的环境中,你的集群中也可能 只有一个节点。节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。二、节点管理向 API 服务器添加节点的方式主要有两种:1.节点上的 kubelet 向控制面

2021-08-01 15:20:38 1257

原创 docker composer

Docker-compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是项目(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个项目,若无特殊指定项目名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参

2021-08-01 15:18:59 1582

原创 k8s的名称空间、标签、deployment、控制器、弹性伸缩

一、k8s中的名称空间k8s中名称空间是用来隔离集群资源,而k8s中的资源也分为名称空间级资源以及集群级资源。kubectl是k8s客户端,它跟k8s没有任何关系。kubectl get [资源名称] 获取集群资源的命令#获取名称空间[root@k8s-m-01 ~]# kubectl get namespaceNAME STATUS AGEdefault Active 5d16hkube-node-lease Active 5d

2021-07-28 09:42:01 1075

原创 kubernetes-常用命令集

k8s常用指令集(kubectl kubeadm)官方指令文档官方常用指令基础命令准备文件[root@m01 ~]# vim wordpress.yaml apiVersion: v1kind: Podmetadata: name: wordpressspec: containers: - name: nginx image: nginx - name: php image: alvinos/php:v2-fpm-mysql - n

2021-07-26 11:01:08 697 1

原创 运维面试题

问题1、你接触过哪几种数据库软件,各自的优缺点是什么?1、关系型数据库-MySQL在不同的引擎上有不同的存储方式。查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。开源数据库的份额在不断增加,mysql的份额也在持续增长。缺点就是在海量数据处理的时候效率会显著变慢。非关系型数据库MongoDB优势:1、在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。2、MongoDB的高可用和集群架构拥有十分高的扩展性。3、在副本集

2021-07-26 09:40:28 502

转载 mysql数据库优化

一、数据库硬件优化(选型)1.一般数据库选择1.真实的硬件,物理机2.云产品ECS,自己搭建数据库3.云数据库(RDS、DRDS)2.数据库类型1.OLTP 在线事务处理系统支持大量并发用户定期添加和修改数据。反映随时变化的单位状态,但不保存其历史记录。包含大量数据,其中包括用于验证事务的大量数据。可以进行优化以对事务活动做出响应。提供用于支持单位日常运营的技术基础结构。个别事务能够很快地完成,并且只需访问相对较少的数据。实时性要求高。交易一般是确定的,所以OLTP是对确定性

2021-07-26 09:18:32 294

转载 数据库读写分离(Atlas数据库中间件)

一、atlas简介Mysql 的 proxy 中间件有比较多的工具,例如,mysql-proxy(官方提供), atlas , cobar, mycat, tddl, tinnydbrouter等等。而Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台

2021-07-23 17:10:08 357

转载 数据库高可用:MHA技术

一、MHA背景介绍MHA 是Perl语言写的,开源的MYSQL故障切换方案;全称:Master High Availability,故障切换时间10-30s有人说,我不要MHA行不行啊; 可以,没问题,那么如果主数据库故障了,你怎么办?首先,你需要手动一个一个地登录上所有的SLAVE从库,然后一个个对比,看谁执行的BINLOG比较新,然后将其作为主库。接下来,你还需要手动把所有的从库CHANGE MASTER到新选出的主库。一个字“费劲”!这要是别的事,也还可以忍,但主库挂掉,会导致业务无法访问

2021-07-23 16:38:18 812

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除