随笔分类 - Kubernetes
摘要:概述 在学习docker时知道docker有四种常用的网络模型 bridge:桥接式网络 joined:联盟式网络,共享使用另外一个容器的网络名称空间 opened:容器直接共享使用宿主机的网络名称空间 none:不使用任何网络名称空间 无论是哪一种网络方式都会导致如果我们跨节点之间的容器之间进行通
阅读全文
摘要:概述 在应用程序中我们有两类,一种是有状态一种是无状态。此前一直演示的是deployment管理的应用,比如nginx或者我们自己定义的myapp它们都属于无状态应用。 而对于有状态应用,比如redis,mysql,还有etcd,还有zookeeper等等需要存数据的都属于有状态。它们不光有所谓的节
阅读全文
该文被密码保护。
摘要:前言 默认情况下容器的数据都是非持久化的, 在容器消亡以后数据也跟着丢失, 所以 Docker 提供了 Volume 机制以便将数据持久化存储。 类似的, Kubernetes 提供了更强大的 Volume 机制和丰富的插件, 解决了容器数据持久化和容器间共享数据的问题。 与 Docker 不同,
阅读全文
摘要:常用字段 spec.containers <[]object> spec.containers.name <string> 容器的名称,必须字段,名称唯一且对象创建后不可以被修改 spec.containers.image <string> 镜像仓库的路径/镜像的名称:镜像的标签 spec.cont
阅读全文
摘要:k8s中的资源 什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet Deployment StatefulSet DaemonSet Job CronJob (ReplicationCo
阅读全文
摘要:使用kubectl进行增、删、查、改等常用操作 查看kubectl命令帮助 kubectl -h 可以看到,命令帮助很人性化的帮我们对各个命令做了划分,让我们可以更好的学习和使用,下面我们开始使用kubectl命令在命令行下测试相关命令的用法 创建一个应用程序 1 创建一个应用程序,我们使用 "ku
阅读全文
摘要:一、虚拟化技术 1.什么是虚拟化技术 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 虚拟化使用软件的方法重新定义划分IT资源,可
阅读全文
摘要:有一类作业显然不满足这样的条件,这就是“离线业务”,或者叫作 Batch Job(计算业务)。 这 种业务在计算完成后就直接退出了,而此时如果你依然用 Deployment 来管理这种业务的话,就会 发现 Pod 会在计算结束后退出,然后被 Deployment Controller 不断地重启;而
阅读全文
摘要:Deployment 实际上并不足以覆盖所有的应用编排问题。 造成这个问题的根本原因,在于 Deployment 对应用做了一个简单化假设。 它认为,一个应用的所有 Pod,是完全一样的。所以,它们互相之间没有顺序,也无所谓运行在哪 台宿主机上。需要的时候,Deployment 就可以通过 Pod
阅读全文
摘要:Deployment 看似简单,但实际上,它实现了 Kubernetes 项目中一个非常重要的功能:Pod 的“水平扩展 / 收缩”(horizontal scaling out/in)。 这个功能,是从 PaaS 时代开始,一个平台 级项目就必须具备的编排能力。 举个例子,如果你更新了 Deplo
阅读全文
摘要:Pod 这个看似复杂的 API 对象,实际上就是对容器的进一步抽象和封装而已。 说得更形象些,“容器”镜像虽然好用,但是容器这样一个“沙盒”的概念,对于描述应用来说, 还是太过简单了。 这就好比,集装箱固然好用,但是如果它四面都光秃秃的,吊车还怎么把这个集 装箱吊起来并摆放好呢? 所以,Pod 对象
阅读全文
摘要:作为 Kubernetes 项目里最核心的编排对象,Pod 携带的信息非常丰富。其中,资源定义(比如 CPU、内存等),以及调度相关的字段、在本篇,我们就先从一种特殊的 Volume 开始,来帮助你更加深入地理解 Pod 对象各个重要字段的含义。 这种特殊的 Volume,叫作 Projected
阅读全文
摘要:在上一篇文章中,我详细介绍了 Pod 这个 Kubernetes 项目中最重要的概念。 现在,你已经非常清楚:Pod,而不是容器,才是 Kubernetes 项目中的最小编排单位。将这个设计落实到 API 对象上,容器(Container)就成了 Pod 属性里的一个普通的字段。那么,一个很自然的问
阅读全文
摘要:要真正发挥容器技术的实力,你就不能仅仅局限于对 Linux 容器本身的钻研和使用。 这些知识更适合作为你的技术储备,以便在需要的时候可以帮你更快的定位问题,并解决问题。 而更深入的学习容器技术的关键在于,如何使用这些技术来“容器化”你的应用。 比如,我们的应用既可能是 Java Web 和 MySQ
阅读全文