美文网首页
Kubernetes概念

Kubernetes概念

作者: ssttIsme | 来源:发表于2021-12-30 21:02 被阅读0次

    Master:集群控制节点,每个集群至少需要一个Master节点负责集群的管控
    Node:工作负载节点,由Master分配容器到这些node工作节点上,然后Node节点上的Docker负责容器的运行
    Pod:Kubernetes的最小控制单元(原子单元),容器都是运行在Pod中的,一个Pod中可以有一个或多个容器Container,容器之间共享UTS+NET+IPC名称空间。一个Pod里面运行多个容器,又叫:边车(SideCar)模式

    Pod控制器:Pod控制器是Pod启动的一种模板,用来保证在Kubernetes里面启动的Pod应用按照人们的预期运行,通过它来实现对Pod的管理

    • Kubernetes内提供了众多控制器,常用的有:Deployment,DaemonSet,ReplicaSet,StatefulSet,Job,Cronjob

    Service:Pod对外服务的统一入口,下面可以维护同一类的多个Pod

    • 虽然每个Pod都会分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失
    • Service服务就是用来解决这个问题的核心概念
    • 一个Service可以看作一组提供相同服务的Pod的对外访问接口
    • Service作用于哪些Pod是通过标签选择器来定义的

    Label:标签,用于对Pod进行分类,同一类Pod会拥有相同的标签。标签的组成:key=value(标签的值要求更严格63个字节以下下,字母或数字开头,中间只能是-或_或.),与标签类似的还有一种“注解”annotation(长度不限)
    Selectors:标签选择器。给资源打上标签后,可以使用标签选择器过滤指定的标签。标签选择器目前有两种:基于等值[数值]关系(等于、不等于)和基于集合[逻辑]关系(属于in、不属于not in、存在exist)

    • 许多资源支持内嵌标签选择器字段matchLabels、mathExpressions

    Name:Kubernetes内部使用“资源”来定义每一种逻辑概念(功能),故每种“资源”,都应该有自己的“名称”
    NameSpace:命名空间,用来隔离Pod的运行环境。Kubernetes里默认存在的名称空间有:default、kube-system、kube-public

    Ingress:Ingress是Kubernetes集群里工作在OSI网络参考模型下,第七层的应用,对外暴露的接口

    • Service只能进行L4流量调度,表现形式是ip+port
    • Ingress则可以调度不同业务领域、不同URL访问路径的业务流量
    • 根据URL或者域名去调度不同的应用(比如提供对http或者https的资源)就应该用Ingress去暴露

    相关文章

      网友评论

          本文标题:Kubernetes概念

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