zoukankan      html  css  js  c++  java
  • kubernetes进阶之二:概述

    一:kubernetes是什么

    Kubernetes一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,你可以快速有效地响应用户需求;快速而有预期地部署你的应用;

    极速地扩展你的应用;无缝对接新应用功能;节省资源,优化硬件资源的使用。为容器编排管理提供了完整的开源方案。

    官方网站:www.kubernetes.io
    中文官方网站:https://kubernetes.io/zh/docs/

    二:kubernetes集群的架构

    一个kubernetes集群都至少由一个Master节点和若干个Node节点组成。

    Master节点是集群控制节点,负责整个集群的管理和控制,基本上Kubernetes所有的控制命令都是发给它,它来负责具体的执行过程。

    由于Master节点的重要性,它通常会独占一个物理机或虚拟机。

    Master节点外的其它机器被称为Node节点,Node节点是集群中的工作负载节点,每个Node都会被Master分配一些工作负载(如Docker容器),当某

    个Node宕机时,其工作负载会被Master自动转移到其他节点上。

    三:kubernetes集群的核心组件

        

    Master节点组件提供整个集群的控制面板:

    kube-apiserver: 暴露API操作接口,是kubernetes里面所有资源增,删,改,查等操作的唯一入口;也是集群控制的入口。

    etcd: 集群的主数据库,集群里面的所有数据都存储于此。

    kube-controller-manager: kubernetes里所有资源对象的自动化控制中心, 控制器的大管家。

    kube-scheduler: 负责资源调度(Pod调度)的进程,为新创建的Pod分配Node节点去运行。相当于公交公司的“调度室”。

    Node节点组件维持Pods的运行:

    kubelet:负责Pod对应容器的创建,启动,停止等任务; 同时与Master节点密切协作,实现集群管理的基本功能。

    kube-proxy:实现Service的通信和负载均衡机制的重要组件。

    docker: docker引擎,负责本节点的容器创建和管理工作。

    Flannel:是Overlay网络的一种,也是将源数据包封装在另一种网络包里面进行路由转发和通信,目前已经支持UDPVXLANAWS VPCGCE路由等数据转发方式。

    多主机容器网络通信其他主流方案:隧道方案( WeaveOpenvSwitch ),路由方案(Calico)等。

     kubernetes集群中的对象或资源

          

    pod:kubernetes中能够被创建,调度和管理的最小部署单元。

    label:一组绑定到kubernetes对象上的键/值对,同一对象的labels属性的Key必须独一无二。

    label selector: kubernetes核心的分组机制,通过它客户端能够识别一组有共同特征或属性的kubernetes对象。

    serice: pod副本组成的集群实例。主要由一个IP和一个label selector组成。 实现pod集群的IP代理和负载均衡。

    voLume:类似于虚拟机的磁盘。Pod中能被多个容器访问的共享目录。

    namespaces:用于多租户的资源隔离。

    replicaSet:决定一个pod有多少同时允许的副本,并保证这些副本的期望状态与当前状态保持一致。

    Deployment: replica set的升级版

    DaemonSet: 让所有Node节点运行同一个pod

    Job: 类似于Quartz

    statefulSet: pod状态保留

     kubernetes特性

      1.自我修复

        在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;

        杀死健康检查失败的容器,并且健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。

      2.弹性伸缩

        使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。

      3.自动部署和回滚

        K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。

      4.服务发现和负载均衡

        K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。

      5.机密和配置管理

        管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。

      6.存储编排

        挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS、GlusterFS、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性。

      7.批处理

        提供一次性任务,定时任务;满足批量数据处理和分析的场景。

  • 相关阅读:
    使用基于Apache Spark的随机森林方法预测贷款风险
    信用评分怎么算出来的?偷偷给你一份客户信用等级简易评估模型.......
    高收益债券信用风险评估:预期损失率模型
    评分模型的检验方法和标准通常有:K-S指标、交换曲线、AR值、Gini数等。例如,K-S指标是用来衡量验证结果是否优于期望值,具体标准为:如果K-S大于40%,模型具有较好的预测功能,发展的模型具有成功的应用价值。K-S值越大,表示评分模型能够将“好客户”、“坏客户”区分开来的程度越大。
    信用评分卡模型入门(智能算法)
    BufferingForwardingAppender in log4net
    lockingModel in log4net 日志文件不能被其他进程写入
    rollingstyle in log4net
    sql server update时,是行锁还是表锁
    multi update caused deadlock problem
  • 原文地址:https://www.cnblogs.com/521football/p/10375603.html
Copyright © 2011-2022 走看看