Kubernetes(一)

1.1 Kubernetes是啥

Kubernetes是一种全新的基于容器技术的分布式架构方案

  • 已成为新一代基于容器技术的PaaS平台的重要底层架构
  • 一个开放的开发平台:

                       - 不局限于任何编程语言
                       - 没有限定任何编程接口
                       - 通过TCP协议进行交互

  • 完备的分布式系统支撑平台,拥有完备的集群管理能力:

                       - 多层次的安全防护和准入机制
                       - 多租户应用支撑能力
                       - 透明的服务注册和服务发现机制
                       - 内建智能负载均衡器
                       - 强大的故障发现和自我修复能力
                       - 服务滚动更新和在线扩容能力


1.2 资源对象(Resource Object)                       

1.2.1 分类

(1) 基础资源对象

  • 节点-Node
  • 容器组-Pod
  • 服务-Service
  • 存储卷-Volume

(2) 相关事务与控制器

  • 标签-Label
  • 注解-Annotation
  • 命名空间-Namespace
  • 水平扩容-HorizontalPodAutoscaler
  • 配置-(ConfigMap、Secret)
  • 持久化存储-(PersistentVolume、PersistentVolumeClaim、StorageClass)
  • 工作负载控制器-(Deployment、StatefulSet、DeamonSet、Job、CronJob)


(3) 资源管控和权限相关的对象

  • 资源限制-LimitRange
  • 资源配额-ResourceQuota
  • 角色-Role
  • 角色绑定-RoleBinding


(4) 网络相关的资源对象

  • Ingress
  • 网络策略-NetworkPolicy

(5) 自定义资源对象
        用户可通过自定义资源CRD来自定义资源对象的类型,并编写对应的CRD控制器来实现特定的控制逻辑,CRD也是Kubernetes中Operator自动化机制的重要支撑。

1.2.2 属性

资源对象包括几个公共属性

  • 版本:包括了此对象所属的资源组
  • 类别:定义资源对象的类型
  • 名称:(Metadata) 唯一
  • 标签:(Metadata) 表明对象的特征、类别;可通过标签进行筛选
  • 注解:(Metadata) 特殊标签 通常用于实现资源对象属性的自定义扩展

 通常采用YAML或者JSON格式声明一个Kubernetes资源对象,每个资源对象都有自己特定的结构定义,并统一保存在etcd这种非关系型数据库中,实现最快的读写速度。可通过kubectl执行增删改查等操作。


1.3 K8s集群(Cluster)

由Master和Node组成

1.3.1 Master

负责管理和控制整个集群,是整个集群的“大脑”

Master运行关键进程:

  • Kubernetes API Server(kube-apiserver):
            1. 提供HTTP RESTful API 接口的主要服务
            2. 唯一入口--对资源进行增删查改
            3. 集群控制入口
  • Kubernetes Controller Manager(kube-controller-manager):
            自动化控制中心-资源控制的“大总管”
  • Kubernetes Scheduler(kube-scheduler):
            负责资源调度(Pod调度)的进程,“公交调度室”

  • etcd服务

ps:K8s集群可以无Master,如:当采用kubeadm安装Kubernetes集群时,所有节点都是Node

1.3.2 Node

可以是物理主机,也可以是虚拟机

Node是Kubernetes集群中的工作负载节点,当某个Node宕机时,其上的工作负载会被Master自动转移到其它Node上。

Master运行关键进程:

  • kubelet: 负责Pod对应容器的创建、启停等任务,同时与Master密切协作,实现集群管理的基本功能。
  • kube-proxy: 实现kubernetes Service 通信与负载均衡机制的服务。
  • 本机容器的创建与管理

        Node在运行期间可以动态增加到Kubernetes集群中,默认情况,kubelet会向Master注册自己,一旦Node被纳入集群管理范畴,kubelet进程就会定时向Master汇报自身的情报。当某个Node在超过指定时间不上报信息时,会被Master判定为“失联”,标记为“NotReady”,Master会触发“工作负载大转移”的自动流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值