• 更好用的kubectl

    zsh kubectl auto completion 配置对多集群的访问 kube-ctx/kubens kube-ps1 kubectl是管理kubernetes集群的命令行工具,实际使用的频率非常之高,因此一个更方便的kubectl通常会带来很大的便利性。下面介绍几个很棒的工具。 zsh 其实我更喜欢用fish(传说中90后都在用),但是fish针对kubectl的生态还不够完善(主要是没有auto completion),因此还是先用zsh。 推荐用oh-my-...


  • http cache在Dragonfly中的应用

    阿里开源的Dragonfly对k8s集群上多副本应用的镜像分发有很大帮助,通过p2p网络,可以很好的解决docker registry的压力。 有关蜻蜓的介绍,请参见直击阿里双11神秘技术:PB级大规模文件分发系统“蜻蜓” 首先,docker pull命令,会被dfget proxy截获。然后,由dfget proxy向super node(即cluster manager)发送调度请求,super node在收到请求后会检查对应的下载文件是否已经被缓存到本地,如果没有被缓存,则会从Regi...


  • 墙内安装kubernetes教程

    准备工作 更换apt源为163 安装docker 增加kubernetes aliyun镜像源 安装kubeadm/kubelet/kubectl 关闭swap 配置docker mirror 拉取k8s的包并tag 开始安装master 部署weave网络 准备计算资源 安装weave scope 去年2月我写过一篇kubernets部署备忘 ,当时基于v1.5.2,...


  • Golang官方包依赖管理工具 go mod 简明教程

    go mod是什么 如何使用go mod 更好的控制 go mod是什么 Golang从诞生之初就一直有个被诟病的问题:缺少一个行之有效的“官方”包依赖管理工具。其原因是在Google内部,所有人都是在一个代码库上进行开发的,因此并不是非常需要。但Golang变成一个社区化的工程语言之后,这个问题被放大了。 GOPATH不符合一般开发者习惯,大部分人更习惯maven、node modules之类的方式 GOPATH无法有效的管理版本依赖,没有一个地方能够表明依赖包的具体...


  • kubernetes ingress 健康检测

    问题背景: 当node重启或node上docker服务stop时,由于k8s不会快速将该Pod的endpoint从service上摘除,此时需要ingress能快速发现问题,否则请求流量会被nginx转发到故障的Pod上。 nginx-ingress的解决方法: 当前nginx-ingress支持后端服务的重试,例如下面的upstream,当请求到来时,将对server进行重试: max_fails为在fail_timeout 时间内重试的最大次数;当达到max_fails后,将该server的状...


  • kubernetes笔记: NetWork Policies 网络策略

    NetworkPolicy 资源 默认NetworkPolicy 默认禁止所有入方向流量 默认允许所有入方向流量 默认禁止所有出方向流量 默认允许所有出方向流量 默认禁止所有出入方向流量 Kubernetes通过namespace支持了多租户,不同租户间可以通过ResourceQuota来保证资源的隔离,也无法查看其他namespace的Pod信息等。但默认kubernetes并不限制访问Pod的网络请求...


  • 如何自然的将Harbor集成到kubernetes集群中

    我们计划使用Harbor来做镜像管理。相对原生的docker registry,Harbor有一些优势,例如可以集成用户认证、提供项目的概念、项目间可以隔离、镜像复制等功能。 Harbor的认证一般可以采用DB或者LDAP的方式,在安装Harbor时指定 auth_mode 为 db_auth 或 ldap_auth 。以LDAP为例,安装后,用户可以使用LDAP账户/密码,登录到Harbor的web页面,也可以 使用LDAP账户/密码, docker login 到Harbor,Harbor会去...


  • 终于我也求助了工信部

    我的手机是电信的199家庭套餐。这段时间发现话费花的很快,刚充了没多久就提示余额不足。觉得很奇怪,就查了下话费,好家伙,原来从2月份开始就给我开通了一个30块钱1GB的流量包月。 我他X的。 30块钱什么概念呢,其实30块钱是可以直接开一个无限流量的包月的(我的套餐因为之前有个合同没到期,如果要改159不限量套餐的话要交个三百块的违约金,电话问了下10000号说不终止套餐的话可以办一个30块无限流量的包月)。谁会去开这么缺心眼的包月呢? 努力回想了下,应该是2月份春节的时候,流量用超了,临时开...


  • Golang: 常量、枚举,以及魔幻的iota

    常量 枚举 常量 Golang里的constants就是constants,在编译时创建。常量可以是这几种: numbers, characters (runes), strings or booleans。因为是在编译时处理的,所以常量的值必须是编译器可以搞定的,比如1,”abc”,以及 len(“abc”)。 注意最后这种也是可以的。 和变量不同,常量可以定义了,但是不用。为什么?因为下面要用常量来定义枚举,谁能保证所有枚举就一定会用到呢? package main imp...


  • 迈向serverless

    什么是serverless 有哪些serverless选手 kubeless kubeless安装 kubeless架构 什么是serverless 啥?怎么就serverless了? 要说serverless,得先从最近几年的XaaS说起。 AWS,阿里云,Azure,GCP等等,最先提供的,是IaaS,基础设施即服务,卖卖ECS各种云服务器,用户不用自己去买硬件服务器、建设机房各种操心了,点点鼠标就有了。 后来出现了PaaS...