摘要:
九、 k8s 架构分析 为了帮助大家更好地理解 Kubernetes 架构,我们部署一个应用来演示各个组件之间是如何协作的。 执行命令: kubectl run httpd-app --image=httpd --replicas=2 等待一段时间,应用部署完成。 root@k8s-master:~ 阅读全文
摘要:
八、Kubernetes 架构(下) 上一节我们讨论了 Kubernetes 架构 Master 上运行的服务,本节讨论 Node 节点。 (一)node Node 是 Pod 运行的地方,Kubernetes 支持 Docker、rkt 等容器 Runtime。 Node上运行的 Kube 阅读全文
摘要:
七、Kubernetes 架构(上) Kubernetes Cluster 由 Master 和 Node 组成,节点上运行着若干 Kubernetes 服务。 (一)Master 节点 Master 是 Kubernetes Cluster 的大脑,运行着如下 Daemon 服务:kube-a 阅读全文
摘要:
六、 部署 k8s Cluster(下) 上节我们[通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署。 (一)安装 Pod 网络 要让 Kubernetes Cluster 阅读全文
摘要:
五、部署 k8s Cluster(上) 我们将部署三个节点的 Kubernetes Cluster。 master 是 Master,node1 和 node2 是 Node。所有节点的操作系统均为 Ubuntu 18.04,当然其他 Linux 也是可以的。官方安装文档可以参考 https:/ 阅读全文
摘要:
四、k8s 重要概念 在实践之前,必须先学习 Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石。 (一)Cluster Cluster 是计算、存储和网络资源的集合,Kubernetes 利用这些资源运行各种基于容器的应用。 (二)Master Mast 阅读全文
摘要:
三、k8s 核心功能 本节带领大家快速体验 k8s 的核心功能:应用部署、访问、Scale Up/Down 以及滚动更新。 (一)部署应用 执行命令: $ kubectl run kubernetes-bootcamp \ > --image=docker.io/jocatalin/kube 阅读全文
摘要:
二、5 秒创建 k8s 集群 Kubernetes (K8s) 是 Google 在 2014 年发布的一个开源项目。据说 Google 的数据中心里运行着超过 20 亿个容器,而且 Google 十年前就开始使用容器技术。 最初,Google 开发了一个叫 Borg 的系统(现在命令为 O 阅读全文
摘要:
一、学习 k8s 的 Why 和 How 这是一个系统学习 Kubernetes 的教程,有下面两个特点: 系统讲解当前最流行的容器编排引擎 Kubernetes 包括了安装部署、应用管理、网络、存储、监控、日志管理等多各个方面。 重实践并兼顾理论 通过大量实验和操作带领大家学习 Kubernete 阅读全文
摘要:
(七)如何用 Graylog 管理日志? 上一节已经[部署好了 Graylog],现在学习如何用它来管理日志。 首先启动测试容器。 docker run -d \ --log-driver=gelf \ --log-opt gelf-address=udp://localhost:12201 \ - 阅读全文
摘要:
(六)部署 Graylog 日志系统 Graylog 是与 ELK 可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化 Dashboard。本节将实践用 Graylog 来管理 Docker 日志。 (1)Graylog 架构 Graylog 架构如下图所示: Graylog 负责接收 阅读全文
摘要:
(五)万能数据收集器 Fluentd 前面的 ELK 中我们是[用 Filebeat 收集 Docker 容器日志],利用的是 Docker 默认的 logging driver json-file,本节我们将使用 fluentd 来收集容器的日志。 Fluentd 是一个开源的数据收集器,它目前有 阅读全文
摘要:
(四)ELK 完整部署和使用 上一节我们已经[部署了容器化的 ELK],本节讨论如何将日志导入 ELK 并进行图形化展示。 几乎所有的软件和应用都有自己的日志文件,容器也不例外。前面我们已经知道 Docker 会将容器日志记录到 /var/lib/docker/containers/<contari 阅读全文
摘要:
(三)初探 ELK 在开源的日志管理方案中,最出名的莫过于 ELK 了。ELK 是三个软件的合称:Elasticsearch、Logstash、Kibana。 Elasticsearch 一个近乎实时查询的全文搜索引擎。Elasticsearch 的设计目标就是要能够处理和搜索巨量的日志数据。 Lo 阅读全文
摘要:
(二)Docker 如何支持多种日志方案? 将[容器日志发送到 STDOUT 和 STDERR]是 Docker 的默认日志行为。实际上,Docker 提供了多种日志机制帮助用户从运行的容器中提取日志信息。这些机制被称作 logging driver。 root@host1:~# docker 阅读全文
摘要:
十一、日志管理 (一)日志管理之 Docker logs 高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要。在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要。考虑到容器短暂和不固定的生命周期,当我们需要 debug 问题时有些容器可能已经不 阅读全文
摘要:
(九)一张表搞懂各种 Docker 监控方案 前面我们已经介绍了[ps/top/stats]、[Sysdig]、[Weave Scope]、[cAdvisor]和 [Prometheus]多种容器监控工具和方案,是时候做一个比较了。下面将从五个方面来对比它们之间的优劣。 (1)部署容易度 ps/ 阅读全文
摘要:
(八)如何快速部署 Prometheus? 上一节介绍了 Prometheus 的核心,多维数据模型。本节演示如何快速搭建 Prometheus 监控系统。 (1)环境说明 我们将通过 Prometheus 监控两台 Docker Host:10.0.0.21 和 10.0.0.22,监控 ho 阅读全文
摘要:
(六)Prometheus 架构 Prometheus 是一个非常优秀的监控工具。准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案。 (1)架构 Prometheus 架构如下: 官网上的原始架构图比上面这张要复杂一些,为了集中大家的注意 阅读全文
摘要:
(五)数据收集利器 cAdvisor cAdvisor 是 google 开发的容器监控工具,我们来看看 cAdvisor 有什么能耐。 在 host 中运行 cAdvisor 容器。 docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/v 阅读全文