网站首页 成长录 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

开发者说:如何使用插件降低上传文件部署服务的复杂度
2020-06-10 11:33 admin 插件复杂度

“这里描述我们实际服务部署的时候频繁发生的两个常用场景。第一个场景,我们“办公网环境”想要在“准生产环境”下部署,需要做如下工作:打包、将文件上传到堡垒机上、scp将上传好的包裹传输到“准生产环境”的目标机器、ssh目标机器、restart重启服务。第二个场景是,我们可能随时的给“准生产环境”临时上传一些文件,但是仍然...
阅读全文

garbage collector controller 源码分析
2020-06-10 11:33 admin 源码garbage

在前面几篇关于controller源码分析的文章中多次提到了当删除一个对象时,其对应的controller并不会执行删除对象的操作,在kubernetes中对象的回收操作是由GarbageCollectorController负责的,其作用就是当删除一个对象时,会根据指定的删除策略回收该对象及其依赖对象,本文会深入分析...
阅读全文

kubelet statusManager 源码分析
2020-06-10 11:33 admin 源码kubelet

本篇文章没有接上篇继续更新kube-controller-manager,kube-controller-manager的源码阅读笔记也会继续更新,笔者会同时阅读多个组件的源码,阅读笔记也会按组件进行交叉更新,交叉更新的目的一是为了加深印象避免阅读完后又很快忘记,二是某些代码的功能难以理解,避免死磕,但整体目标是将每个...
阅读全文

82.go交叉编译windows下编译linux运行程序
2020-06-10 11:33 admin go编译

go语言开发的一个让人激动的特性就是可以跨平台。同样的代码,无需修改,只要重新编译一下就可以在另一个平台下运行,而你只需要在编译的时候指定一下目标平台系统就可以了。最常见的就是windows下开发完的应用需要跑在linux上了。拿一个已经开发完成的web程序来实践,在windows上编译出redhatlinux上的应用...
阅读全文

daemonset controller 源码分析
2020-06-10 11:33 admin 源码daemonset

在前面的文章中已经分析过deployment、statefulset两个重要对象了,本文会继续分析kubernetes中另一个重要的对象daemonset,在kubernetes中daemonset类似于linux上的守护进程会运行在每一个node上,在实际场景中,一般会将日志采集或者网络插件采用daemonset的方...
阅读全文

viper从etcd读取配置失败的问题
2020-06-10 11:33 admin etcdviper

问题描述(本文环境是Viper1.1.0)是Go应用程序的完整配置解决方案,在很多项目中都有应用。[etcd](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2Fetcd-io%2Fetcd)是一个分布式KV存储,最直接的应用是配置中心。Viper除了...
阅读全文

87.给二维码加logo,draw.Draw的应用实例
2020-06-10 11:33 admin logodrawDraw

go语言对图片的操作相当方便。无论是生成一张新图片,还是在现有的图片上做一些操作。这次,来试试非常流行的图片上加自己的logo水印。当然,二维码是比较特殊的一个例子,它不能超过背景图片的一定比例面积,不然可能会影响二维码的识别。首先要准备好叠加的两个图片文件,这里我要叠加的文件是1.png和2.png__file1:=...
阅读全文

kube-apiserver 中 apiserver service 的实现
2020-06-10 11:33 admin kubeapiserverapiserver

在kubernetes,可以从集群外部和内部两种方式访问kubernetesAPI,在集群外直接访问apiserver提供的API,在集群内即pod中可以通过访问service为kubernetes的ClusterIP。kubernetes集群在初始化完成后就会创建一个kubernetesservice,该servic...
阅读全文

go语言编译真正的静态可执行文件
2020-06-10 11:33 admin go可执行文件

我们在`linux`上编译带有网络功能的`go`程序,得到的可执行程序还是一个动态链接程序,依赖系统中的`libc`运行,如果部署到服务器上,还是需要保证服务器的`libc`版本不低于编译平台的`libc`版本,否则有可能不能运行。要把`go`程序编译成真正的静态可执行文件,必须把`libc`也静态编译进可执行文件中。...
阅读全文

kube-apiserver 的设计与实现
2020-06-10 11:33 admin kubeapiserver设计

kube-apiserver是kubernetes中与etcd直接交互的一个组件,其控制着kubernetes中核心资源的变化。它主要提供了以下几个功能:*提供,包括认证授权、数据校验以及集群状态变更等,供客户端及其他组件调用;*代理集群中的一些附加组件组件,如KubernetesUI、metrics-server、n...
阅读全文

84.go web ajax简单使用方法(上)
2020-06-10 11:33 admin goweb

使用go开发web应用,很多时候需要用到二次从服务器获取内容的场景,为什么说是二次呢?那就是,你已经打开了某个web页面,但是根据场景需要,有一些数据你并不是一开始就能知道需要加载的,直到用户做了一个操作,你才能获知需要再拿到一些什么数据过来显示给用户。同时,你又不希望客户正在看着的页面整页重新刷新一次(因为这有时候很...
阅读全文

85.go web ajax简单使用方法(中)
2020-06-10 11:33 admin goweb

//--西游记全部数据()funcdataSrcXiYouJi()(result[]zhanghuixiaoshuo){varxiyoujiall[]zhanghuixiaoshuovarzhanghuizhanghuixiaoshuo{zhanghui.ZhanghuiCode="1"zhanghui.Title="...
阅读全文

86.go web ajax简单使用方法(下)
2020-06-10 11:33 admin goweb

至此可以选择章节,从服务器取回对应内容,局部刷新到页面上了。image.pngimage.png无章节反馈由于篇幅限制,删减了部分数据后,发布全部源码如下。main.go__/***CofoxS*@Author:JianJunbo*@Email:junbojian@qq.com*@Create:2020/2/1623:...
阅读全文

kubelet 中垃圾回收机制的设计与实现
2020-06-10 11:33 admin kubelet垃圾

kubernetes中的垃圾回收机制主要有两部分组成:*一是由kube-controller-manager中的gccontroller自动回收kubernetes中被删除的对象以及其依赖的对象;*二是在每个节点上需要回收已退出的容器以及当node上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析kubelet中的...
阅读全文

Hyperledger Fabric私有数据(Private Data Collections)源码分析
2020-06-10 11:28 admin 源码Hyperledger

说明:基于HyperledgerFabric1.2的源码;自己阅读源码也是在学习和摸索中,有错误的话欢迎指正,也有不少还不懂的地方,欢迎指导和讨论。主要流程【接收交易proposal的过程】1.peer在调用chaincode执行交易后,会依据collection配置在有权限的peer间散播私有数据,并存储私有数据到自...
阅读全文
顶部 底部