知识点回顾我们肯定使用过ifconfig命令来查询计算机中的网络设备。不知道你有没有注意过其中的netmask(子网掩码),但你真的知道它的来龙去脉吗?今天我们就来重新认识一下netmask。 在进入主题内容前我们先来回顾一些关于IP的知识点。每一个需要使用互联网的设备都必须具有一个唯一标识,而这个 ...
通过nginx-controller将redis服务暴露到集群外
在微服务迁移过程中,在进行流量切换的过程中,旧的服务和微服务会共存一段时间。当用户从前端访问时,流量分别会被转发到旧服务和新服务上。为了使用户可以同时访问旧服务和新服务,需要共用一个redis。因为以前使用的都是各自集群内部的redis(新旧服务在不同的k8s集群上),因此为了让集群外的服务也能访问 ...
osm-install
1.使用源码安装osm-cligit clone git@github.com:hysyeah/osm.gitcd osmgit checkout v0.4.0 # tag需要和下面的--osm-image-tag对应,不然可能出现不兼容的错误make build-osm 2.osm instal ...
Go-strings
Packagestrings提供了对UTF-8编码字符串的一些简单操作。 安装gomacro,Go版本的REPL,对一些函数进行验证。go get github.com/cosmos72/gomacro ➜ hysyeah gomacro// Welcome to gomacro. Type :h ...
Go-syscall
包syscall提供了操作系统系统调用的接口。不同的操作提供原语会有所区别,所以有些系统是不一样的。godoc会根据当前的操作系统显示对应的文档。如果你想显示对应的文档,可以设置GOOS和GOARCH两个环境变量。大部分的系统调用在其它的Package中提供了兼容性更好的接口,如果可能的话推荐使用 ...
Linux Namespace
Linux Namespace是容器的基石,可以说没有Linux Namespace就不存在现在的容器技术。容器最大的功能就是对资源进行隔离,容器正是通过Linux Namespace技术实现了各种资源的隔离。 Linux Namespace总共有6种类别的Namespace,分别为 N ...
Go-reflect
Package reflect实现了运行时反射,允许程序获取任意对象的运行时信息。最常见的用法就是通过调用TypeOf方法获取对象类型;调用ValueOf返回对象运行时数据。反射是程序检查自身结构的一种能力,是一种形式的元编程。类型和接口(Types and interfaces)反射构建在类型系统 ...
Protocol Buffers and GRPC
Protocol BuffersProtocol buffers是由Google推出来的用于描述结构化数据的一种数据格式,类似于XML,但更小更快更简单,语言无关,平台无关而且支持可扩展。通过描述性语言定义你所需要的数据结构,可以实现一次定义即可以生成多种语言的相关的代码。目前Protocal bu ...
go-module的使用
Go 1.11和1.12已经基本上支持Go Modules,Go的新依赖管理系统,更好的管理依赖的版本信息。 本文使用版本Go1.13.在Go Modules之前,每个项目都必须设置一个GOPATH,并将第三方包安装在各自的目录下,多个项目之间不能共用第三方包。 GO111MODULEGO111MO ...
kuberntes Custom Resources
Custom resources自定义资源(Custom Resources):是对现有Kubernetes API的一种扩展。当你创建一个CR后,你可以使用kubectl命令,像操作Pod一样操作自定义资源。 Custom controllerscustom resources只是定义了如何存储和 ...
k8s Golang代码编码规范
总结下k8s项目编码规范,加深记忆。 编码规范可参阅Effective Go. 1.Gofmt 所有的代码都必须使用gofmt进行格式化,可选的工具还包括goimports(可看作gofmt的超集) 2.注释语句 注释必须完整,清楚,允许一定的冗余。注释应该必须以描述的资源开头。 比如你注释的是一个 ...
Golang prng
伪随机数生成器-pseudo-random number generator (PRNG)。实现位于math/rand package mainimport ( "fmt" "math/rand" "time")func main() { // math/rand如果不指定种子,则默 ...
istio bookinfo
1.安装istio,如未安装k8s集群,可Refgotok8s安装单机版集群 2.设置default命名空间自动注入kubectl label namespace default istio-injection=enabled 3.部署应用kubectl apply -f bookinfo.yaml ...