码迷,mamicode.com
首页 > Web开发 > 详细

k8s系列0--Kubernetes基础知识

时间:2018-11-01 00:59:05      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:ESS   lse   类型   使用   就会   oschina   mes   head   log   

Kubernetes介绍

  • 参考:Kubernetes核心组件解析
  • Pod是k8s的最小调度单元
  • 每个pod有独立的IP,但是pod的IP是不可靠的,重新调度pod就会改变IP,service概念就是为了解决这些问题。
  • 给service会分配虚拟IP即ClusterIP,通过ClusterIP和端口,访问会自动负载均衡到后端的pod上。
  • 目前k8s提供两种负载均衡策略:RoundRobin和SessionAffinity。
    • RoundRobin:轮询模式
    • SessionAffinity:基于客户端IP的会话保持
  • 也可以通过Headless Service的概念,不设置ClusterIP只给出后端Pod列表,由用户自己选择。
  • service也可以不绑定选择pod,单独定义Endpoints类型的资源来提供服务。即可实现跨namespace的服务访问。
  • Pod和Service都是集群内的虚拟概念,包括IP等信息。故集群外部无法访问Pod或Service,可以将端口映射到宿主机实现访问。

    基本资源类型

  • Kubernetes中StatefulSet介绍
  • Kubernetes中的亲和性与反亲和性对应于pod调度到那些node节点上。
  • Kubernetes1.3新特性:POD中的初始化容器,该文介绍了初始化容器的类结构,及相关特性。
    • 下文基于kubernetes 1.5.2版本编写
    • 概念:Init Container就是做初始化工作的容器。可以有一个或多个,如果有多个,这些 Init Container 按照定义的顺序依次执行,只有所有的InitContainer 执行完后,主容器才启动。由于一个Pod里的存储卷是共享的,所以 Init Container 里产生的数据可以被主容器使用到。
    • Init Container可以在多种K8S资源里被使用到如Deployment、DaemonSet, PetSet/StatefulSet、Job等,但归根结底都是在Pod启动时,在主容器启动前执行,做初始化工作。
  • k8s init-Containers,该文使用的k8s版本是1.9
  • 官方关于init-containers的说明:Init Containers

    cron Job类型

  • 该文更新,参考:Kubernetes中的Job和CronJob,批量任务执行
  • 该文老旧,不宜参考。参考:Kubernetes的Cron Job定时任务小试

k8s系列0--Kubernetes基础知识

标签:ESS   lse   类型   使用   就会   oschina   mes   head   log   

原文地址:https://www.cnblogs.com/drawnkid/p/9886447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!