自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于client-go实现对kubernetes资源对象的监听

需求背景为了实现动态的对集群中的pod进行slb的绑定和解绑,我们通过创建configmap来动态传参,管控pod监听configmap的创建和删除操作,解析出configmap中的参数动态进行slb的绑定和解绑操作。监听的对象分别为kubernetes原生资源对象configmap,以及我们自定义对象弹性网卡eni,configmap 和自定义资源对象eni 的创建和删除 都对应着 后台的绑定和解绑操作。监听实现逻辑如下:代码实现configmap//watcher为自定义对象,watacher

2020-07-23 14:21:13 1809

原创 goland 构建约束与vendoring

构建约束条件和vendoring模式是可用于微调构建过程的工具。借助构建约束,您可以定义是否将文件包含在包中的规则之中。启用vendoring模式后,仅使用存储在项目中的依赖项包来构建应用程序。因此,您只能在包中包括一组特定的文件,并使用在本地修改或打补丁的依赖项。

2020-07-22 12:14:06 2495

原创 kubernetes获取pod监控指标

通过kubernetes client-go 客户端,调用metric server api获取pod及node相关的监控指标

2020-06-20 00:11:34 3474

原创 彻底解决容器化部署ftp

网上有不少ftp容器化部署教程,但涉及场景都很简单,大多是本地容器化部署。本文亲自示范各种docker 和 kubernetes下容器化ftp服务的方式。针对遇到的访问远程ftp server问题进行记录

2020-06-06 08:32:36 2727 1

原创 两数相加 java golang实现

同时利用golang 和 java实现基于链表的两数相加,附解题思路和最优代码

2020-06-03 20:12:17 179

原创 一文带你了解s2i的原理使用,快速构建镜像

介绍了s2i的核心组成,及使用方式,一文带你了解s2i的原理及使用,使用s2i进行快速镜像构建

2020-06-02 10:55:02 2183

原创 通过dockerfile设置镜像的时区和中文编码

本文详细介绍了通过dockerfile进行镜像时区的设置,解决部分场景下时间显示非北京时间问题,同时对常见的乱码出现原因进行了分析,并对镜像问题导致的中文乱码进行了彻底解决

2020-06-01 16:48:50 2333 1

原创 kubernetes平滑滚动升级服务 实现零宕机

本文介绍了通过readinessProbe 探针 和 preStop钩子测地解决 服务在发布升级过程中出现的宕机,服务访问异常问题

2020-05-31 16:37:21 994

原创 golang中父子协程生命周期问题,以及通过context优雅关闭子协程

fmt.Println("main 函数 开始...") go func() { fmt.Println("父 协程 开始...") go func() { for { fmt.Println("子 协程 执行中...") timer := time.NewTimer(time.Second * 2) <-timer.C } }() time.Sleep(time.Second*5) fmt.Println("父 协程 退出...") }(.

2020-05-27 14:23:56 5827 2

原创 Kubernetes 优雅停止 Pod,Pod停止前处理设定任务的最佳方式

在 v1.5 之後,若要使用 --grace-period=0 就必須要搭配 --force 參數一起使用

2020-05-25 17:56:58 7374

原创 彻底搞定kubernetes远程访问

访问kubernetes时有多种访问,但远程访问时,往往涉及一些权限的问题,比如利用api进行访问时返回fobbiden等。本文带你用搞定kubernetes多种访问方式中遇到的问题,彻底搞定kubernetes远程访问

2020-05-23 11:03:19 1552 1

原创 golang 利用mysql 实现分布式锁

需求背景我们的服务近期刚开始上线,之前在测试环境一直都是单实例运行。其中有一项功能是搜集kubernetes pod中的日志,上线之后发现,日志搜集有重复,问题定位较容易,因为重复数量恰好是我们线上服务的副本数,想到没有做分布式锁。线上运行的每个实例都在搜集每个pod的日志,导致日志重复。对于实现分布式锁,最常见的是通过zk、redis来实现,因为项目刚开始上线,目前暂不打算额外引入其他中间件,所以打算通过mysql来实现分布式锁。参考了以下两篇文章:mysql实现分布式锁简单实现依赖 MySQL

2020-05-19 21:30:26 1565

原创 kubernetes 灰度发布,deployment删除,无法级联删除pod,项目无法更新新版本功能

灰度发布流程线上发布,我们基于内部上线系统定制了一套发布流水线(包括测试、预发、正式等环境分别有对应的流水线),流水线大概包括分支代码合并、代码编译、镜像构建、金丝雀部署(灰度部署部分pod)、正式部署、删除金丝雀部署几个节点。后面几个部署节点都是通过调用阿里云ack(可理解为kubernetes)api接口创建deployment完成。这里只交代下大概的背景,以后我会详细说明灰度发布的整个流程。下面着重记录下今天遇到的问题起因:按照上述流程上线之后访问服务出现问题。检查线上部署deployment对

2020-05-12 00:15:06 1517

原创 使用kubernetes/docker容器化部署应用的注意点

最近遇到一个需求,把服务通过阿里云的容器服务kubernetes版部署上线,大概介绍下上线步骤以及注意点:# 使用保密字典存放代码中使用的账号、密码应用中一般都会涉及到数据库或者其他中间件的访问连接,这些连接一般都需要账号、密码,在项目中,一般都是配置到对应的配置文件,程序运行的时候从配置文件加载。但是线上的配置不可以直接推到仓库,否则会造成泄漏的风险。既然配置中不可以使用真正的线上数据库或者中间价账号、密码,那在所以使用kubernetes进行部署时,这些账号、密码怎么传递才更安全。一个可行的方案

2020-05-11 17:56:51 569

学生信息管理系统

实现了学生信息的添加,删除,修改,按条件查询以及特许情况处理,课程选择等功能

2012-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除