美文网首页
kubernetes简介

kubernetes简介

作者: 会倒立的香飘飘 | 来源:发表于2021-04-25 16:39 被阅读0次

    kubernetes简介

    1,kubernetes是什么?

    kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署,自动扩容缩,维护等功能,
    特点:
    可移植:支持公有云,私有云,混合云,多重云(multi-cloud)
    可扩展:模块化,插件化,可挂载,可组合
    自动化:自动部署,自动重启,自动复制,自动伸缩扩展
    kubernetes是Google2014年创建管理的,是Google十多年大规模容器管理技术Borg的开源版本
    容器优势总结:
    1,快速创建/部署应用:与MV虚拟化相比,容器镜像的创建更加容易
    2,持续开发,集成和部署:提供可靠且频繁的容器镜像构建/和部署,并使用快速简单的回滚
    3,开发和运行相分离:在bulid或者release阶段创建容器镜像,使得是应用和基础设施解耦
    4,开发,测试和生产环境一致性:在本地或者外网(生产环境)运行的一致
    5,云平台或者其他操作系统:Ubuntu,RHEL,CoreOS,on-prem Google container Engine 或者其他任何环境中运行
    6,Loosely coupled,分布式,弹性,微服务化:应用程序分为更小的,独立的部件,可以动态部署和管理
    7,资源隔离
    8,资源利用率:更高效

    kubernetes组件

    Master组件

    1,kube-apiserver
    kube-apiserver用于暴露kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行的。
    2,ETCD
    etcd是kubernetes提供的默认的存储系统,是保存所有集群数据,使用时需要为etcd数据提供备份计划
    3,kube-controller-manager
    kube-controller-manager运行管理控制器,他们是集群中处理常规任务的后台线程,逻辑上,每个控制器是单独的线程,单位了降低复杂性,他们都被编译成了单个的二进制文件并在单个进程中运行
    这些控制器包括:
    节点控制器(node)
    副本节点控制器(Replication):负责维护统中每个副本中的pod
    端点控制器(Endpoints):填充Endpoints对象(连接service&&pods)
    Servive Account和token控制器:为新的Namespace创建默认账户访问API token
    4,kube-scheduler
    kubr-scheduler监视新创建没有分配到Node的pod,为pod选择一个Node
    5,插件addons
    插件(addon)是实现集群pod和service功能的,Pod有Deployment,ReplicationController等进行管理的Namespace插件对象是在kube-system Namespace中创建的。

    Node节点组件

    节点组件运行在Node,提供kubernetes运行环境时以及维护pod
    1,kubelet
    kubelet是主要的代理的节点,它会监视已分配给节点的pod,具体功能:
    1,安装pod所需要的volume
    2,下载pod的secrets
    3,pod中运行的docker容器
    4,定期执行容器健康检查
    5,通过在必要时创建镜像pod,将pod的状态报告给系统的其他部分
    6,向系统的其他部分报告节点的状态
    2,kube-proxy
    官方介绍:https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/
    kube-proxy是是通过在主机上维护网络规则并执行连接转发来实现kubernetes服务抽象
    Kubernetes网络代理在每个节点上运行。这反映了每个节点上Kubernetes API中定义的服务,并且可以在一组后端上执行简单的TCP,UDP和SCTP流转发或循环TCP,UDP和SCTP转发。当前可通过与Docker链接兼容的环境变量找到服务集群的IP和端口,这些环境变量指定了服务代理打开的端口。有一个可选的插件,可以为这些群集IP提供群集DNS。用户必须使用apiserver API创建服务才能配置代理。
    3,docker
    docker是用于运行容器

    了解kubernetes对象

    kubernetes对象是kubernetes系统中的持久实体,kubernetes使用这些实体来表示集群的状态。具体来说可以描述:
    1,容器化应用正在运行(以及在哪些节点上)
    2,这些应用的可用资源
    3,关于这些应用是如何运行的策略如重新策略,升级和错容

    对象(object)和规范状态

    每个kukbernetes对象都包含两个嵌套对象字段,用于管理object的配置:object spec和object status。spec描述了对象所需的状态,希望object具有的特征,status描述了对象的实际状态,并由kubernetes系统提供和更新

    相关文章

      网友评论

          本文标题:kubernetes简介

          本文链接:https://www.haomeiwen.com/subject/gclcwktx.html