2020年5月

  • 吾八哥学Golang(九):Golang里的map和sync.map

    吾八哥学Golang(九):Golang里的map和sync.map

    map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用,且不需要引入任何第三方库即可使用。map的基础用法map声明map类型声明方式如下:var 变量名 [key类型]value类型例如:var m map[string]intmap创建map变量创建可以使用如下方法:m := make(map[string]int) // 或指定存储长度 m := make(map[str...

  • apps/v1版本下使用client-go实现kubernetes回滚的方法

    apps/v1版本下使用client-go实现kubernetes回滚的方法

    在extensions/v1beta1版本下,client-go的api接口下的deployment支持rollback方法来回滚,使用方法如下:        ...          rollback := &v1beta1.DeploymentRollback{ Name: name, Rollb...

    云原生 2020-05-05 1833 0
  • 使用client-go API来实现yaml文件的k8s部署

    使用client-go API来实现yaml文件的k8s部署

    实现思路yaml文件先转为json格式,然后json反序列化为deployment对象实现代码package main import ( "context" "encoding/json" "fmt" "io/ioutil" "log" v1 "k8s.io/api/apps/v1" metav1 "k8s.i...

  • kubernetes扩容、缩容

    kubernetes扩容、缩容

    扩容是用在高峰期访问量过大的情况下,当前deployment的pod数量已经无法支撑业务的时候,需要扩展更多的pod数量。缩容是指在业务空闲期只需要少数的pod即可满足业务需求,太多的pod是资源浪费,所以这个时候就需要缩容。手动扩缩容手动调整pod数量使用kubectl scale命令可以调整pod的副本数量,可以指定deployment的pod数量,使用方法如下:5bug-MacBook:~$ kubectl scale deployment k8s-demo ...

  • kubernetes滚动更新、回滚

    kubernetes滚动更新、回滚

    什么是滚动更新?滚动更新是指允许通过使用新的实例逐步更新 Pod 实例,零停机进行 Deployment 更新。新的 Pod 将在具有可用资源的节点上进行调度,最大好处是零停机,整个更新过程始终有副本在运行,从而保证业务不宕机。滚动更新允许以下操作:将应用程序从一个环境提升到另一个环境(通过容器镜像更新)回滚到以前的版本持续集成和持续交付应用程序,无需停机Replication Controller 和 ReplicaSetReplication Controller用来确保容器应用的副本数始终保持在用户定义的副本...

  • golang里sync.Map包的使用方法

    golang里sync.Map包的使用方法

    sync.Map简介在Go语言里内置的常规map是只支持并发读,但不支持并发写操作的,常见的错误信息:fatal error: concurrent map writes. 但在golang里已经提供了封装好的线程安全map的包sync.Map,可以看看sync.Map的定义:// Map is like a Go map[interface{}]interface{} but is safe for co...

1