摘要: 前言 应用程序的更新发布,如何降低对用户的影响面,人们研究出了几种发布策略。 更新历史 20200720 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/07/20/how-to-deployment.html 蓝绿部署 流程 准备 A/B 两个集群 阅读全文
posted @ 2020-09-18 22:24 左程立 阅读(1942) 评论(0) 推荐(0) 编辑
摘要: 前言 私有仓库用于企业内部私有 Docker 镜像的存储。 可以将私有仓库安装到 K8S 集群中。 Harbor 镜像仓库是由 VMware 开源的一款企业级镜像仓库系统。 更新历史 20200719 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/ 阅读全文
posted @ 2020-09-18 22:23 左程立 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 前言 类似于 Linux 的 YUM、APT,Helm 是 K8S 的包管理工具。 Helm, 一个二进制工具,用来安装、升级、卸载 K8S 中的应用程序。 Helm Chart,一个 tgz 包,类似安卓的 APK。 K8S 应用打包成 Chart,通过 Helm 安装到 K8S 集群中。 更新历 阅读全文
posted @ 2020-09-18 22:22 左程立 阅读(2186) 评论(0) 推荐(0) 编辑
摘要: 前言 为了防止容器调度到资源不足的节点上,可以为容器指定资源最少要求量。 为了防止容器无节制的使用 CPU、内存 等资源,可以为容器指定资源最大允许使用量。 更新历史 20200714 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/07/14/co 阅读全文
posted @ 2020-09-18 22:21 左程立 阅读(2819) 评论(0) 推荐(0) 编辑
摘要: 前言 StorageClass 相当于一个创建 PV 的模板,用户通过 PVC 申请存储卷,StorageClass 通过模板自动创建 PV,然后和 PVC 进行绑定。 更新历史 20200712 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/07 阅读全文
posted @ 2020-09-18 22:20 左程立 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 前言 PV 用来定义持久化存储卷,可将外部存储如 NFS/GFS/CFS 等定义为一个 K8S 内部对象,是一个服务提供者。 PVC 会寻找合适的 PV 进行绑定,绑定成功后,PVC 就可以提供给 pod 使用。 更新历史 20200710 - 初稿 - 左程立 原文地址 - https://blo 阅读全文
posted @ 2020-09-18 22:19 左程立 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 前言 容器中的文件在磁盘上是临时存放,容器崩溃重启后,容器将被以干净状态重建,崩溃之前创建的文件将被清除。 K8S 使用卷的概念来管理容器生成的需持久化的文件,卷也可用于同一个 Pod 中多个容器之间共享文件。 更新历史 20200708 - 初稿 - 左程立 原文地址 - https://blog 阅读全文
posted @ 2020-09-18 22:16 左程立 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 前言 ConfigMap 对象可以用来管理普通的、非机密的配置信息,以明文形式存放。 Secret 对象用来管理重要的、机密的、不能泄露的类似秘钥、密码等信息。 ConfigMap 对象可以实现程序的配置和程序本身的解耦,从而使程序更具移植性。 更新历史 20200705 - 初稿 - 左程立 原文 阅读全文
posted @ 2020-09-18 22:14 左程立 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 前言 Secret 可以用来保存密码、密钥等敏感信息,避免密钥直接放在 Pod 的YAML定义文件或容器镜像中导致的泄露问题。 密钥使用 Base64 编码形式存储于 Secret 对象中,Pod 挂载后自动解码为明文。 更新历史 20200702 - 初稿 - 左程立 原文地址 - https:/ 阅读全文
posted @ 2020-09-18 22:13 左程立 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 前言 前面 nginx 都是 http 协议在工作,那么加证书应该如何操作。 更新历史 20200701 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/07/01/nginx-https.html 创建证书 可以网上申请一年免费证书,也可以自建证书 阅读全文
posted @ 2020-09-18 22:10 左程立 阅读(1328) 评论(0) 推荐(1) 编辑
摘要: 前言 ingress 可以理解为 Service 的 Service,即在现有 Service 的前面再搭建一层 Service,作为外部流量的统一入口,进行请求路由的转发。 说白了就是在前端搭建一个 nginx或者haproxy,将不同 host 或 url 转发到对应的后端 Service,再由 阅读全文
posted @ 2020-09-18 22:08 左程立 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: 前言 Pod 已经成功运行起来了,但是有两个问题。 一是这些 Pod 无法从集群外部直接访问到,二是 Pod 出现故障自愈后,IP 会发生变化。 如何解决这两个问题,这里有一个非常重要的概念:Service 更新历史 20200625 - 初稿 - 左程立 原文地址 - https://blog.z 阅读全文
posted @ 2020-09-18 22:06 左程立 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 前言 Deployment 管理的 Pod 允许在一个节点上运行多个副本。 当需要在节点上运行收集日志或者执行监控任务的容器时,显然不适合启动多个 Pod 副本。 这种场景下,我们可以启用 DaemonSet 控制器来管理 Pod。 更新历史 20200620 - 初稿 - 左程立 原文地址 - h 阅读全文
posted @ 2020-09-18 22:05 左程立 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 前言 容器分为两类 在线业务 - 服务类容器 需要持续不中断的提供服务,容器需要一直运行 离线业务 - 工作类容器 一般执行一次性任务,比如统计日志数据等,运行完成后容器即可关闭 更新历史 20200618 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/20 阅读全文
posted @ 2020-09-18 22:04 左程立 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 前言 本节使用 StatefulSet 控制器部署一个 MySQL 集群,然后进行宕机测试,观察集群是否可以正常恢复使用并且不丢失数据。 实现的集群有如下特征: 是一个主从复制的 MySQL 集群 1 个主节点, 多个从节点 从节点能够水平扩展 所有的写操作,只能在主节点上执行 读操作可以在所有节点 阅读全文
posted @ 2020-09-18 22:03 左程立 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 前言 本节中 K8S 使用 NFS 远程存储,为托管的 pod 提供了动态存储服务,pod 创建者无需关心数据以何种方式存在哪里,只需要提出需要多大空间的申请即可。 总体流程是: 创建 NFS 服务器。 创建 Service Account。用来管控 NFS provisioner 在k8s集群中运 阅读全文
posted @ 2020-09-18 22:01 左程立 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 前言 Deployment 中可以随意的关闭和启动一个 Pod,Pod 之间的关系是平等的。 当 Pod 之间有主从关系,以及每个 Pod 对应特定的存储卷中的内容时,无法使用 Deployment 控制器来随意的操作 Pod。 我们需要使用一个叫做 StatefulSet 的控制器来处理这种有状态 阅读全文
posted @ 2020-09-18 21:30 左程立 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 前言 上一节说到直接创建的 Pod 没有自愈功能。 使用控制器创建的 Pod 才能故障自愈,那么什么是控制器呢。 可以这么理解,容器是光秃秃的箱子,Pod 把箱子进行了包装以方便 K8S 挂载。 那么 K8S 一次挂载几个 Pod,如何挂载,这些信息都由控制器来指定和管理。 控制器包含很多种,本节实 阅读全文
posted @ 2020-09-18 21:26 左程立 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 前言 上一节发布了一个容器到 K8S 中,但其实实际操作的是 Pod ,那么为什么是 Pod,而不是容器。 更新历史 20200531 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/05/22/about-pod.html Pod 的本质 Pod 阅读全文
posted @ 2020-09-18 21:00 左程立 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 前言 今天在 K8S 集群中跑一个容器化应用。 更新历史 20200518 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/05/18/first-app-on-k8s.html 如何发布容器到 K8S 中 容器来源 使用 nginx 的官方容器镜像 阅读全文
posted @ 2020-09-18 20:45 左程立 阅读(460) 评论(0) 推荐(0) 编辑