Kubernetes 四组基本概念

目录:

  1. Pod/Pod控制器
  2. Name 和 Namespace
  3. Label 和 Label选择器
  4. Service 和 Ingress


1. Pod/Pod控制器

容器之所以会被称作容器,要实现六种资源隔离:

  1. PID:进程、线程
  2. Mount:相当于文件系统
  3. User:用户管理相关
  4. UTS:容器自身的hostname
  5. NET: 网络相关
  6. IPC:容器自身的共享内存,信号量,进程间通信

Pod

  • Pod是K8S中能够被运行的最小逻辑单元(原子单元)。
  • 1个Pod中可以运行多个容器,它们共享UTS+IPC+NET名称空间。
    • 可以将Pod理解理解为豌豆荚,将Pod内的容器理解为豌豆荚里的豌豆

  • 一个Pod中运行多个容器,可以被称作边车(SideCar)模式,可以形象的理解为跨斗摩托车。

Pod控制器

  • Pod控制器是Pod启动的一种模版,用来保证K8S中启动的Pod应始终按照我们的预期运行(副本数,生命周期,健康状态检查。。。)
  • K8S中提供了许多Pod控制器,常见的有如下几种:
    • Deployment
    • DaemonSet
    • ReplicaSet
    • StatefulSet
    • Job
    • Cronjob

2. Name 和 Namespace

Name

  • 由于K8S内部,使用资源来定义每一种逻辑概念(功能),所以每种资源都有自己的名称
  • 每种资源都有五种维度来定义:
    1. api版本(apiVersion)
    2. 类别(kind)
    3. 元数据(metadata)
    4. 定义清单(spec)
    5. 状态(status)
  • 其中名称定义在资源元数据里。

Namespace

  • 随着项目的增多,人员的增加,集群规模的扩大,需要一种能隔离K8S内各种资源的方法,这就是名称空间。
  • 名称空间可以理解为K8S内部的虚拟集群组。
  • 不同名称空间内的资源,名称可以相同(类似于不同班级的同一个同学) 。相同名称空间内的同种资源,名称不能像相同。(在一个班级中不能有相同名称的两个同学)
  • 合理的使用名称空间,可以更好的管理交付到K8S中的服务,进行分类管理和浏览。
  • K8S中默认存在的名称空间有:
    • default
    • kube-system
    • kube-public
  • 查询K8S里特定的资源,需要带上相应的名称空间名。

回到目录


3. Label 和 Label选择器

Label

  • 标签是K8S里的特色管理方式,便于分类管理资源对象。
  • 一个标签对应多个资源,一个资源也可以对应多个标签,它们之间是多对多的关系。
  • 一个资源有多个标签,可以实现不同维度的管理。
  • 标签的格式: key=value
  • 与标签类似,还有一种注解(annotations)。 与标签的区别是:标签value要求更严格,63字母以下。。。

Label 选择器

  • 给资源打上标签,可以用标签选择器来过滤资源。
  • 标签选择器有两个:
    • 基于等值关系(等于、不等于)
    • 基于集合关系(属于、不属于和存在)
  • 许多资源支持内嵌标签选择器字段:
    • matchLabels
    • matchExpressions

4. Service 和 Ingress

Service

  • 在K8S中,每个Pod会被分配一个单独的IP地址,但随着Pod的销毁,IP地址会随之消失。
  • Service就是用来解决这个问题的核心概念。
    • K8S中存在三种网络:
      1. node 节点网络
      2. pod 容器网络
      3. service 集群网络:通过kube-proxy 来寻找pod网络
  • 一个Service可以看作是一组提供相同服务的Pod对外访问借口。
  • Service作用于哪些Pod是通过标签选择器来定义的。

Ingress

  • Ingress是K8S中工作再OSI网络模型下的第七层应用,对外暴露的接口。
  • Service只能进行L4的流量调度,表现形式是 ip+port。
  • Ingress可以调度不同的业务域、不同URL访问路径的业务流量。
    • 例如http://abc.com/sh --> Service 根据标签选择器 --> pod

回到目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值