12 2021 档案
摘要:Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 今天是最后一篇讲控制流程了,内容是 defer 延迟语句,这个在其他编程语言里好像没有见到。
阅读全文
摘要:find /etc/yum.repos.d/ -type f -name "*.repo" |xargs grep -r "RPM-GPG-KEY-CentOS-SIG-Cloud";
阅读全文
摘要:ansible-playbook site.yml --limit iscsigws
阅读全文
摘要:1. Kubernetes 基础对象清理 清理 Evicted 状态的 Pod kubectl get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs -L1 kubectl delete pod
阅读全文
摘要:systemctl mask firewalld systemctl unmask firewalld
阅读全文
摘要:https://www.codenong.com/cs106136616/ lvm快照有多种实现方法,其中一种是COW(Copy-On-Write),不用停止服务或将逻辑卷设为只读就可以进行备份,当一个 snapshot创建的时候只是拷贝原始卷里的元数据,而不是物理上的数据,所以snapshot的创
阅读全文
摘要:期多了些开发shell脚本的需求,便做了些研究,于是发现: 1、shell没有专用的IDE 2、老手们习惯了vim的开发方式,干起活来非常黑客。但对新人,不太友好 既然没有现成的,那就用插件组一套,软件依然是vscode。 1、shellman 说起IDE,第一时间想到的必然是智能提示和自动补全,s
阅读全文
摘要:文档:https://www.bookstack.cn/read/zxj_ceph/deploy 版本选择:https://blog.51cto.com/u_14143894/2474757 uname -r3.10.0-123.el7.x86_64ceph -vceph version 0.94.
阅读全文
摘要:http://m.blog.chinaunix.net/uid-26479545-id-5017080.htmlDRBD软件的配置说明有drbd 、drbdadm、drbdmeta 、drbdsetup命令官方文档:https://linbit.com/drbd-user-guide/drbd-gu
阅读全文
摘要:1、遇到的问题 2、问题排查 3. 根因分析 3.1、SHELL 模式和 CMD 模式带来的差异 3.2、直接启动应用和通过脚本启动区别 4、总结 K8S容器应用优雅关闭-修复5003 Error “ 运维就要无所不能,无所不会 ” 大家好,我是Stanley「史丹利」,今天聊技术:容器优雅关闭方案
阅读全文
摘要:func main() { //var s string ="tess" //var ss *string = &s var i interface{} = &ssss{"test"} fmt.Println((i)) i=100 fmt.Println((i)) fmt.Println((*i))
阅读全文
摘要:官方文档:https://linbit.com/drbd-user-guide/drbd-guide-9_0-cn/#ch-pacemaker 一, 基本环境介绍及基本环境配置 ActionScript 节点1: node1.hulala.com 192.168.1.35 centos6.5_64
阅读全文
摘要:官方文档:https://linbit.com/drbd-user-guide/drbd-guide-9_0-cn/#ch-pacemaker Distributed Replicated Block Device(DRBD)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。
阅读全文
摘要:DRBD产生脑裂的原因: (1. 采用HA环境的时候自动切换导致脑裂; (2. 人为操作或配置失误,导致产生的脑裂; (3. 经验有限,惭愧的很,只碰到以上2中产生脑裂的原因。 如何判断脑裂行为? (1. 其中一个节点的连接状态始终为 StandAlone (2. 其中一个节点的连接状态始终为 WF
阅读全文
摘要:这篇文章给大家分享的是有关如何实现基于ceph rbd+corosync+pacemaker HA-NFS文件共享的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1、 架构图 2、 环境准备 1.1 IP规划 两台支持rbd的nfs-server主机:10.20.18.9
阅读全文
摘要:示例 示例程序如下: type T struct{}func (t *T) Hello() string { if t == nil { fmt.Println("脑子进煎鱼了") return "" } return "煎鱼进脑子了"}func main() { var t *T //没有被初始化
阅读全文
摘要:package mainimport "fmt"type SS struct { S string I int}func (s *SS) Test(i int) { s.I=i}func (s *SS) TestString(s string) { s.S=s}func main() { s:=&S
阅读全文
摘要:func Scanf func Scanf(format string, a ...interface{}) (n int, err error) Scanf从标准输入扫描文本,根据format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错
阅读全文
摘要:https://github.com/fanux/sealos/blob/master/k8s/utlis.go
阅读全文
摘要:package mainimport ( "fmt" "strings")func main() { ip:="192.168.0.10"i:=0str:="osdf"for _,c:=range str{ i++ if c == 'l'{ break} } fmt.Println(i) ips:=
阅读全文
摘要:1. 简介 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可
阅读全文
摘要:几个月没有更新博客了,已经长草了,特意来除草。本次主要分享如何利用consul来实现redis以及mysql的高可用。以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是单机多实例,那么显然这个方案不适用,后来也实现了故障切换调用dns api来修改域名记录,但是还是没
阅读全文
摘要:前面的文章有提到过利用consul+mha实现mysql的高可用,以及利用consul+sentinel实现redis的高可用,具体的请查看:http://www.cnblogs.com/gomysql/p/8010552.html。本次给大家带来mysql高可用的新玩法,利用mysql 5.7的m
阅读全文
摘要:Consul集群Server+Client模式 架构示意图 只使用Consul的Server模式有以下2个问题: 因为Consul Server数量受到控制所以压力承载(扩展性)是个问题。 Server很少导致一个Server下会注册很多微服务,当Server挂掉,这个Server节点下注册的微服务
阅读全文
摘要:nil is a predeclared identifier representing the zero value for a pointer, channel, func, interface, map, or slice type.Type must be a pointer, channe
阅读全文
摘要:package mainimport "fmt"type str struct { Str string}func main() { var s *int var i interface{} = s fmt.Println(&s) var x interface{} = &str{} var ss
阅读全文
摘要:func main() { s:=&G{"fsf",19} y:=new(G) yw:=new(G) x:=&G{"fsf",19} sss,err:=x.Getstr() if err != nil{ fmt.Println(err) } fmt.Println(sss) w:=s fmt.Pri
阅读全文
摘要:package mainimport ( "fmt")type G struct { Str string Int int}func (g G) Getstr() (string,error) { //var err error if g.Str == ""{ fmt.Println("is a e
阅读全文
摘要:C++支持多态,可以通过重载和模板实现多态,其中模板类这个功能我感觉很方便,比如想写一个栈类型,可以通过模板类,只定义一个类,就能让这个栈支持int,double,char等多种数据类型。 go语言呢,不支持多态,自然也就没有模板这个概念,但是没有关系,go语言的设计者自然知道多态的好处,只是觉得重
阅读全文
摘要:取消后运行: 或者 ttt:= T(“fsdfsd”) package mainimport "fmt"type Func func(string) stringtype Int inttype Testinterfacer interface { ADDstr(str string) string
阅读全文
摘要:完全二进制安装 calico v3 calico v3 官方所有教程中均推荐使用 docker 方式运行,使用 calicoctl 配合 docker 运行会帮你提供好运行依赖和自动配置等。而如果使用二进制方式运行 calico 则需要手动安装依赖和配置各个组件。 It automatically
阅读全文
摘要:http://www.manoner.com/post/GoLand/Go%E8%AF%AD%E8%A8%80%E7%9A%84type-func%E7%94%A8%E6%B3%95/ | 阅读 在 Go 语言中,type 可以定义任何自定义的类型 比如熟悉的:type dog struct{},t
阅读全文
摘要:https://chai2010.cn/advanced-go-programming-book/ch4-rpc/ch4-05-grpc-hack.html https://pandaychen.github.io/2020/05/30/KRATOS-INTERCEPTOR-ANALYSIS/
阅读全文
摘要:https://www.elephdev.com/index.php/golang/285.html?ref=addtabs&lang=zh-cn 使用 WebSockets 时,一个程序必须充当服务器。 但是可以有许多其他程序作为客户端。在本文中,我们将创建一个服务器和一个客户端 WebSocke
阅读全文
摘要:etcd是kubernetes集群极为重要的一块服务,存储了kubernetes集群所有的数据信息,如Namespace、Pod、Service、路由等状态信息。如果etcd集群发生灾难或者 etcd 集群数据丢失,都会影响k8s集群数据的恢复。因此,通过备份etcd数据来实现kubernetes集
阅读全文
摘要:Spring Cloud Stream 使用延迟消息实现定时任务(RabbitMQ) 程序猿DD发布于 2019-01-04 🔥🔥🔥 SegmentFault D-Day Online 论道云原生与微服务,快来报名 >>> 应用场景 我们在使用一些开源调度系统(比如:elastic-job等)
阅读全文
摘要:1. 什么是 Context? 在 Go 1.7 版本之前,context 还是非编制的,它存在于 golang.org/x/net/context 包中。 后来,Golang 团队发现 context 还挺好用的,就把 context 收编了,在 Go 1.7 版本正式纳入了标准库。 Contex
阅读全文
摘要:https://golang.iswbm.com/c01/c01_12.html Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 今天是最后
阅读全文
摘要:查看 第二步: 第三步修改admin.jar 包的配置文件
阅读全文
摘要:对象存储不是什么新技术了,但是从来都没有被替代掉。为什么?在这个大数据发展迅速地时代,数据已经不单单是简单的文本数据了,每天有大量的图片,视频数据产生,在短视频火爆的今天,这个数量还在增加。有数据表明,当今世界产生的数据,有80%是非关系型的。那么,对于图片,视频等数据的分析可以说是大数据与人工智能
阅读全文
摘要:Docker之网络命名空间 原创 2019-12-02 14:54:08 一.测试两个容器是否互通 1.先运行两个容器 test1 与test2 docker run -d --name test1 busybox /bin/sh -c "while true; do sleep 3600; don
阅读全文
摘要:如何进入docker容器和网络的netns命名空间 docker使用namespace实现网络,计算等资源的隔离,当需要排查网络问题时,使用p netns命令却无法在主机上看到任何network namespace,这是因为默认docker把创建的网络命名空间链接文件隐藏起来了,导致ip netns
阅读全文
摘要:大家好,我是飞哥!Linux 中的 veth 是一对儿能互相连接、互相通信的虚拟网卡。通过使用它,我们可以让 Docker 容器和母机通信,或者是在两个 Docker 容器中进行交流。参见《轻松理解 Docker 网络虚拟化基础之 veth 设备!》。不过在实际中,我们会想在一台物理机上我们虚拟出来
阅读全文
摘要:func ResearchDel(s []string, p string) []string { for in := 0; in < len(s); in++ { if s[in] == p { s = append(s[:in], s[in+1:]...) in-- } } return s}
阅读全文
摘要:drbd1为主,drbd2为辅;我个人觉得这个DRBD脑裂的行为,也应该是前期人为或是故障切换造成的,如HA。 上次跟一朋友去一客户那里,他那就是属于使用HA做故障切换,最后不知道他们咋搞,在一台机上把DRBD的服务给挂了,因为该服务器非常重要,他们对HA及DRBD架构不太熟,在一次HA切换测试过程
阅读全文
摘要:1. 前言 之前推荐过很多优秀的 Web 自动化工具,比如:Selenium、Helium、Cypress、Pyppeteer 等 利用它们实现自动化的前提是必须安装依赖、下载浏览器驱动,并且还需要掌握一定的编码基础 那有没有一款针对零基础编码,低代码的工具,能够帮助我们完成 Web 端的自动化呢?
阅读全文
摘要:http://www.pcxitongcheng.com/xtjc/14136.html node常用命令 show:查看指定节点的定义信息,如果未指定节点表示查看集群所有节点的定义信息; standby:设置指定节点为standby状态;默认不指定表示设置当前crmsh所在节点为standby状态
阅读全文
摘要:官方文档:https://linbit.com/drbd-user-guide/drbd-guide-9_0-cn/#ch-pacemaker 一、双机配置 1. app1,app2配置hosts文件,以及主机名。 [root@app1 soft]# vi /etc/hosts 127.0.0.1
阅读全文
摘要:https://blog.51cto.com/legehappy/1976565 nfs+DRBD+corosync+pacemaker 实现高可用(ha)的nfs集群(centos7)摘要:环境介绍借助pcs安装与配置corosync和pacemaker(pcs只是一个管理工具)DRBD安装配置参
阅读全文
摘要:1. 分布式块设备DRBD部署 官方文档:https://linbit.com/drbd-user-guide/drbd-guide-9_0-cn/#ch-pacemaker 1.1 基础环境初始化 1.2 部署DRBD环境 主备服务器都需要执行 # 更新系统内核,并重启服务器 [root@node
阅读全文
摘要:1. 目标 nginx 反向代理,路径映射的过程是什么?如何配置路径映射规则? 2、location 路径匹配 2.1 匹配规则: location 路径正则匹配: 符号说明 ~ 正则匹配,区分大小写 ~* 正则匹配,不区分大小写 ^~ 普通字符匹配,如果该选项匹配,则,只匹配改选项,不再向下匹配其
阅读全文
摘要:1.modprobe注:在使用这个命令加载模块前先使用depmod -a命令生成modules.dep文件,该文件位于/lib/modules/$(uname -r)目录下;modprobe命令智能地向内核中加载模块或者从内核中移除模块,可载入指定的个别模块,或是载入一组相依的模块。modprobe
阅读全文
摘要:官方文档:https://linbit.com/drbd-user-guide/drbd-guide-9_0-cn/#ch-pacemaker 一、DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和
阅读全文
摘要:1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证。默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕,又将服务切回继续由主mysql提供服务。 2.方案优
阅读全文
摘要:在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置MySQL环境变量路径:/home/uusama/mysql/bin Linux读取环境变量 读取环境变量的方法: expor
阅读全文
摘要:https://www.freesion.com/article/5192744223/
阅读全文
摘要:DRS是一个设计精良、有效的vSphere工具,可以优化硬件资源使用情况。如果您遇到对应的vSphere版本和硬件需求,请尝试DRS。 上节我们介绍了VMware vSphere DRS的功能,如果你想使用该工具,注意一件事情:不是所有的vSphere版本都有DRS。另外还将介绍如何配置和运行DRS
阅读全文
摘要:闲言少叙,直达心灵。 一、部署提要1.1 vCenter Server Appliance(VCSA )6.7地址https://pan.baidu.com/s/1WUShsC23E2qIIBg7MPR87w 6lzb 二、安装部署VCSA分为两个阶段安装,下面我们开始第一阶段2.1 打开之后,直接
阅读全文
摘要:远程启动IDEA/Pycharm需要X11 forwarding服务。X11 forwarding服务依赖“xorg-x11-xauth”软件包,所以必须先安装“xorg-x11-xauth”软件包。解决办法运行如下命令: yum install xorg-x11-xauth X11-Forward
阅读全文
摘要:一:关闭防火墙并且安装RDO软件 123 [root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0[root@localhost ~]# yum -y install http://rdo.fedorap
阅读全文
摘要:ansible https://zerosun.top/2019/08/12/openstack-deploying-by-OSA/ https://www.bookstack.cn/read/deployopenstackwithpuppet/deployment_tool-fuel.md htt
阅读全文
摘要:修改deplment时,对上次的POd不会生效,特别在钩子程序时不会生效
阅读全文
摘要:spec.strategy 定义升级策略,Deployment 的升级有两种策略,一种是 RollingUpdate,滚动升级。顾名思义,就是一个一个 pod 进行升级,而不是同时停止整个服务。这个升级能保证整个升级过程中服务的可用性。另外一种就是 Recreate,先将旧 Pod 下线,再启动新
阅读全文
摘要:gin 源码阅读系列文章列表: gin 源码阅读(1) - gin 与 net/http 的关系gin 源码阅读(2) - http请求是如何流入gin的?gin 源码阅读(3) - gin 路由的实现剖析 hi,大家好,我是 haohongfan。 通过 gin 的路由,已经把请求分配到具体的函数
阅读全文
摘要:package main import ( "reflect" "unsafe") func String2Bytes(s string) []byte { sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) bh := reflect.SliceHe
阅读全文
摘要:mysql实现高可用架构之MHA 目录 一、简介 二、MHA 服务 2.1 服务角色 2.2提供的工具 2.3工作原理 三、实现过程 3.1 准备实验 Mysql 的 Replication 环境 3.1.1 相关配置 3.1.2 初始主节点 master 的配置 3.1.3 所有 slave 节点
阅读全文
摘要:为了讲多路复用,当然还是要跟风,采用鞭尸的思路,先讲讲传统的网络 IO 的弊端,用拉踩的方式捧起多路复用 IO 的优势。 为了方便理解,以下所有代码都是伪代码,知道其表达的意思即可。 Let's go 阻塞 IO 服务端为了处理客户端的连接和请求的数据,写了如下代码。 listenfd = sock
阅读全文
摘要:之前详细介绍了calico的ipip、vxlan、bgp模式, 但是所有的k8s节点都是同网段的, 本篇使用ensp和workstation在自己家里就可以模拟测试跨网段k8s集群calico方案的纯bgp模式。 架构搭建 本测试搭建的是"每机柜独立自治系统"架构, 参考:The *AS Per R
阅读全文