摘要: 通过该控制器的名称我们可以看出它的用法:Daemon,就是用来部署守护进程的,DaemonSet用于在每个 Kubernetes 节点中将守护进程的副本作为后台进程运行,说白了就是在每个节点部署一个 Pod副本,当节点加入到 Kubernetes 集群中,Pod 会被调度到该节点上运行,当节点从集群 阅读全文
posted @ 2022-12-27 11:57 非法小恋 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 前面我们学习了 Deployment 和 ReplicaSet 两种资源对象得使用,在实际使用的过程中,Deployment 并不能编排所有类型的应用,对无状态服务编排是非常容易的,但是对于有状态服务就无能为力了。我们需要先明白一个概念:什么是有状态服务,什么是无状态服务。 无状态服务(Statel 阅读全文
posted @ 2022-12-27 11:55 非法小恋 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 前面我们学习了 ReplicaSet 控制器,了解到该控制器是用来维护集群中运行的 Pod 数量的,但是往往在实际操作的时候,我们反而不会去直接使用 RS,而是会使用更上层的控制器,比如我们今天要学习的主角 Deployment,Deployment 一个非常重要的功能就是实现了 Pod 的滚动更新 阅读全文
posted @ 2022-12-27 11:49 非法小恋 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 前面我们一起学习了 Pod 的原理和一些基本使用,但是在实际使用的时候并不会直接使用 Pod,而是会使用各种控制器来满足我们的需求,Kubernetes 中运行了一系列控制器来确保集群的当前状态与期望状态保持一致,它们就是 Kubernetes 的大脑。例如,ReplicaSet 控制器负责维护集群 阅读全文
posted @ 2022-12-27 11:43 非法小恋 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 一、Pod Hook 我们知道 Pod 是 Kubernetes 集群中的最小单元,而 Pod 是由容器组成的,所以在讨论 Pod 的生命周期的时候我们可以先来讨论下容器的生命周期。实际上 Kubernetes 为我们的容器提供了生命周期的钩子,就是我们说的Pod Hook,Pod Hook 是由 阅读全文
posted @ 2022-12-27 11:38 非法小恋 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 前面我们已经了解了 Pod 的设计原理,接下来我们来了解下 Pod 的生命周期。下图展示了一个 Pod 的完整生命周期过程,其中包含 Init Container、Pod Hook、健康检查 三个主要部分,接下来我们就来分别介绍影响 Pod 生命周期的部分: 首先在介绍 Pod 的生命周期之前,我们 阅读全文
posted @ 2022-12-27 11:31 非法小恋 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 一、Pod Kubernetes 最基本的调度单元 前面我们了解了 Kubernetes 的基本架构,以及如何使用资源清单在集群中部署一个应用。我们也了解到了 Pod 是 Kubernetes 集群中最基本的调度单元,我们平时在集群中部署的应用都是以 Pod 为单位的,而并不是我们熟知的容器,这样设 阅读全文
posted @ 2022-12-27 11:27 非法小恋 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 上面我们在 Kubernetes 中部署了我们的第一个容器化应用,我们了解到要部署应用最重要的就是编写应用的资源清单文件。那么如何编写资源清单文件呢?日常使用的时候我们都是使用 YAML 文件来编写,但是现状却是大部分同学对 JSON 更加熟悉,对 YAML 文件的格式不是很熟悉,所以也导致很多同学 阅读全文
posted @ 2022-12-27 11:21 非法小恋 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 一、YAML 文件基本语法格式 前面我们得 Kubernetes 集群已经搭建成功了,现在我们就可以在集群里面来跑我们的应用了。要在集群里面运行我们自己的应用,首先我们需要知道几个概念。 第一个当然就是应用的镜像,因为我们在集群中运行的是容器,所以首先需要将我们的应用打包成镜像,前面的课程中我们已经 阅读全文
posted @ 2022-12-27 11:15 非法小恋 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 为了根据最新的集群特性,我们这里安装目前最新的版本 v1.19.3,如果你是在生产环境使用,建议使用上一个版本中最大的修正版本,比如 v1.15.5,由于 v1.16 版本之后和之前的版本有很大变化,主要体现在 APIVersion 移除了之前的一些版本,所以我们这里采用最新的 v1.19.3 的版 阅读全文
posted @ 2022-12-27 11:01 非法小恋 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 上面我们都是在架构层面了解 Kubernetes,但是似乎没有发现关于容器的说明,Kubernetes 作为容器编排引擎,那么他是怎么去对容器进行编排的呢?在 Kubernetes 集群中抽象了很多集群内部的资源对象,我们可以通过这些资源对象去操作容器的编排工作。 一、Pod Pod 是一组紧密关联 阅读全文
posted @ 2022-12-27 10:58 非法小恋 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 一、kube-apiserver API Server 提供了资源对象的唯一操作入口,其它所有组件都必须通过它提供的 API 来操作资源数据。只有 API Server 会与 etcd 进行通信,其它模块都必须通过 API Server 访问集群状态。API Server 作为 Kubernetes 阅读全文
posted @ 2022-12-27 10:50 非法小恋 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法,而且容器是共享一个内核的;由于容器技术的兴起 阅读全文
posted @ 2022-12-27 10:44 非法小恋 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 上面我们讲到了 Dockerfile 的基本写法以及构建镜像的时候一些注意事项,那么镜像构建完成后,如何把我们的镜像给到别人使用呢?第一种方法就是利用 Docker 官方提供的公共的 Docker Hub 仓库,我们可以将镜像推送上去,然后别人就可以直接拉取镜像。 一、推送到官方镜像仓库 1.1 注 阅读全文
posted @ 2022-12-27 10:39 非法小恋 阅读(82) 评论(0) 推荐(1) 编辑
摘要: 一、构建镜像 现在让我们再回到之前定制的 nginx 镜像的 Dockerfile 来。现在我们明白了这个 Dockerfile 的内容,那么让我们来构建这个镜像吧。在 Dockerfile 文件所在目录执行: $ docker build -t nginx:v1 . Sending build c 阅读全文
posted @ 2022-12-27 10:35 非法小恋 阅读(27) 评论(0) 推荐(1) 编辑
摘要: 一、Dockerfile 镜像的定制实际上就是定制镜像的每一层所添加的配置、文件等信息,实际上当我们在一个容器中添加或者修改了一些文件后,我们可以通过docker commit命令来生成一个新的镜像,但是这个方法不够直观,没办法追溯我们镜像里面到底有哪些内容,所以实际定制镜像的过程我们很少采用这种方 阅读全文
posted @ 2022-12-27 10:31 非法小恋 阅读(158) 评论(0) 推荐(1) 编辑
摘要: 接下来介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式: 数据卷(Data Volumes) 挂载主机目录 (Bind mounts) 一、数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 阅读全文
posted @ 2022-12-27 10:20 非法小恋 阅读(53) 评论(0) 推荐(1) 编辑
摘要: 一、端口暴露 Docker 容器更多情况下是用来运行 Web 应用的,所以要如何访问到容器中的 Web 服务呢?比如我们现在运行一个 nginx 容器服务: $ docker run --name webserver -d nginx Unable to find image 'nginx:late 阅读全文
posted @ 2022-12-27 10:16 非法小恋 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Docker 的基本原理我们已经了解了,也已经安装上了,接下来我们就一起来学习下 Docker 的常用操作,实际上主要就是 Docker CLI 的一些常用命令使用。 一、镜像操作 之前我们提到过 Docker 官方提供了一个公共的镜像仓库:Docker Hub,我们就可以从这上面获取镜像,获取镜像 阅读全文
posted @ 2022-12-27 10:09 非法小恋 阅读(142) 评论(0) 推荐(1) 编辑
摘要: 现版本安装Docker已经非常简单了,有很多种方式,而自17年开始,Docker分为Docker-CE(社区版)、Docker-EE(企业版),另外Docker-IO是较早的版本,通常用的都是Docker-CE版; 目前CentOS内核对Docker支持情况: CentOS7必须是64位、系统内核版 阅读全文
posted @ 2022-12-27 09:41 非法小恋 阅读(291) 评论(0) 推荐(1) 编辑