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 »

1、Pod相关概念

  • 在kubernetes中不能直接运行容器。在Kubernetes群集中,只能运行pods。Pods在kubernetes中是部署的原子单位。一个Pod是一个或者多个共存的容器,它们共享着相同的内核命名空间,比如网络命名空间。

  • 当创建一个新的pod时,kubernetes首先创建所谓的pause container,该容器只负责创建和管理命名空间,而命名空间就是给pod中的所有容器共享使用的。 除此之外,它没有其它用处。 Pause容器通过veth0连接着bridge docker0。其它容器使用Docker engine的功能来让其它容器使用已经存在的网络命名空间。

    Read more »

1、架构介绍

  • kubernetes是Google开源的容器集群管理系统,是大规模容器应用编排系统,是在众多容器之上的又一抽象层。

  • 它支持自动化部署,大规模可伸缩,应用容器化管理。

  • 在kubernetes中部署应用是一件容易的事,因其有着弹性伸缩,横向扩展的优势并同时提供负载均衡能力以及良好的自愈性(自动部署,自动重启,自动复制,自动扩展等)。

  • 整体架构如下图:

    Read more »

1、集群选举机制

第一次启动

  • ①服务器1启动,发起一次选举。服务器1投自己一票。此时服务器1票数一票,不够半数以上(3票),选举无法完成,服务器1状态保持为LOOKING。

Read more »

1、概述

  • Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。

  • 工作机制:

    • Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应
Read more »

1、分库分表概述

什么是分库分表?

  • 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。

    Read more »

1、概述

  • 如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保存不是一个原子操作,在并发时就会导致数据的不正确。这种场景其实并不少见,比如电商秒杀活动,库存数量的更新就会遇到。如果是单机应用,直接使用本地锁就可以避免。如果是分布式应用,本地锁派不上用场,这时就需要引入分布式锁来解决。 由此可见分布式锁的目的其实很简单,就是为了保证多台服务器在执行某一段代码时保证只有一台服务器执行
    Read more »

概述

  • 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。

  • 日志对于安全来说也很重要,它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。

  • /var/log/目录就是系统日志文件的保存位置:

    Read more »