k8s快速入门-概念

2020-07-23  本文已影响0人  xlgao

k8s快速入门

k8s的四组基本概念

概念详解

  1. Pod

    • Pod 是k8s中能够运行的最小逻辑单元。
    • 1个pod中可能有多个容器,他们共享名称空间。
    • 1个pod里运行多个容器,又叫sidecar模式。
    • 可以将pod理解成豌豆夹,容器即为豌豆。
  2. Pod控制器

    • Pod控制器是Pod启动的一种模板,用来保证k8s中启动的pod始终按照人们的预期运行,包括副本数、生命周期、健康状态检查等等。
    • k8s提供了众多的Pod控制器:
      1. Deployment
      2. DeamonSet
      3. ReplicaSet
      4. StatefulSet
        5.Job
      5. Cronjob
  3. name 名称

    • k8s内部使用资源来定义每一种逻辑概念,每种资源都应该有自己的名称,资源有api版本apiersion,类别kind,元数据metadata,定义清单spec,状态status等配置信息。
    • 名称通常定义在资源的元数据中。
  4. namespase 名称空间

    • 随着项目增多、人员增多、集群规模扩大,需要一种能够隔离k8s内部各种资源的方法,这就是名称空间。
    • 名称空间可以理解为k8s内部的虚拟集群组。
    • 不同名称空间内的资源名称可以相同,但是相同名称空间中资源名称不能相同。
    • 合理的使用k8s的名称空间,使得集群管理员能够更好的交付到k8s的服务进行分类和浏览
    • k8s里默认的名称空间有:default、kube-system、kube-public
    • 查询k8s里的特定资源,要带上相应的名称空间。
  5. Label

    • 标签是k8s中的特色管理方式,便于分类管理资源对象。
    • 一个资源可以有多个标签,一个标签也可以对应多个资源,多对多的关系。
    • 标签的组成:ker=value
    • 与标签类似的还有一种注解(annotatinos)
  6. Lable选择器

    • 给资源打上标签后,可以使用标签选择器过滤指定的标签。
    • 标签选择器目前有两个:基于等值关系【等于、不等于】和基于集合关系【属于和不属于】
    • 许多资源支持内嵌标签选择器字段:
      1. matchLabels
      2. matchExpressions
  7. Service

    • 在k8s的世界中,虽然每个pod都会被分配一个单独的ip,但是这个ip会随着pod的销毁而消失
    • service就是用来解决这个问题的
    • 一个server可以看作一族提供相同服务的pod的对外访问接口
    • service作用于那些pod是通过标签选择器来定义的
  8. Ingress

    • ingress是k8s集群里工作在osi网络参考模型下,第七层的应用,对外暴露的接口。
    • service只能进行L4流量调度,表现形式是ip+port。
    • ingress则可以调度不同业务域,不同url访问路径的业务流量。
上一篇下一篇

猜你喜欢

热点阅读