02 2022 档案
摘要:5分钟搞懂 Kubernetes 探针/健康检查 K8S中文社区 2022-02-23 18:00 Kubernetes是一个开源容器编排平台,大大简化了应用程序的创建和管理。 Kubernetes之类的分布式系统可能很难管理,原因是涉及许多活动组件,所有这些组件必须正常工作,整个系统才能顺畅运行。
阅读全文
摘要:公司服务器有的服务器需要扩容,自己在网上查找资料学习,顺便整理记录一下 https://mp.weixin.qq.com/s?__biz=MzA4NzQzMzU4Mg==&mid=2652984509&idx=3&sn=95f517a5efc193d51c0d58b6a7522afc&chksm=8
阅读全文
摘要:Sprintf 四舍六入: value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", 9.824), 64) fmt.Println(value) //9.82 value, _ = strconv.ParseFloat(fmt.Sprintf("%.2f
阅读全文
摘要:在Linux部署Redis代理Predixy实现数据分片 https://juejin.cn/post/6863701563685371917 4 个月前 · 来自专栏 运维 前言 本文以predixy-1.0.5为例,讲述 Redis 代理 Predixy 安装过程。 Predixy 是一款高性能
阅读全文
摘要:https://studygolang.com/subject/2
阅读全文
摘要:光看标题,大家可能不太理解我说的是啥。 我们平时创建一个协程,跑一段逻辑,代码大概长这样。 package mainimport ( "fmt" "time")func Foo() { fmt.Println("打印1") defer fmt.Println("打印2") fmt.Println("
阅读全文
摘要:defer 的执行顺序 答案 多个 defer 语句,遵从后进先出(Last In First Out,LIFO)的原则,最后声明的 defer 语句,最先得到执行。 defer 在 return 语句之后执行,但在函数退出之前,defer 可以修改返回值。 例如: 1234567891011121
阅读全文
摘要:import "fmt"func removeDuplicateElement(addrs []string) []string { result := make([]string, 0, len(addrs)) temp := map[string]struct{}{} idx := 0for _
阅读全文
摘要:修改 Kubeadm 源码中的 Kubernetes 证书过期时间为100年 2021-09-16 12:41:00KUBERNETESKUBEADM 文章目录 一、为什么要修改 kubeadm 证书时间 二、如何查看 kubernetes 证书过期时间 三、修改 kubeadm 源码并重新编译 3
阅读全文
摘要:https://www.w3school.com.cn/js/js_object_constructors.asp 实例 function Person(first, last, age, eye) { this.firstName = first; this.lastName = last; th
阅读全文
摘要:import ( "fmt" "sync" "time")var a int64 = 0var b int64 = 0func main() { wg:=sync.WaitGroup{} wg.Add(1) go func() { defer wg.Done() a=1 b=2 }() wg.Wai
阅读全文
摘要:package mainimport "fmt"func main() { var s =[]string{} //默认元素是【0】 应该为make([]string,3) s[0]="test" //无法向【0】元素添加数据 fmt.Println(s)}// panic: runtime err
阅读全文
摘要:我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建:带你十天轻松搞定 Go 微服务系列(一) 服务拆分:带你十天轻松搞定 Go 微服务系列(二) 用户服务:带你十天轻松搞定 Go 微服务系列(三) 产品服务:带你十天轻松搞定 Go 微服务
阅读全文
摘要:package mainimport ( "fmt")type Jonsb struct { A int B string}func (j Jonsb) FUnc() string { return j.B}func (x Jonsb) FDD() int { return x.A}func Tes
阅读全文
摘要:const也可以作为块级变量 ECMAScript 2015 (ES6) 2015 年,JavaScript 引入了一个重要的新关键字:const。 使用 const 声明数组已成为一种常见做法: 实例 const cars = ["Saab", "Volvo", "BMW"]; 亲自试一试 无法重
阅读全文
摘要:学习https://www.w3school.com.cn/js/js_class_inheritance.asp
阅读全文
摘要:“ client-go支持5种客户端对象与apiserver交互的方式,它们都是通过kubeconfig配置信息连接到指定的apiserver。” 首先都要读取kubeconfig文件并实例化config对象: config, err := clientcmd.BuildConfigFromFlag
阅读全文
摘要:kubeadm部署多master节点高可用k8s1.16.2 一、架构信息 系统版本:CentOS 7.6 内核:3.10.0‐1062.4.1.el7.x86_64 Kubernetes: v1.16.2 Dockerce: 19.03 推荐硬件配置:2核4G Keepalived保证apise
阅读全文
摘要:package mainimport ( "fmt")type m struct { S string I int}var mp = map[string]*m{ "test":&m{"test",1}, //可以省略&m "demo":&m{"demo",100},}func main() { v
阅读全文
摘要:原创 frank Golang语言开发栈 2021-09-12 23:00 01 介绍 在之前的两篇文章中,我们已经介绍了使用 gRPC 创建 RPC 应用的前导知识。我们了解到 gRPC 支持多语言,本文我们介绍在 Golang 语言中怎么使用 gRPC。 02 准备工作 既然我们要介绍 gRPC
阅读全文
摘要:我们了解了本地存储、NFS共享存储,除了这些存储类型之外,还有一个块存储,同样为 Kubernetes 提供块存储的方案有很多,比如 Ceph RBD,今天我们为大家介绍的是 Rancher 开源的一款 Kubernetes 的云原生分布式块存储方案 - Longhorn。 使用 Longhorn,
阅读全文
摘要:GoRequest 是一个极简的 HTTP 客户端,作者灵感来源于 Node.js 库 SuperAgent。相比 Golang 标准库 net/http,GoRequest 使用起来更加简单。GoRequest 官方的口号是 “像机枪一样发送请求”。 GoRequest 包含以下功能: 支持 HT
阅读全文
摘要:先放结论,namespace 是用来做资源隔离, cgroup 是用来做资源限制。 Namespace 先说Namespace,虚拟技术基本要求就是资源隔离,简单的说就是我独占当前所有的资源。比如我在 8080 端口起 web 服务器,不用担心其他进程端口占用。Linux 自带 namespace
阅读全文
摘要:package encodingimport ( "bytes" "io/ioutil" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform") func UTF82GB2312(s []byte)(
阅读全文
摘要:os/exec 执行命令的五种姿势 https://golang.iswbm.com/c05/c05_02.html 在 Golang 中用于执行命令的库是 os/exec,exec.Command 函数返回一个 Cmd 对象,根据不同的需求,可以将命令的执行分为三种情况 只执行命令,不获取结果 执
阅读全文
摘要:package mainimport "fmt"func Sendtchan(c ...int) <-chan int { out := make(chan int) go func() { for i := range c { //c is Sclic type out <- c[i] } clo
阅读全文
摘要:线上被驱逐实例数据 最近在线上发现很多实例处于 Evicted 状态,通过 pod yaml 可以看到实例是因为节点资源不足被驱逐,但是这些实例并没有被自动清理,平台的大部分用户在操作时看到服务下面出现 Evicted 实例时会以为服务有问题或者平台有问题的错觉,影响了用户的体验。而这部分 Evic
阅读全文
摘要:|流水线工作模型在工业领域内十分常见,它将工作流程分为多个环节,每个环节根据工作强度安排合适的人员数量。良好的流水线设计尽量让各环节的流通率平衡,最大化提高产能效率。 Go 是一门实用性语言,流水线工作模型与 Go 融合地非常融洽,只不过我们一般使用另一个名词来表示流水线:pipeline。 pip
阅读全文
摘要:package mainimport "fmt"var name string= "go"func TestName() string { defer func() { name="python" }() fmt.Println(name) return name}func main() { myn
阅读全文
摘要:https://draveness.me/golang/docs/part2-foundation/ch05-keyword/golang-panic-recover/ func test(){ fmt.Println("run......") defer func() { if err:=reco
阅读全文
摘要:https://draveness.me/golang/docs/part3-runtime/ch06-concurrency/golang-sync-primitives/ https://mojotv.cn/404#Golang https://www.bookstack.cn/read/qcr
阅读全文
摘要:1三次握手 2两次握手(情况1) 3两次握手(情况2) OK,下面正经地来回答下这个问题,要搞清楚这个问题,首先得了解TCP究竟是如何保证可靠传输的。PS:TCP协议中,主动发起请求的一端称为『客户端』,被动连接的一端称为『服务端』。不管是客户端还是服务端,TCP连接建立完后都能发送和接收数据。起初
阅读全文
摘要:笔者在工作中遇到此场景,如下两条网络限制下,总部如何访问分公司内部web服务器? dmz服务器可以访问总部外网服务器22端口,不可以访问web服务器; web服务器不可访问公网,但是到dmz网络无限制。 初看需求,我们第一个想到的肯定是内网端口映射到公网,或者vpn,但是不修改网络策略情况下很难实现
阅读全文
摘要:redis client连接数过多,大量空闲连接无法释放 redis client list 查看连接数 相关参数解释 参考官网: Redis CLIENT LIST命令用于返回所有连接到服务器的客户端信息和统计数据。 返回值 bulk-string-reply: 一个独特的字符串,格式如下: 每个
阅读全文
摘要:CONFIG GET获取配置 使用 CONFIG GET * 命令获取所有配置 127.0.0.1:6379> CONFIG GET * 常用命令info
阅读全文
摘要:https://jingyan.baidu.com/article/4d58d5416e050e9dd4e9c0fb.html
阅读全文
摘要:为什么要学习 Kubernetes? https://mp.weixin.qq.com/s/hgCAx5HRiLyIbLffYBpuog 虽然 Docker 已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如
阅读全文
摘要:前言 https://www.jianshu.com/p/2d89fd1b4403 在日常开发中,经常会有发布的需求,而且经常会碰到各种环境,比如:开发环境、测试环境、生产环境。虽然可以使用手动构建、上传服务器部署的方式,但在微服务架构下一个项目经常包含多个微服务的部署,如果用手动方式就会非常繁琐而
阅读全文
摘要:func resInt(i int) *int { return &i // new(int)} unc resInt(i int) *int { if i == 0 { return nil } return new(int)}
阅读全文
摘要:package mainimport "fmt"func Slic(q interface{}) *int { s:= q.(*int) fmt.Println(*s) switch v:= q.(type) { case *int: fmt.Println(*v) case string: fmt
阅读全文
摘要:gRPC Client and Server 收录于话题#gRPC 系列教程11个 前言 本章节将使用 Go 来编写 gRPC Server 和 Client,让其互相通讯。在此之上会使用到如下库: google.golang.org/grpc github.com/golang/protobuf/
阅读全文
摘要:看过 Go 相关源码的同学,应该会注意到不少地方使用了 unsafe.Pointer 和 uintptr,单从类型名称看,这些与“指针”是不是有什么关系? 先附上一张关系图,后面我们再展开解析。 普通指针类型 我们一般将 *T 看作指针类型,表示一个指向 T 类型变量的指针。我们都知道 Go 是强类
阅读全文
摘要:Ceph 学习目录: CEPH 部署完整版(CentOS 7 + luminous) Ceph - RBD 操作 Ceph - Dashboard 环境: IP地址主机名 192.168.118.14 ceph-node1 192.168.118.15 ceph-node2 192.168.118.
阅读全文
摘要:前言 本文通过自身理解进行述说,如有不准确的地方,请指正。 在讲述一系列相关专业术语之前,先尝试用一个通俗易懂的故事来说明 Kubernetes 中 node 与 pod 之间的爱恨情仇。 雄性(node)| 雌性(pod) 在银河系以外的一个星球上,有着一群两性生物,分别是雌性(pod)和雄性(n
阅读全文
摘要:环境说明 地址端口角色说明 127.0.0.1 3306 master - 127.0.0.1 3307 slave - 127.0.0.1 6032/6033 ProxySQL 版本2.0.1 127.0.0.1 10001 replication-manager - 一、MySQL搭建 这里省略
阅读全文
摘要:1、git查看本地分支 git branch 可以看到:本地目前有项目的三个分支 2、git 查看代码仓库远程分支: git branch -r 3、git 查看本地和远程分支:(颜色区分,标红的是远程分支) git branch -a 4、当前处于 SP3分支,切换到SP2分支: 先确保SP3分支
阅读全文
摘要:using credential cb95a38d-cb88-41f6-bbb4-20882be8df32 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git
阅读全文
摘要:func main() { var n []string =[]string{"fsdfsd"} //var s string ="tsdfs" var i =make([]string,len(n)) 新增地址 for _,v:=range n{ i=append(i, v) } fmt.Prin
阅读全文
摘要:Go语言并没有对删除切片元素提供专用的语法或者接口,需要使用切片本身的特性来删除元素,根据要删除元素的位置有三种情况,分别是从开头位置删除、从中间位置删除和从尾部删除,其中删除切片尾部的元素速度最快。 从开头位置删除 删除开头的元素可以直接移动数据指针: a = []int{1, 2, 3} a =
阅读全文
摘要:package mainimport "fmt"func Slic(n *[]string) []string { *n = append(*n,*n...) return *n}func main() { n:=[]string{"fsfsd"} fmt.Println(Slic(&n)) fmt
阅读全文
摘要:package mainimport "fmt"func main() { var s []int str:=[]string for i:=0;i<3;i++{ s = append(s,i) str=[]string{} fmt.Println(str) } fmt.Println(s[0])}
阅读全文
摘要:前言 func main() { seq := []string{"a", "b", "c", "d", "e"} // 指定删除位置 index := 2 // 查看删除位置之前的元素和之后的元素 fmt.Println(seq[:index], seq[index+1:]) // 将删除点前后的
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=Mzg5MzYwODEyMQ==&mid=2247487091&idx=1&sn=e88a2c07fab96f1e1a689c5afea25202&chksm=c02d07a5f75a8eb3612be516d447e4a349355
阅读全文
摘要:一,对记录的操作 1.创建有json字段的表 -- 创建表 CREATE TABLE t_json(id INT PRIMARY KEY, sname VARCHAR(20) , info JSON); 2.插入记录 -- 插入含有json数组的记录 INSERT INTO t_json(id,sn
阅读全文
摘要:Dos 攻击防范(自动屏蔽攻击 IP) #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) LOG_FILE=/usr/local/nginx/logs/demo2.access.log ABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep
阅读全文
摘要:前言 https://my.oschina.net/liabio/blog/4420142 redis5.0.0之前操作 redis集群用的是 ruby写的脚本 redis-trib.rb,这样带来的弊端就是需要安装 ruby, gems环境,官方拉取的 docker镜像里是没有 redis-tri
阅读全文