04 2022 档案

摘要:免密登录配置 客户端生成公钥私钥对 服务端保存公钥到 authorized_keys [scp/ssh-copy-id] /etc/ssh/sshd_config 配置重启 know_hosts 会记录链接主机信息 首次会询问 原理解析 在客户端使用ssh-keygen生成一对密钥:公钥+私钥 将客 阅读全文
posted @ 2022-04-29 20:32 vx_guanchaoguo0 阅读(61) 评论(0) 推荐(0) 编辑
摘要:很多人认为 父 goroutine 结束后 子goroutine 一定会结束 结论只要main 不结束 goroutine 一定会运行 代码验证 package main import ( "fmt" "time" ) func main() { fmt.Println("main start") 阅读全文
posted @ 2022-04-29 20:13 vx_guanchaoguo0 阅读(128) 评论(0) 推荐(0) 编辑
摘要:都知道map并发是不安全 会被运行时panic ####### sync.Map 源码解析 type Map struct { mu Mutex read atomic.Value // readOnly dirty map[interface{}]*entry misses int } type 阅读全文
posted @ 2022-04-29 20:05 vx_guanchaoguo0 阅读(41) 评论(0) 推荐(0) 编辑
摘要:官方一段话 time.After 内存gc 不会回收 其实不是 源码 / After waits for the duration to elapse and then sends the current time // on the returned channel. // It is equiv 阅读全文
posted @ 2022-04-29 19:53 vx_guanchaoguo0 阅读(59) 评论(0) 推荐(0) 编辑
摘要:######很多人在博客看到 slice 扩容策略如下 当大于 1024 则1.5倍 大于1024则两倍 这个结论是错误的 a:= []int{1,2} a= append(a,3,4,5) // 如果是2倍应该 容量是8 但是实际 5 ####### 查阅源码 runtime/slice.go f 阅读全文
posted @ 2022-04-29 19:46 vx_guanchaoguo0 阅读(24) 评论(0) 推荐(0) 编辑
摘要:package main import ( "encoding/json" "fmt" "runtime" "time" ) type Monitor struct { Alloc, TotalAlloc, Sys, Mallocs, Frees, LiveObjects, PauseTotalNs 阅读全文
posted @ 2022-04-24 13:27 vx_guanchaoguo0 阅读(204) 评论(0) 推荐(0) 编辑
摘要:在web单元测试 需要构建http web server 设置路由 发送 请求 简化流程 直接 在路由上 call hander 实例演示 func init() { router := gin.Default() router.POST("/login", LoginHandler) utils. 阅读全文
posted @ 2022-04-24 12:36 vx_guanchaoguo0 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一般面试喜欢考试这个 通过无缓冲 chan 类似一个锁 谁拿到谁操作 序列化执行 将 核心数限定为1 主动让出调度权 chan ch := make(chan int) go func() { for i := 0; i < 10; i++ { ch <- 1 if i%2 == 1 { fmt.P 阅读全文
posted @ 2022-04-24 10:55 vx_guanchaoguo0 阅读(45) 评论(0) 推荐(0) 编辑
摘要:k8s中的统一日志收集 将日志输出为标砖输出 使用 sidecar 收集日志 使用共享存贮卷【ceph】 存入分布式文件系统 ####### 将日志输出为标砖输出 业务直接把日志输出标准输出即可 存在一下问题 在dockerfile 编写中有的会写用shell脚本 导致容器进程不是可行的进程 pid 阅读全文
posted @ 2022-04-24 10:52 vx_guanchaoguo0 阅读(21) 评论(0) 推荐(0) 编辑
摘要:cmd endpint区别 很多知道在dockerfile中cmd 和 endpint 都可以执行 linux 命令 cmd 主要用途就是为正在执行的容器提供默认值 一个dockerfile 只能有一个cmd 【docker run 指定参数则覆盖cmd】 CMD ["executable","pa 阅读全文
posted @ 2022-04-23 17:21 vx_guanchaoguo0 阅读(34) 评论(0) 推荐(0) 编辑
摘要:预制条件 goang version v1.17 Docker engine version v20.10.14 k8s version v1.22.5 opreater-sdk version v1.22.5 开发环境 wsl2 ubuntu 20.04 依赖对应关系 github opreate 阅读全文
posted @ 2022-04-23 15:46 vx_guanchaoguo0 阅读(461) 评论(0) 推荐(0) 编辑
摘要:####### 为啥需要helm 复用性 可以在k8s部署应用的中的所有要素集合起来下次有类似需求直接使用 共享 同样的事情其他人做过 可以直接拿来用 准确性 将整个过程固定下来 减少人为犯错的几率 便捷性 不需要了解整个k8s全部元素 只需要关注需要参数也可以在k8s部署应用 ####### he 阅读全文
posted @ 2022-04-23 15:07 vx_guanchaoguo0 阅读(39) 评论(0) 推荐(0) 编辑
摘要:一般出现先go get 阶段 主要是说代码被重复声明 golang 要求一个目录下不可以有两个main 函数 和 package ####### 处理方案 如果出现 GOROOT 目录则删除golang整个安装目录 reinstall 即可 如果是项目 分开目录声明即可 避免同一个包即可 阅读全文
posted @ 2022-04-23 12:10 vx_guanchaoguo0 阅读(687) 评论(0) 推荐(0) 编辑
摘要:主流 operator operator—sdk [Core_OS维护的] kubebuilder [k8s sigs 小组维护] ####### sdk 选择 不必纠结目前两个社区已经融合 operator—sdk 已经提供了迁移方案 安装方式 mac brew install 二进制版本 rel 阅读全文
posted @ 2022-04-22 17:09 vx_guanchaoguo0 阅读(80) 评论(0) 推荐(0) 编辑
摘要:####### 安装指定版本 https://studygolang.com/dl 找到对应版本 wget https://studygolang.com/dl/golang/go1.17.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.17.l 阅读全文
posted @ 2022-04-22 16:33 vx_guanchaoguo0 阅读(37) 评论(0) 推荐(0) 编辑
摘要:gland run code wsl2 ######## install wsl --install wsl -l -v wsl --list --online wsl --install -d DISTRO-NAME wsl --update #内核更新 阅读全文
posted @ 2022-04-22 16:13 vx_guanchaoguo0 阅读(58) 评论(0) 推荐(0) 编辑
摘要:chocolatey 可以类似 mac brew 可以很方便的管理包 官方文档 https://chocolatey.org/install ####### powershell 管理方式打开 Set-ExecutionPolicy Bypass -Scope Process -Force; [Sy 阅读全文
posted @ 2022-04-22 13:10 vx_guanchaoguo0 阅读(28) 评论(0) 推荐(0) 编辑
摘要:基本命令 kubectl kubeadm 区别 kubeadm 用于初始化Cluster 证书更换 token 添加节点 kubectl 操作对象是集群资源 集群常用资源极其简称 node (节点) po(pod) ns(命名空间namespace) svc(service服务):定义了一个 Pod 阅读全文
posted @ 2022-04-21 17:47 vx_guanchaoguo0 阅读(346) 评论(0) 推荐(0) 编辑
摘要:endpiont serivce 后面的一组可以被访问的端点 一般 Pod 都不是一个独立存在,所以一组 Pod 的端点合在一起称为 EndPoints 只有被 Service Selector 匹配选中并且状态为 Running 的才会被加入到和 Service 同名的 Endpoints 中。 阅读全文
posted @ 2022-04-21 17:33 vx_guanchaoguo0 阅读(40) 评论(0) 推荐(0) 编辑
摘要:dashboard 提示匿名不发访问deflaut namespace 可以给匿名用户创建角色 kubectl create clusterrolebinding test:anonymous --clusterrole=cluster-admin --user=system:anonymous 临 阅读全文
posted @ 2022-04-21 14:33 vx_guanchaoguo0 阅读(438) 评论(0) 推荐(0) 编辑
摘要:两种方式登录 token 上一篇文章已经介绍 kubeconfig $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1] kubectl config set 阅读全文
posted @ 2022-04-21 14:03 vx_guanchaoguo0 阅读(62) 评论(0) 推荐(0) 编辑
摘要:dashboard 一段时间不操作后token 过期 修改dashboard.yml template: metadata: labels: k8s-app: kubernetes-dashboard spec: containers: - name: kubernetes-dashboard im 阅读全文
posted @ 2022-04-21 12:02 vx_guanchaoguo0 阅读(206) 评论(0) 推荐(0) 编辑
摘要:k8s 证书更新 k8s 每个组件之间是通过证书认证相互通讯 在代码中写死是默认有效期是一年 证书分类 序号 证书作用 类型 1 etcd节点间通讯的证书 服务器和客户端证书(因节点间互相访问) 2 etcd向外提供服务使用 服务器证书(因被访问) 3 apiserver访问etcd使用 客户端证书 阅读全文
posted @ 2022-04-21 10:47 vx_guanchaoguo0 阅读(166) 评论(0) 推荐(0) 编辑
摘要:背景 k8s开发进入虚拟机 但是发现 Hyper-v 自动创建一个 DockerDesktopVM win +s 输入 hy 回车即可看到 Hyper-v管理器 有一个 DockerDesktopVM 但是无法进入 查询资料后发现 如下方法客可实现 docker run --privileged - 阅读全文
posted @ 2022-04-21 10:28 vx_guanchaoguo0 阅读(518) 评论(0) 推荐(0) 编辑
摘要:K8s中权限控制的API资源包括四个: Role 作用域 namespace ClusterRole 作用域 集群 RoleBinding ClusterRoleBinding cmd 创建用户 ### 1、创建私钥 (umask 077; openssl genrsa -out pod-reade 阅读全文
posted @ 2022-04-20 18:05 vx_guanchaoguo0 阅读(152) 评论(0) 推荐(0) 编辑
摘要:步骤如下 下载 docker-desktop git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git cd k8s-for-docker-desktop 切换到对应分支 配置阿里源 设置->dock 阅读全文
posted @ 2022-04-20 15:26 vx_guanchaoguo0 阅读(155) 评论(0) 推荐(0) 编辑
摘要:背景 新加字段需要依赖表中的一个字段 批量处理 批量删除某个表的字段或者另外一个表 查阅 可以使用inner join 具体案例 更新 UPDATE cloud_instances INNER JOIN cloud_domain_extras ON cloud_domain_extras.domai 阅读全文
posted @ 2022-04-15 11:12 vx_guanchaoguo0 阅读(252) 评论(0) 推荐(0) 编辑
摘要:背景 一句话: 函数式组件获取了render时所需要的值 react hooks 是 React 16.8 的新增特性。 它可以让我们在函数组件中使用 state 、生命周期以及其他 react特性,而不仅限于 class 组件。react hooks 的出现,标示着 react中不会在存在无状态组 阅读全文
posted @ 2022-04-14 17:11 vx_guanchaoguo0 阅读(202) 评论(0) 推荐(0) 编辑
摘要:背景 在页面显示日志异常信息 但是 不能太长影响页面布局 需要显示 固定长度并提示 查阅文档 Typography.Text# ellipsis 自动溢出省略,为对象时不能设置省略行数、是否可展开 代码实现 <Text style={ellipsis ? { width: 100 } : undef 阅读全文
posted @ 2022-04-14 13:41 vx_guanchaoguo0 阅读(1047) 评论(0) 推荐(0) 编辑
摘要:背景 很多语言java php 等异常可以打印出异常的具体的信息 堆栈 文件行号 异常原因 但是golang 需要自己去不是方便 是不是也可以做到 行号 具体的信息呢 答案是可以的 查阅 golang 提供单个API debug.Stack() fmt.Errorf struct 实现 func E 阅读全文
posted @ 2022-04-13 14:07 vx_guanchaoguo0 阅读(29) 评论(0) 推荐(0) 编辑
摘要:背景 需要并发的处理的任务 查阅 使用 waitgroup chan 代码实现 package main import ( "fmt" "sync" ) func main() { var l []int receive := func(w chan int, wg *sync.WaitGroup) 阅读全文
posted @ 2022-04-13 13:52 vx_guanchaoguo0 阅读(58) 评论(0) 推荐(0) 编辑
摘要:背景记录 api 的返回值到日志 方便排查问题 查阅文档 使用Gin 提供方的中间件可以处理 点击查看代码 package main import ( "fmt" "math" ) const abortIndex int8 = math.MaxInt8 / 2 type Context struc 阅读全文
posted @ 2022-04-13 13:46 vx_guanchaoguo0 阅读(56) 评论(0) 推荐(0) 编辑
摘要:背景 在做做项目的发现react jsx 语法中经常一个花括号 有时候是两个花括号 难道是固定写法? 查阅文档 一个花括号进入JS语法环境 类似 在进入一个JS 语法后包裹的自然是JS语法 两对花括号是声明一个对象 示例枚举 <a Style={{color: 'red'}}></a> var st 阅读全文
posted @ 2022-04-12 14:36 vx_guanchaoguo0 阅读(342) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示