k8s快速入门-概念
2020-07-23 本文已影响0人
xlgao
k8s快速入门
k8s的四组基本概念
- Pod/Pod控制器
- Name/Namespace
- Lable/Label选择器
- Server/Ingress
概念详解
-
Pod
- Pod 是k8s中能够运行的最小逻辑单元。
- 1个pod中可能有多个容器,他们共享名称空间。
- 1个pod里运行多个容器,又叫sidecar模式。
- 可以将pod理解成豌豆夹,容器即为豌豆。
-
Pod控制器
- Pod控制器是Pod启动的一种模板,用来保证k8s中启动的pod始终按照人们的预期运行,包括副本数、生命周期、健康状态检查等等。
- k8s提供了众多的Pod控制器:
- Deployment
- DeamonSet
- ReplicaSet
- StatefulSet
5.Job - Cronjob
-
name 名称
- k8s内部使用资源来定义每一种逻辑概念,每种资源都应该有自己的名称,资源有api版本apiersion,类别kind,元数据metadata,定义清单spec,状态status等配置信息。
- 名称通常定义在资源的元数据中。
-
namespase 名称空间
- 随着项目增多、人员增多、集群规模扩大,需要一种能够隔离k8s内部各种资源的方法,这就是名称空间。
- 名称空间可以理解为k8s内部的虚拟集群组。
- 不同名称空间内的资源名称可以相同,但是相同名称空间中资源名称不能相同。
- 合理的使用k8s的名称空间,使得集群管理员能够更好的交付到k8s的服务进行分类和浏览
- k8s里默认的名称空间有:default、kube-system、kube-public
- 查询k8s里的特定资源,要带上相应的名称空间。
-
Label
- 标签是k8s中的特色管理方式,便于分类管理资源对象。
- 一个资源可以有多个标签,一个标签也可以对应多个资源,多对多的关系。
- 标签的组成:ker=value
- 与标签类似的还有一种注解(annotatinos)
-
Lable选择器
- 给资源打上标签后,可以使用标签选择器过滤指定的标签。
- 标签选择器目前有两个:基于等值关系【等于、不等于】和基于集合关系【属于和不属于】
- 许多资源支持内嵌标签选择器字段:
- matchLabels
- matchExpressions
-
Service
- 在k8s的世界中,虽然每个pod都会被分配一个单独的ip,但是这个ip会随着pod的销毁而消失
- service就是用来解决这个问题的
- 一个server可以看作一族提供相同服务的pod的对外访问接口
- service作用于那些pod是通过标签选择器来定义的
-
Ingress
- ingress是k8s集群里工作在osi网络参考模型下,第七层的应用,对外暴露的接口。
- service只能进行L4流量调度,表现形式是ip+port。
- ingress则可以调度不同业务域,不同url访问路径的业务流量。