• kubernetes笔记: HostAliases

    k8s上不同服务之间可以通过service的域名来互相访问。域名的解析是一般是通过在集群中的kube-dns(主要是dnsmasq)或者coredns完成的。k8s的dns也可以向上级联dns服务器。 有的时候,我们希望给运行在k8s上的Pod增加一些域名的解析(例如宿主机的主机名),但又不想对dns模块动太多,有没有什么比较方便的办法呢? 容易想到的是,将域名记录到容器镜像的/etc/hosts文件,这样容器运行时就可以正确解析了。 然而这样是不行的。k8s会管理这个文件,打到镜像里的文件实...


  • kubernetes笔记: downward API

    Store Pod fields Store Container fields 能力 ### k8s新增了一个叫做downward API的概念。 其目的是,容器可以知道一些自己的信息,但又不需要跟k8s过度耦合(也就是不希望在容器中调用k8s的api)。 有两种方式可以将Pod和Container的信息暴漏给运行中的容器。 Environment variables DownwardAPIVolumeFiles 这俩货,就叫做 downward API。可能是...


  • 使用swaggo自动生成Restful API文档

    安装swag命令行 获取gin专用的gin-swagger 编写gin-swagger需要的注释 整体应用的说明 具体api的说明 swag init Java使用Spring Boot写Restful API时,可以在代码里用注解来标识API,编译为Jar包后,运行时Web应用可以直接托管API文档。具体的可以参考这篇文章:使用swagger来做API文档。 那么golang系有没有类似的做法呢? 有是有的,只是没有s...


  • OpenVswitch设计与实现

    Abstract 1 Introduction 2 设计约束和基本原理 3 设计 3.1 概览 3.2 包分类 3.3 3.3 使用OpenFlow作为编程模型 4 流缓存设计(Flow Cache Design) 4.1 Microflow Caching 4.2 Megaflow Caching 5 缓存敏感的包分类器(Caching-aware Packet Cl...


  • 如何下载centos/redhat的linux内核源代码

    有个小问题一直没闹明白:CentOS的内核源代码从哪里下? 如果是linux主线的代码,可以github上获取了:linux(4.5之后的版本)。但需要注意centos并不是使用的linux主线的内核,而是redhat自己维护的。 查了下资料,在这做个笔记。 centos的内核源码获取方式参考这里的说明。 centos将源码都归档到了git.centos.org,但如果直接去看 kernel rpm git , 你会发现根本找不到代码的影子。 centos用了一个特别的办法。 [user...


  • Chrome插件:CSDN博客自动阅读全文

    最近看CSDN博客比较多,发现CSDN有一个非常脑残的设定:博客稍长一点,CSDN就不会展示整个文章,而是需要用户点击“阅读全文”的按钮。 蜜汁逻辑。 为了节省用户的流量?拜托我在PC登陆的啊,我又不是身在澳大利亚。 而且CSDN其实是整个页面都GET了的,只是展示的时候隐藏了起来。 难道是怕太长了浏览器受不了吗? 蜜汁逻辑。 每次都要点击一下。否则,查找字符串的时候,会发现,匹配了10个,但是页面上只能看到2个。其他的都被隐藏起来了。 脑残。 不过难不倒我,搞个Chrome插件...


  • Javascript请求,用户登陆超时Spring Security如何跳转?

    cas的认证流程 cas登录超时与session超时 为什么js拿不到302请求? 解决办法 记录一个最近遇到的小问题。 我们有个web应用,使用了React + Spring Boot + Spring Security + cas认证的组合。Spring Security支持cas,代码不赘述,这里讨论用户登陆超时跳转的问题。 用户超时时(默认2小时),点击浏览器的刷新按钮,此时可以重定向到cas的登陆页面。但通常用户未必意识到已经超时了,可能仍然去点击某些控件,由于页面...


  • Golang: 详解container/heap

    1 heap是什么 2 container/heap提供的方法 3 container/heap可以用来做什么 4 heap是怎么做到的 4.1 heap.Init 4.2 heap.Push 4.3 heap.Pop 4.4 heap.Fix 4.5 heap.Remove golang的container包中提供了heap容器,这个容器可以用来做什么,又是怎么做到的呢?本文从golang 1....


  • 新买了个Nintendo Switch

    前几天入手了一个Nintendo Switch,淘宝店,日版。Switch不锁区,日版、港版、欧版等等,只是包装不同,主机是一样的,注意现在没有国行版,所以随便买一个就好(港版由于插头跟大陆不一样,不推荐)。 随同机器一起买了Zelda荒野之息(THE LEGEND OF ZELDA, BREATH OF THE WILD)。游戏真的太贵了,主机的1/7。不过塞尔达系列是神作,三百多就三百多吧。 以前在NDS上玩大地的汽笛的时候,经常在床上一躺就是一天,就玩这一个游戏,质量真的非常高,所谓 任天...


  • 使用swagger来做API文档

    使用Spring boot可以很快速的开发restful api,但是如果手工维护api文档就太费事了,很难做到同步。 swagger可以将代码和api文档维护在一起,通过访问服务进程的swagger页面就可以得到完善的api文档,还可以直接Try out。 swagger的使用,可以参考 程序员DD 的这篇文章:Spring Boot中使用Swagger2构建强大的RESTful API文档,快速开始,原文写的很好,我就不搬运了。总的来说,还是很方便的。 由于我的应用还配置了spring...