
Kubernetes
文章平均质量分 87
Kubernetes
chuixue24
这个作者很懒,什么都没留下…
展开
-
什么是云原生
伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂,都0202年了,如果你还不懂云原生,那真的out了。大家言必称云原生,却鲜少有人告诉你到底什么是云原生,若是找资料来看,读完大多会感觉云绕雾罩,一知半解,总之虚得很;甚至会让你一度怀疑自己的智商,不过我对于读不懂的文章,一律归因于写文章的人太蠢,当然这不一定是事实,但这样的思考方式能让我避免陷入自我怀疑的负面情绪。云原生之所以解释不清楚,是因为云原生没有确切的定义,云原生一直在发展变化之中,解释权不归转载 2022-04-07 09:40:21 · 218 阅读 · 0 评论 -
《深入剖析Kubernetes》总结十一:容器启动
Kubeletkubelet负责将调度成功的 Pod在宿主机上创建出来,并把它所定义的各个容器启动起来kubelet 本身也是按照“控制器”模式来工作的,其工作原理如下:kubelet 的工作核心是一个控制循环,即:SyncLoop,还负责维护着很多很多其他的子控制循环(图中的小圆圈),这些控制循环一般被称作某某 Manager,比如 Volume Manager、Image Manager、Node Status Manager 等等;驱动SyncLoop控制循环运行的事件包括四种:.转载 2022-04-06 16:49:14 · 533 阅读 · 0 评论 -
《深入剖析Kubernetes》总结九:容器网络
容器网络总览Linux 容器“网络栈”实际上是被隔离 在它自己的 Network Namespace 当中的,其包括了:网卡(Network Interface)、回环设备(Loopback Device)、路由表(Routing Table)和 iptables 规则;对于一个进程来说,这些要素构成了它发起和响应网络请求的基本环境容器可以声明直接使用宿主机的网络栈,但是会引入共享网络资源的问题,比如端口冲突,所以一般希望容器进程能使用自己 Network Namespace 里的网络栈,即拥有转载 2022-04-06 16:41:04 · 194 阅读 · 0 评论 -
《深入剖析Kubernetes》总结八:容器持久化存储
容器化一个应用中,对其“状态”的管理是比较麻烦的,而最常见的“状态”,则为存储状态。 所以剖析下 Kubernetes 项目处理容器持久化存 储的核心原理PV/PVC/StorageClassPV和PVC的关系PV 描述的是持久化存储数据卷;这个 API 对象主要定义的是一个持久化存储在宿主机上的目录,比如一个 NFS 的挂载目录;通常情况下,PV 对象是由运维人员事先创建在 Kubernetes 集群里待用的。PVC 描述的是 Pod 所希望使用的持久化存储的属性,比如,Volume转载 2022-04-06 16:13:03 · 614 阅读 · 0 评论 -
《深入剖析Kubernetes》总结七:Operator
权限控制Kubernetes 中所有的 API 对象,都保存在 Etcd 里;对这些 API 对象的操作,一定都是通过访问 kube-apiserver 实现的,其中一个非常重要的原因,就是需要 APIServer 来帮助你做授权工作;在 Kubernetes 项目中,负责完成授权(Authorization)工作的机制,就是 RBAC:基于角 色的访问控制(Role-Based Access Control)。RBAC:Role:角色,它其实是一组规则,定义了一组对 Kubernetes转载 2022-04-06 15:46:31 · 317 阅读 · 0 评论 -
《深入剖析Kubernetes》总结六:声明式API
声明式API与编程范式想要使用Kubernetes 的 API 对象,需要编写一个对应的 YAML 文件交给 Kubernetes,而声明式API,则为kubectl apply 命令,先 kubectl create,再 replace 的操作,称为命令式配置文件操作,并不是声明式APIkubectl replace 的执行过程,是使用新的 YAML 文件中的 API 对象,替换原有的 API 对象;kubectl apply执行了一个对原有 API 对象的 PATCH 操作,类似地,kube转载 2022-04-06 15:36:35 · 3098 阅读 · 0 评论 -
《深入剖析Kubernetes》总结五:控制器与编排
在线任务编排控制器(Controller):操作容器,比如Deployment,是k8s第一个重要的设计思想,叫作控制器模式kube-controller-manager:一系列控制器的集合$ ls -d kubernetes/pkg/controller/deployment/ job/ podautoscaler/cloud/ disruption/ namespace/replicaset/ serviceaccount/ volume/cronjob/ garbagecoll转载 2022-04-06 15:07:32 · 274 阅读 · 0 评论 -
《深入剖析Kubernetes》总结四:Pod解析
Pod相当于Linux操作系统的进程组Pod只是一个逻辑概念,是一组共享了某些资源的容器,它的所有容器共享的是同一个 Network Namespace,并且可以声明共享同一个 Volume;为了让Pod里的多个容器是对等关系而不是拓扑关系,Pod 的实现需要使用一个中间容器,叫作 Infra 容器,在这个 Pod 中,Infra 容器永远都是第一个被创建的容器,而其他用户定义的容器,则通过 Join Network Namespace 的方式,与 Infra 容器关联在一起(否则容器之间互相jo转载 2022-04-02 15:36:12 · 280 阅读 · 0 评论 -
《深入剖析Kubernetes》总结三:Kubernetes架构
Kubernetes架构一个正在运行的 Linux 容器可以被“一分为二”地看待:一组联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs,这一部分可以称为“容器镜像”(Container Image),是容器的静态视图; 一个由 Namespace+Cgroups 构成的隔离环境,这一部分可以称为“容器运行时”(Container Runtime),是容器的动态视图Kubernetes关心的是“容器镜像”架构由 Master 和 Node 两种节点组.转载 2022-04-02 15:14:05 · 240 阅读 · 0 评论 -
《深入剖析Kubernetes》总结二:学学容器基础
Linux容器实现手段:Linux Namespace 、Linux Cgroups ,基于 rootfs 的文件系统Mac容器,Windows容器实现手段:基于虚拟化技术Linux容器的实现手段容器其实是一种沙盒技术,能够像一个集装箱一样,把你的应用“装”起来,使应用与应用之间因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去;容器的本质:进程容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”,Cgroups技术是用来制造约束的主要转载 2022-04-02 14:57:22 · 202 阅读 · 0 评论 -
《深入剖析Kubernetes》总结一:Docker的历史
Docker的盛行一开始流行的是PaaS平台,能够帮助用户大规模部署应用到集群里;用户把应用的可执行文件和启动脚本打进一个压缩包内,上传到云上的存储中,接着,云会通过调度器选择一个可以运行这个应用的虚拟 机,然后通知这个机器上的 Agent 把应用压缩包下载下来启动。内部调用操作系统的 Cgroups 和 Namespace 机制为每一个应用单独创建一个称作“沙盒”的隔离环境,然后在“沙盒”中启动这些应用进程,这样,就实现了把多个用户的应用互不干涉地在 虚拟机里批量地、自动地运行起来的目的。P转载 2022-04-02 14:26:35 · 330 阅读 · 0 评论