1、简介

  • Kafka是一个分布式的基于发布/订阅模式消息队列Message Queue),主要应用于大数据实时处理领域。

  • 发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息

  • Kafka最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道流分析数据集成关键任务应用

  • 目前企业中比较常见的消息队列产品主要有Kafka、ActiveMQ、RabbitMQ、RocketMQ等。在大数据场景主要采用Kafka作为消息队列。在 JavaEE开发中主要采用ActiveMQ、RabbitMQ、RocketMQ。

    Read more »

1、Prometheus

1.1 简介

  • Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会, 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。
  • PrometheusHeapster(HeapsterK8S的一个子项目,用于获取集群的性能数据)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。
    Read more »

1、Helm简介

  • 在没使用Helm之前,向K8S部署应用,我们要依次部署deploymentsvc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,Helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了K8S应用的部署和管理。

  • Helm本质就是让K8S的应用管理(DeploymentService等 ) 可配置,能动态生成。通过动态生成K8S资源清单文件(deployment.yamlservice.yaml)。然后调用Kubectl自动执行K8S资源部署。

    Read more »

1、机制说明

  • Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护API Server来设计的。Kubernetes使用了认证(Authentication)鉴权(Authorization)准入控制(AdmissionControl)三步来保证API Server的安全。
    Read more »

1、调度说明

1.1 调度器简介

  • Scheduler是Kubernetes的调度器,主要的任务是把定义的pod分配到集群的节点上,需要考虑以下问题:
    • 公平:如何保证每个节点都能被分配资源。
    • 资源高效利用:集群所有资源最大化被使用。
    • 效率:调度的性能要好,能够尽快地对大批量的pod完成调度工作。
    • 灵活:允许用户根据自己的需求控制调度的逻辑。
  • Scheduler是作为单独的程序运行的,启动之后会一直连接apiserver获取PodSpec.NodeName为空的pod,对每个pod都会创建一个binding,表明该pod应该放到哪个节点上。
    Read more »

1、ConfigMap

  • ConfigMap功能在Kubernetes1.2版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API给我们提供了向容器中注入配置信息的机制,ConfigMap可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。
    Read more »

1、Service简介

1.1 概念

  • Kubernetes Service定义了这样一种抽象:Service是一种可以访问Pod逻辑分组的策略,Service通常是通过Label Selector访问Pod组。

Read more »

1、控制器分类

  • Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为。 控制器大致分为如下介绍六种:
    • ReplicationController和ReplicaSet
    • Deployment
    • DaemonSet
    • Job/CronJob
    • StateFulSet
    • Horizontal Pod Autoscaling
      Read more »

1、k8s中的资源

  • K8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。

名称空间级别

  • 工作负载型资源(workload):Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob(ReplicationController在v1.11版本被废弃)

  • 服务发现及负载均衡型资源(ServiceDiscovery LoadBalance):Service、Ingress、…

  • 配置与存储型资源:Volume(存储卷)、CSI(容器存储接口,可以扩展各种各样的第三方存储卷)

  • 特殊类型的存储卷:ConfigMap(当配置中心来使用的资源类型)、Secret(保存敏感数据)、DownwardAPI(把外部环境中的信息输出给容器)

    Read more »

1、准备三台主机

1.1 配置静态IP

  • ①运行以下命令修改网卡配置文件。

    1
    vim /etc/sysconfig/network-scripts/ifcfg-ens33

    修改内容为:

    Read more »