Kubernetes中存储持久化方案--全览基础篇
很早就想写这篇文章,毕竟已经基于Kubernetes开发有一段时间了,需要做一个阶段性总结。 按照大纲,将会有三篇, 其中第一篇为基础篇章,主要讲解kubernetes中的存储概念以及基本使用 第二遍为中级篇章,只要结合源码讲解kubernetes存储细节以及流程 第三篇为深入csi,手把手教学任意存储厂商编写驱动教程 本篇作为基础会把kubernetes涉及的存储概念交待清楚并配以实战 …
很早就想写这篇文章,毕竟已经基于Kubernetes开发有一段时间了,需要做一个阶段性总结。 按照大纲,将会有三篇, 其中第一篇为基础篇章,主要讲解kubernetes中的存储概念以及基本使用 第二遍为中级篇章,只要结合源码讲解kubernetes存储细节以及流程 第三篇为深入csi,手把手教学任意存储厂商编写驱动教程 本篇作为基础会把kubernetes涉及的存储概念交待清楚并配以实战 …
上文我们使用了Network这个namespace写了个demo演示了网络空间,把veth一端塞进容器里头,并解决了容器网络问题。目前为止,这个go写的简单容器已经演示了好几个Linux的命名空间的使用。今天的主题是使用UTS namespace。 …
上一回合使用了Mount命名空间,并下载了一个很小的linux文件系统alpline作为镜像,然后整体运行起来之后就是一个简单的linux容器。但是实际操作起来会发现,这个容器的网络并没有设置好。因此这里要介绍下和网络相关的命名空间Network …
众所周知,在Linux上使用容器有个天大的好处,就是可以把不同的系统打包运行,虽然你的宿主机可能就是CentOS,但是如果使用了容器技术,你可以同时运行alpline,Debian,Ubuntu等其他的你喜欢的发行版,关键是这些容器共享宿主的资源,因此,每个容器是非常轻量级的,不同虚拟机,这是如何做到的 …
上回通过uid和gid的映射解决了容器内用户权限问题,使之更像一个容器进程。这次要更进一步,通过理解docker的reexec包解决一种容器中常遇到的一种场景。 …
上一篇讲到,我们同时使用了不同命名空间,包括 Mount, UTS, IPC, PID, Network还有User命名空间。然而,其实还遗留下很多东西,比如缺少初始化,配置等操作。这次会详细讲解其中的问题。 …
unshare只是个简单和namespace有关的的例子,如果要深入了解容器,这就有点不够用了。 因为我们可能还需要更近一步的控制。因此我们会从程序语言层面来探索namespace,而不只是命令,本系列采用golang …
在展开学习命名空间发现,大多数教程都基于C语言讲解,其实也很合理,毕竟Linux的历史由来就这样,但是为了结合技术栈更方便理解,这里采用golang来进行讲解 …
Kubernetes是一个大型的项目,其代码全部开源,在github上都可以访问,理论上所有人都可以参与其中。不少人也是有过这样的疑问🤔️我是Kubernetes新手,但也想做贡献。那么该如何入手 …
之前一直使用ss 或者ssr的方案,但是随着长城的进化,这种方式以及逐渐被老大哥盯上了,因此ss也就变成重点关照对象,线路干扰非常严重,需要新的姿势穿越到外面的世界。 …