kubernetes
kubernetes架构和源码分析
柳清风09
这个作者很懒,什么都没留下…
展开
-
谈谈我对云原生的理解
这里我不想再引用Pivotal的Matt Stine的定义,只是想从个人角度思考一下什么是云原生。云原生是啥?在我看来是一套思想,一套完整的方法论和体系。是不是太虚了,的确,云原生就是一套指导意见。它主要有几个核心的工具:容器和基于容器的面向服务设计这个是云原生的的基石,容器镜像将程序和依赖环境打包到一个镜像里面,然后这个镜像就可以随处分发启动,再通过k8s等管理平台编排的调度,对外提供服务能力。面向服务的架构设计和管理,摆脱繁杂的IaaS资源配置。不仅如此Devops的发布流程也离不开容器镜像的支持原创 2021-01-09 12:01:52 · 822 阅读 · 2 评论 -
深入理解containerd里面snapshot
先问大家问题,containerd的snapshot是什么鬼? 难道是给容器做快照的吗?答案是: 是也不是为什么说是呢?它的确可以实现部分快照的功能,但他和常规意义的虚拟机快照又不是一回事。我们先看一下containerd是干嘛的?譬如我们拉镜像可以看到snapshot的服务作用是准备rootfs的,就是通过mount各个层,提供容器的rootfs。所有。content只是保存tar和mainfest和config文件的,是OCI那套东西,我们需要将他们逐一解压、mount后提供给容器。所以p原创 2020-12-26 11:41:47 · 3955 阅读 · 0 评论 -
k8s都开始抛弃dockerd了,ctr需要搞起了
明年的k8s将剔除docker shim,在未来dockerd大概率会淘汰,是时候搞起ctr。ctr是containerd客户端,虽然目前很多功能做的还没有docker那么完善,但基本功能已经具备了。下面我就来实操一下。主要有几个常用的自命名镜像镜像下载镜像列表查询这里需要注意PLATFORMS,它是镜像的能够运行的平台标识。其他从操作也都类似# ctr i -hNAME: ctr images - manage imagesUSAGE: ctr images comma原创 2020-12-13 20:11:32 · 4908 阅读 · 4 评论 -
奇技淫巧之dummy网卡
在我们日常工作中,是否有这种需求,在断网的情况下,假装网络可以通,仍然可以通过类似192.168.1.1 这样的IP 访问服务 。除了我们经常使用本例换回口127.0.0.1以外,今天介绍一个神器:dummy网卡。ip link add nodelocaldns type dummyip addr add 169.254.20.10 dev nodelocaldnsip addr add 10.96.0.10 dev nodelocaldns创建网卡后,就可以本地ping通了# ip a1:原创 2020-12-09 19:19:16 · 2645 阅读 · 0 评论 -
k8s configmap subpath bug
下面是我们生产环境容器的重启日志,可以看到是configm挂载失败了。但奇怪的是只有一个pod发生了这个现象。登录到主机后,发现mount挂载已经不存在了。# cat /proc/self/mountinfo |grep subpath3254 61 253:0 /var/lib/kubelet/pods/a90fef26-916e-11e9-b408-d2840e89eb12/volumes/kubernetes.io~configmap/fsosmpc-x0/..2019_06_18_02_13原创 2020-07-12 18:10:15 · 1668 阅读 · 0 评论 -
把对象存储转为文件存储,到底香不香?
目前开源的文件存储有很多,譬如NFS、GlusterFS、CephFS等,但实话实话这些文件存储都存在一定的问题,譬如NFS的多集群要折腾、GlusterFS的小文件存储性能差、CephFS的运维复杂度和稳定性不高。结合公司的业务场景:图片、pdf、文档 存储的特性,在公司内部主推的是对象存储。但在推广对象存储的时候,也面临一些老系统的改造压力,这些老系统之前都是使用商业NAS,如果迁移到对象存储需要改造的点有很多,而且还需要考虑历史数据的读取。如果对象存储能够保持和之前商业NAS一样的有个文件系统,通过原创 2020-05-14 09:52:19 · 1409 阅读 · 0 评论