实现自动创建容器及外部执行容器命令工具 1 工具设计概念 需求: 由于公司专门为其他业务部门提供了 paas 平台操作,但是有的业务部门的同事不太习惯使用 web 页面,所以我们不得不为他们提供后台的 kubectl 终端对他们的业务 NS 进行管理。 而领导的解决方式是通过在 K8S 上通过 UA 生成单独的用户来实现对业务的 NS 进行管理,并…
错误+延迟执行+panic&recover+单步调试 1 error 接口 Go 语言通过 error 接口实现错误处理的标准模式,通过使用函数返回值列表中的最后一个值返回错误信息,将错误的处理交由程序员主动进行处理 在程序中运行时错误错误一般分为两种: 可恢复的错误(重试/或忽略) 不可恢复的错误(程序退出) 范例代码: package …
函数类型+匿名函数+闭包 函数也可以赋值给变量,存储在数组、切片、映射中,也可作为参数传递给函数或作为函数返回值进行返回 通过函数类型,我们也可以定义一些集合类型,比如切片的映射的 函数类型的意义: 函数类型可以把函数作为参数传递到其他的函数中 1 函数类型 函数类型:由参数的数量和他的类型,还有返回值的数量和类型组成 package main i…
递归-阶乘&阶乘算法&汉诺塔 1 递归 递归是指函数直接或间接调用自己,递归常用于解决分治问题,将大问题分解为相同的小问题进行解决,需要关注终止条件 我们每做一个递归的时候一定要判断清楚递归的结束条件是什么 阶乘 package main import "fmt" func fact(n int) int { /…
[TOC] 1 函数定义&参数 函数用于对代码块的逻辑封装,提供代码复用的最基本方式,函数是对代码的一个封装,和复用 1.1 定义函数 函数包含函数名、形参参列表、函数体和返回值列表,使用 func 进形参声明,函数无参数或返回值时则形参列表和返回值列表省略。 函数可以理解为就是一种类型 func 函数名称(形参) 返回值 { 函数体 } …
1 Argo Rollouts概览 Argo Rollouts 由一个控制器和一组 CRD 组成,rollouts 用来能够实现并取代 K8S 之上的 deployment 编排无状态应用的一个控制器,并为 Kubernetes 提供高级部署功能,包括: blue-green(蓝绿部署) canary(金丝雀部署) canary analysis(…
1 ArgoCD 部署与使用 1.1 ArgoCD的部署要点 ArgoCD 有两种部署方式:多租户部署和核心化部署 多租户 常用于为多个应用程序开发团队提供服务,并由平台团队维护的场景 有两类可选择的部署方式 非高可用性部署:适用于演示和测试的目的 高可用部署:适用于生产用途 支持用户通过Web UI或CLI进行访问 支持集群级部署和名称空间级两种…
1 Argo 项目介绍 ArgoCD:专用于Kubernetes的声明式GitOps CD工具 Argo 项目于 2017 年由 Applatix 公司创立,2018 年初被 Intuit 收购; 之后,BlackRock 为 Argo 项目贡献了 Argo Events 这一子项目; Argo 及其子项目为 Workflow、Trigger 和 …
Tekton 分支策略 1 什么是分支策略: 可以理解为当有一个开发团队需要对同一个项目进行协同的时候,我们如何借助于 Git 这样一个代码管理工具、或者软件协同管理工具,来实现协同效应的这么一个管理机制,这就称为所谓的分支策略。 分支也分为长期分支和短期分支。 短期分支:是一个临时的任务并不会长期存在,是在该项目中的一个短期的存在,比如突然有一个…
1 Tekton Pipelines 快速入门 官方文档:https://tekton.dev/docs/ 1.1 安装 Tekton 相关工具 管饭安装链接:https://tekton.dev/docs/pipelines/install/ 环境要求: Tekton Pipelines 0.11.0 及以上的版本,需要运行于 Kubernete…