零碎小知识
本片博客将介绍一些不成系统的零碎知识点,后续根据体量选择部分写成新的博客 GO flags GOPROXY:Go 拉取依赖的代理服务地址,默认值是:https://proxy.golang.org,direct,一般来说不挂梯子访问不了,所以会进行修改。配置GOPROXY能直接从代理拉取包而不走git直连从而能绕开 Git 认证 GOPRIVATE:表明哪些模块是「私有的」,不要走公共代理和校验服务,既绕过GOPROXY和GOSUMDB,直接进行git 直连但会触发git验证。譬如go env -w GOPRIVATE=git.dev.xxx.com/*。 GOINSECURE:允许对某些模块使用不安全的连接(HTTP 或自签证书)而跳过tls认证 GOSUMDB:Go 的模块校验数据库,用来验证下载的依赖是否被篡改,默认是 sum.golang.org(国外的)。国内常换成镜像:sum.golang.google.cn git rebase在和别人合作过程中总会遇到自己在分支上写了很多代码而别人在相关部分也写了代码并比你提前和入了master,如果你当前分支上有很多提交,直接...
kubebulder使用以及相关原理介绍
本片博客将介绍kubebuilder的使用以及相关原理 ,原始教程kubebuilder项目地址。但由于原教程kubebuilder版本为v4而教程部分为v3,故而本篇会做出修正并进行相关解释。相关组件版本如下 k8s版本:v1.33.1 kubebuilder版本:v4 go版本:v1.22.0 controller-runtime:v0.18.2 kubebuilder的简要说明: 是什么:是针对controller-runtime的封装脚手架工具 为什么:开发者使用controller-runtime开发operator过程繁琐 怎么样:使用marker机制自动化生成相关资源代码,用户只需要再顶层填充代码逻辑即可 K8s Operator工作原理CRD,CR 和 controller CRD(Custom Resource Definition)为K8s 自定义资源定义,比起K8s内置的资源(如deployment,configmap),这种资源由开发者自己定义 CR(Custom Resource)为K8s 自定义资源,由CRD实例化而来,CR和CRD的关系类似于...
kuberhealthy使用以及相关原理介绍
本片博客将介绍kuberhealthy的使用以及相关原理 ,kuberhealthy项目地址 kuberhealthy简介 kuberhealthy是一个k8s operator kuberhealthy 用于k8s 组件功能检测和验证,保证功能可用 kuberhealthy 通过下执行kuberhealthy checker pod进行测试逻辑执行和测试结果收集从而完成组件功能验证 核心概念 CRD: KuberhealthyChecker该CRD指定了一次check(可以理解为一次测试)的相关控制信息,比如 运行check的间隔 回收check的时间 checker pod的具体内容,包括拉取哪些镜像以及相关参数 下面是一个典型的KuberhealthyCheck 123456789101112131415apiVersion: comcast.github.io/v1kind: KuberhealthyCheckmetadata:name: kh-test-check spec:runInterval: 30s # The interval that Kuberhe...
从k8s的e2e测试中使用ginkgo
本篇博客将分析k8s e2e(端到端测试的)流程,从而实际的说明ginkgo的使用方法 Ginkgo测试框架ginkgo作为k8s本身的测试框架对gotest进行了进一步的封装。支持测试用例的并行,串行,充实,过滤等等机制。下面简单介绍一下ginkgo的相关概念。 核心概念 suite: 一整个测试工程,测试工程包含很多测试用例(spec) spec: 一个测试用例,通常表现为 12It("description", func{ 实际的测试逻辑}) container node: 组织spec的层级系统,spec类似于文件而container node类似于文件夹。具体有如下几类。当然这些container node在用法上没什么不同,只是名字不一样。用来提示在测试过程走到了那个分支 Describe Context When setup node:在实际执行spec/suite之前或者之后的操作过程,具体有如下几类: BeforeEach JustBeforeEach BeforeSuite AfterEach Ju...



