Loading

摘要: Docker 能做什么? 众所周知,Docker 是一个用于开发,发布和运行应用程序的开放平台。通俗地讲,Docker 类似于集装箱。在一艘大船上,各种货物要想被整齐摆放并且相互不受到影响,我们就需要把各种货物进行集装箱标准化。有了集装箱,我们就不需要专门运输水果或者化学用品的船了。我们可以把各种货 阅读全文
posted @ 2024-01-11 14:13 miao酱 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 在本课程的最后一讲,我来为你介绍一些 kubectl 使用过程中的小技巧。kubectl 是我们日常操纵整个 Kubernetes 的利器,操作方便,功能强大。接下来,我会向你介绍常用的七个功能。 自动补全 我们可以通过如下命令进行命令行的自动补全,方便我们使用。 如果你使用的是 bash,可以通过 阅读全文
posted @ 2024-01-11 13:49 miao酱 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 前面我们学习了 Deployment、Statefulset、Daemonset 这些工作负载,它们可以帮助我们在不同的场景下运行长伺型(Long Running)的服务。 但是有一类业务(一次性作业和定时任务)运行完就结束了,不需要长期运行,如果使用上述的那些工作负载就无法满足我们的要求。比如 P 阅读全文
posted @ 2024-01-11 13:49 miao酱 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 你好,我是正范。在上一讲,我们学习了如何通过一个 YAML 文件来定义一个 CRD,即扩展 API。这种扩展 API 跟 Kubernetes 内置的其他 API 同等地位,都可以通过 kubectl 或者 REST 接口访问,在使用过程中不会有任何差异。 但只是定义一个 CRD 并没有什么作用。虽 阅读全文
posted @ 2024-01-11 13:48 miao酱 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 随着使用的深入,你会发现 Kubernetes 中内置的对象定义,比如 Deployment、StatefulSet、Configmap,可能已经不能满足你的需求了。你很希望在 Kubernetes 定义一些自己的对象,一来可以通过 kube-apiserver 提供统一的访问入口,二来可以像其他内 阅读全文
posted @ 2024-01-11 13:47 miao酱 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 通过之前的学习,相信你对 Kubernetes 越来越熟悉了。理论上,Kubernetes 可以跑在任何环境中,比如公有云、私有云、物理机、虚拟机、树莓派,但是任何基础设施(Infrastructure)对网络的需求都是最基本的。网络同时也是 Kubernetes 中比较复杂的一部分。 我们今天就来 阅读全文
posted @ 2024-01-11 13:47 miao酱 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 当一个 Pod 在 Kube-APIServer 中被创建出来以后,会被调度器调度,然后确定一个合适的节点,最终被这个节点上的 Kubelet 拉起,以容器状态运行。 那么 Kubelet 是如何跟容器打交道的呢,它是如何进行创建容器、获取容器状态等操作的呢? 今天我们就来了解一下。 容器运行时 ( 阅读全文
posted @ 2024-01-11 13:46 miao酱 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 我们已经学会如何部署业务,发布 Pod。但是 Pod 创建好以后,Kubernetes 又如何调度这些 Pod 呢?如果我们希望把一个 Pod 跑在我们期望的节点上,该如何操作呢?如果我们希望把某些关联性强的 Pod 跑在特定的节点上,或者同一个节点上,又该怎么操作呢? 今天我们就来揭晓。 Kube 阅读全文
posted @ 2024-01-11 13:46 miao酱 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Kubernetes 隐藏了所有容器编排的复杂细节,让我们可以专注在应用本身,而无须过多关注如何去做部署和维护。此外,Kubernetes 还支持多副本,可以保证我们业务的高可用性。而对于集群本身而言,我们一样也要保证其高可用性,你可以参考官方文档:利用 Kubeadm 来创建高可用集群。 但是这些 阅读全文
posted @ 2024-01-11 13:45 miao酱 阅读(47) 评论(0) 推荐(0) 编辑
摘要: (https://rancher.com/blog/2019/2019-01-17-101-more-kubernetes-security-best-practices/) 你好,我是正范。 Kubernetes 作为一个分布式集群的管理工具,提供了非常强大的可扩展能力,可以帮助你管理容器,实现业 阅读全文
posted @ 2024-01-11 13:44 miao酱 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 随着我们在 Kubernetes 集群中部署越来越多的业务,势必要考虑集群的资源利用率问题。尤其是当集群资源比较紧张的时候,如果此时还要部署一些比较重要的关键业务,那么该如何去提前“抢占”集群资源,从而使得关键业务在集群中跑起来呢? 这里一个最常见的做法就是采用优先级方案。通过给 Pod 设置高优先 阅读全文
posted @ 2024-01-11 13:42 miao酱 阅读(66) 评论(0) 推荐(0) 编辑
摘要: Garbage Collector 即垃圾回收,通常简称 GC,和你之前在其他编程语言中了解到的 GC 基本上是一样的,用来清理一些不用的资源。Kubernetes 中有各种各样的资源,当然需要 GC啦,今天我们就一起来了解下 Kubernetes 中的 GC。 你可能最先想到的就是容器的清理,即 阅读全文
posted @ 2024-01-11 13:41 miao酱 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 前面的课时中,我们曾提到通过 HPA 控制业务的资源水位,通过 ClusterAutoscaler 自动扩充集群的资源。但如果集群资源本身就是受限的情况下,或者一时无法短时间内扩容,那么我们该如何控制集群的整体资源水位,保障集群资源不会被“打爆”? 今天我们就来看看 Kubernetes 中都有哪些 阅读全文
posted @ 2024-01-11 13:40 miao酱 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 你好,我是正范。 通过前面的课程学习,你已经学会了使用kubectl命令行,或者直接发送 REST 请求,以及使用各种语言的 client 库来跟 APIServer 进行交互。那么你是否知道在这其中Kubernetes 是如何对这些请求进行认证、授权的呢?这节课,我们就来一探究竟。 任何请求访问 阅读全文
posted @ 2024-01-11 13:40 miao酱 阅读(30) 评论(0) 推荐(0) 编辑
摘要: Prometheus 和 Grafana 可以说是 Kubernetes 监控解决方案中最知名的两个。Prometheus 负责收集、存储、查询数据,而 Grafana 负责将 Prometheus 中的数据进行可视化展示,当然 Grafana 还支持其他平台,比如 ElasticSearch、In 阅读全文
posted @ 2024-01-11 13:39 miao酱 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 通过前面的学习,相信你已经见识到了 Kubernetes 的强大能力,它能帮你轻松管理大规模的容器服务,尤其是面对复杂的环境时,比如节点异常、容器异常退出等,Kubernetes 内部的 Service、Deployment 会动态地进行调整,比如增加新的副本、关联新的 Pod 等。 当然 Kube 阅读全文
posted @ 2024-01-11 13:38 miao酱 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 通过之前的学习,我们已经对 Kubernetes 有了一定的理解,也知道如何在 Kubernetes 中部署自己的业务系统。 Kubernetes 强大的能力让我们非常方便地使用容器部署业务。Kubernetes 自带的副本保持能力,可以避免部署的业务系统出现单点故障,提高可用性。各种探针也可以帮助 阅读全文
posted @ 2024-01-11 13:38 miao酱 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 说到日志,你应该不陌生。日志中不仅记录了代码运行的实时轨迹,往往还包含着一些关键的数据、错误信息,等等。日志方便我们进行分析统计及监控告警,尤其是在后期问题排查的时候,我们通过日志可以很方便地定位问题、现场复现及问题修复。日志也是做可观测性(Observability)必不可少的一部分。 因此在使用 阅读全文
posted @ 2024-01-11 13:37 miao酱 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 通过前面课程的学习,我们对 Kubernetes 中一些常见工作负载已经有所了解。比如无状态工作负载 Dployment 可以帮助我们运行指定数目的服务副本,并维护其状态,而对于有状态服务来说,我们同样可以采用 StatefulSet 来做到这一点。 但是,在实际使用的时候,有些场景,比如监控各个节 阅读全文
posted @ 2024-01-11 13:36 miao酱 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 通过前面的课程,相信你对 Kubernetes 中的对象有了很多了解。Kubernetes 是一个强大的容器调度系统,你可以通过一些声明式的定义,很方便地在 Kubernetes 中部署业务。 现在你一定很想尝试在 Kubernetes 中部署一个稍微复杂的系统,比如下面这个典型的三层架构:前端、后 阅读全文
posted @ 2024-01-11 13:31 miao酱 阅读(35) 评论(0) 推荐(0) 编辑