k8s重要概念

k8s重要概念

Pod=Pod控制器:

1、pod概念

pod是k8s里能勾被运行的最小的逻辑单元,一个pod中可以多个Container,pod内的所有container共享(UTS+NET+IPC名称空间)单个pod可以运行多个container

2、Pod控制器

2.1 deployment(无状态,守护进程类,只关注群体不关注个体)

  确保集群中的每一个节点上只运行一个特定的pod副本,系统级的后台任务。新增节点他都会自动添加pod。也可以是满足条件的节点上运行特定的副本。比如ELK服务特性:服务是无状态的服务必须是守护进程(pod资源模板,标签选择器)

2.2 statefulset(管理有状态应用)

  管理有状态应用(redis cluster)针对管理的应用器配置管理是不一样的,没有什么共通的规律,需要人为的封装在脚本中实行,相当之大的逻辑处理。(运维技能封装到运维脚本中)

2.3 ReplicaSet

代用户创建指定数量的pod副本数量,确保pod副本数量符合用户期望的数量状态,如果少了多退少补,并且支持滚动式自动扩容和缩容机制。

    ReplicaSet主要三个组件组成:  

      (1)用户期望的pod副本数量   

      (2)标签选择器,判断哪个pod归自己管理   

      (3)pod资源模板(当现存的pod数量不足,会根据pod资源模板进行新建帮助用户管理无状态的pod资源,精确反应用户定义的目标数量。不直接使用)

3、Name=NameSpace:

4、Lable=Lable选择器:

5、Service=Ingress:

5.1 K8S-Service概念:
kubernetes service 定义了这样一种抽象:一个Pod的逻辑分组,一种可以访问它们的策略--通常被称为为服务,这一组pod能够被service访问到,通常是通过label selector选择后端pod,通常使用RR轮询算法。

svc只有4层负载能力ip:prot 无法提供7层负载(可以通过Ingress实现)

K8S-Service类型:
ClusterIp:默认类型,自动分配一个仅Cluster内部可以访问的虚拟IP

NodePort:在ClusterIP基础上为Service在每台机器上绑定一个端口,这样可以通过NodeIP:NodePort来访问服务

LoadBalancer:在NodePort基础上,借助cloud provider创建一个外部负载均衡器,并将请求转发到NodeIP:NodePort

ExternalName: 把集群外部的服务引入到集群内部来,在集群内部直接使用,没有任何类型代理被创建,这只有kubernetes1.7 或更高版本的kube-dns才支持

posted @ 2020-01-07 09:57  游子梦  阅读(333)  评论(0编辑  收藏  举报