zoukankan      html  css  js  c++  java
  • kubernetes理论-ms

    简述什么是Kubernetes?

    kubernetes是一个全新的基于容器技术的分布式系统支持平台,是Google开源的容器集群管理系统


    简述Kubernetes和Docker的关系?

    docker提供容器的生命周期管理和docker镜像构建运行是容器,它的主要优点是将软件/应用程序/运行所需的设置和依赖包打包到一个容器中,从而实现了可移植性等优点

    kubernetes用于关联和编排在多个主机上运行的容器


    简述Kubernetes如何实现集群管理?

       在集群管理方面,kubernetes将集群中的机器划分为一个Master节点和一群工作节点Node。其中,在Master节点运行着集群管理相关的一组进程kube-apiserver、kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理能力、并且都是全自动完成


    简述Kubernetes的优势、适应场景及其特点?

    kubernetes作为一个完备的分布式系统支撑平台,其主要优势:

    容器编排

    轻量级

    开源

    弹性伸缩

    负载均衡


    kubernetes常见场景:

    快速部署应用

    快速扩展应用

    无缝对接新的应用功能

    节省资源,优化硬件资源的使用


    kubernetes相关特点:

    可移植:支持公有云、私有云、混合云、多重云

    可扩展: 模块化、插件化、可挂载、可组合

    自动化:自动部署、自动重启、自动复制、自动伸缩扩展


    简述Kubernetes的缺点或当前的不足之处?

    安装过程和配置相对困难复杂

    管理服务相对繁琐

    运行和编译要很多时间

    它比其它替代品更昂贵

    对于简单的应用程序来说,可能不需要设计 kubernetes即可满足


    简述Kubernetes相关基础概念?

    master: K8s集群的管理节点,负责管理集群,提供集群的资源数据访问入口.拥有etcd存储服务,运行API  server进程,controller manager服务进程及scheduler服务经常

    node: 是kubernetes集群架构中运行pod的服务节点,是kubernetes集群操作的单元,用来承载被分配POD的运行,是pod运行的宿主机。运行 docker eninge服务,守护进程kunelet已经负载均衡器kube-proxy

    pod:运行与Node节点上,若干相关容器的结合

    label:kubernetes中的label实质是一系列的 key/value键值对,其中key与value可自定义。label可以附加到各种资源对象上。

    replication  controller:用来管理pod的副本,保证集群中存在指定的POD副本数,是实现弹性伸缩、动态扩容和滚动升级的核心

    Deployment:Deployment在内部使用了RS来实现目的,Deployment相当于RC的一次升级,其最大的特色为可以随时获知当前Pod的部署进度。

    HPA(Horizontal Pod Autoscaler):Pod的横向自动扩容,也是Kubernetes的一种资源,通过追踪分析RC控制的所有Pod目标的负载变化情况,来确定是否需要针对性的调整Pod副本数量。

    Service:Service定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。Service提供了一个统一的服务访问入口以及服务代理和发现机制,关联多个相同Label的Pod,用户不需要了解后台Pod是如何运行。

    Volume:Volume是Pod中能够被多个容器访问的共享目录,Kubernetes中的Volume是定义在Pod上,可以被一个或多个Pod中的容器挂载到某个目录下。

    Namespace:Namespace用于实现多租户的资源隔离,可将集群内部的资源对象分配到不同的Namespace中,形成逻辑上的不同项目、小组或用户组,便于不同的Namespace在共享使用整个集群的资源的同时还能被分别管理。


    Kubernetes集群组件(培训)

    master组件

    kube-apiserver

      kubernetes api,集群的统一入口,各组件协调者,以RESTful api 提供接口服务,所有对象资源的增删改查和监听操作都交给PAIserver处理后在提交给etcd存储

    kube-controller-manager

      处理集群中常规后台任务,一个资源对应一个控制器,而controllermanager就是负责管理这些控制器

    kube-scheduler

      根据调度算法为新创建的pod选择一个node节点,可以任意部署,可以部署在同一个节点上,也可以不是在不同的节点上

    etcd

    分布式键值存储系统。用于保存集群状态数据,比如pod、service等对象信息

      node组件

    kubelet

    kubelet是master在node节点上的agent,管理本机运行容器的生命周期,比如创建容器、pod挂载数据卷、下载secret、获取容器的节点状态等工作。kubelet将每个pod 转换成一组容器

    kube-proxy

    在node节点上实现pod网络代理,维护网络规划和四层负载均衡工作。

    docker或者rocker

    容器引擎,运行容器


    简述Kubernetes集群相关组件

    kubernetes Master控制组件,调度管理整个系统(集群),包含如下组件:

    Kubernetes API Server:作为Kubernetes系统的入口,其封装了核心对象的增删改查操作,以RESTful API接口方式提供给外部客户和内部组件调用,集群内各个功能模块之间数据交互和通信的中心枢纽。

    Kubernetes Scheduler:为新建立的Pod进行节点(node)选择(即分配机器),负责集群的资源调度。

    kubernetes scheduler:负责执行各种控制器,目前已经提供了很多控制器来保证kubernetes的正常运行

    replication controller: 管理和维和replication controller,关联replication controller和POD,保证replication controller定义的副本数和实际运行pod数量一致

    node controller:管理维护node,定期检查node的健康状态,标识出(失效|未失效)的node节点

    namespace controller:管理维护 namespace,定期清理无效的namespace,包括namespace下的api对象,比如pod、service等

  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/pengrj/p/15261824.html
Copyright © 2011-2022 走看看