摘要:
0. 前言 在 kubernetes 的系列文章中,我们介绍了 kubernetes 的种种概念,特性。不过对于如何部署并没有介绍,想象下如果 kubernetes 中 pod 的数量达到成百,上千,上万的话,如何对 pod 进行有效管理就成了迫在眉睫的大事。 因此,Helm 应运而生,Helm 是 阅读全文
摘要:
前言 模式具有普适价值,在软件实现上可多思考,多套用模式。学习模式不经历,不看,不写,不想是学不好的。 就像处在一个陌生的环境,也是要掌握生活的,社交的模式,如果不会,只能慢慢摸索,直到熟练。软件设计的设计模式也是一样的。 设计模式的目的是让代码工程:可复用,可扩展,可维护,灵活性好。 基于这一目的 阅读全文
摘要:
0. 前言 在 小白学标准库之反射 reflect 篇中介绍了反射的三大法则。但并未给出具体示例介绍反射,感觉还是少了点什么。这里进一步通过fmt.Println 源码,查看反射如何使用的,算是对前文的补充。由于文章已经够长了,为方便观看,新开一篇介绍,当然内容不会太多。 1. fmt.Printl 阅读全文
摘要:
0. 前言 在 小白学标准库之 reflect 篇中介绍了反射的三大法则以及变量的逃逸分析。对于逃逸分析的介绍不多,大部分都是引自 Go 逃逸分析。不过后来看反射源码的过程中发现有一种情况 Go 逃逸分析 没讲透。且当时没从底层汇编的角度去看,导致有种似懂非懂的感觉。这里就变量逃逸内容进行介绍。 1 阅读全文
摘要:
这里是对接口在汇编层面上转换和实现的小结,详细了解可参考 Go 语言接口的原理 1. 类型转换:结构体到接口 1.1 结构体方法实现接口 package main type Duck interface { Quack() } type Cat struct { Name string } //go 阅读全文
摘要:
在 小白学标准库之反射 reflect 篇中介绍了接口和反射。然而,对于接口的类型转换,底层实现还是一知半解。在参考 Go 语言设计与实现 这本书接口章节时,又看不大懂。一个拦路虎摆在面前:汇编。不懂汇编谈接口始终觉得有点虚,于是抱着死啃这块大骨头的心态开始了汇编学习之路。要知道,作为一个严肃的 G 阅读全文
摘要:
1. 部署报错:The requested fsGroup is 123, but the volume local-pv-c7ef339e has GID 1000710000. The volume may not be shareable. 问题描述: 部署 CNF(pod 集群) 时,pod 阅读全文
摘要:
这篇概述是看文章提到的一段话 xxx is not targeted to be horizontally scalable 引发的,遂整理记录在这里。 起因是有两个应用,一个是无状态的,可以 horizontally scalable,另一个是有状态的,和数据库绑定,horizontally sc 阅读全文
摘要:
1. OpenShift 内部 image registry Openshift 自带内部 image registry,可通过 podman 实现 image 的 pull 和 push 操作。 对不同操作,需要给用户指定相应的 role: // podman pull oc policy add 阅读全文
摘要:
Go 使用 encoding/json 包的 marshal 和 unmarshal 实现 json 数据的编解码。分别记录如下: 1. marshal 定义结构体: type OCP struct { Name string `json:"name"` ImageRegistry *ImageRe 阅读全文