Sketchnote

macvtap实践教程

macvtap是虚拟机网络虚拟化常用的一种技术,当然容器也可以用. MACVTAP 的实现基于传统的 MACVLAN. 和 TAP 设备一样,每一个 MACVTAP 设备拥有一个对应的 Linux 字符设备,并拥有和 TAP 设备一样的 IOCTL 接口,因此能直接被 KVM/Qemu使用,方便地完成网络数据交换工作. 引入 MACVTAP 设备的目标是:简化虚拟化环境中的交换网络,代替传统的 Linux TAP 设备加 Bridge 设备组合,同时支持新的虚拟化网络技术,如 802.1 Qbg.

Continue reading

强隔离容器那些事

探讨可加QQ群:98488045

强隔离容器的那些事

为什么需要强隔离容器

我们在生产环境中运行容器已久,第一次对强隔离容器诉求是java类应用引起的,如果不配置jvm参数,java虚拟机会根据系统资源信息进行内存gc线程数等配置,在不给容器配额的情况下问题不大,一旦配额了。。。

普通的容器在容器中看到的资源还是宿主机的资源,那么假设宿主机128G而你给容器配额2G,此时堆内存按照128G去分,可想而知后果,同理还有gc线程数等

Continue reading

kubernetes Admission Controller原理介绍

Admission Controller介绍

Apiserver干的最重要的三个事就是:

  1. 认证 : 看是否是合法用户
  2. 授权 : 看用户具备哪些权限
  3. admission controller : 一个调用链,对请求进行控制或修改,比如是否允许这个请求。

admission controller非常有用,也是经常会用到的k8s的一个扩展方式,今天在源码级别对其做一下介绍,以及如何自己去开发一个admission controller.

我们的应用场景是:我们希望把所有需要创建的pod都加上一个注解,因为我们早期是通过podpreset给pod注入lxcfs的配置的,但是用户在写yaml文件时很容易忘记加上,所以需要在apiserver上来个自动处理

Continue reading

kubernetes开发流程

kubernetes集群三步安装

概述

本文介绍如何对kubernetes进行二次开发,仓库如何管理,git分支如何管理,怎样利用CI去编译与发布以及如何给社区贡献代码等,结合实际例子,望对大家有所帮助。

Continue reading

k8s高可用一个kubeadm搞定,无依赖keepalived haproxy ansible

探讨可加QQ群:98488045

概述

地址sealos, 让kubernetes高可用不再需要keepalived haproxy和ansible,

sealyun定制超级版kubeadm通过ipvs代理多个master,优雅解决k8s高可用问题。

Continue reading

tektoncd pipeline教程 - kubernetes原生pipeline

kubernetes集群三步安装

概览

Tekton Pipeline,是一个k8s native的pipeline, 任务跑在pod中,通过自定义CRD去管理任务与工作流等等,我看完tekton之后感觉是功能很强大,但是有点过度设计了,没有drone的简约大方灵活之感

Continue reading

关于overlay2存储驱动的磁盘配额问题

kubernetes集群三步安装

概述

这篇短文向大家介绍一下正确使用存储驱动的姿势,非常有用。

为啥要用overlay2

  • docker centos(内核3.10)上默认存储驱动是devicemapper 的loop-lvm模式,这种模式是用文件模拟块设备,不推荐生产使用
  • direct lvm又不是一个开箱即用的模式,懒得配置
  • 最关键的是 docker in docker的情况下 device mapper是行不通的,典型的场景就是用drone时,构建docker镜像就不能正常工作
  • overlay存储驱动层数过多时会导致文件链接数过多可能会耗尽inode

所以当前overlay2是个比较好的选择

Continue reading

containerd与kubernetes集成

kubernetes集群三步安装

概念介绍

Continue reading

kubernetes 用户token教程

kubernetes集群三步安装

概述

kubernetes server account的token很容易获取,但是User的token非常麻烦,本文给出一个极简的User token生成方式,让用户可以一个http请求就能获取到。

Continue reading

属于极客的k8s管理工具fist, 强大的webterminal

kubernetes集群三步安装

介绍

fist是sealyun开发的精致的k8s管理工具,所有功能切入要害,而不追求多与重,接下来的介绍我相信有节操的k8s管理员一定会喜欢它。

terminal功能安装

安装地址

集成kubectl

terminal中可直接使用kubectl,用户就不需要登录到机器上或者自己装kubectl远程访问集群,当然这是基本功能

自动渲染kubeconfig文件

会根据传入的token去创建.kube/config 文件,如何给用户创建token 看这里

Continue reading