kubernetes 概念总结

来源:互联网 发布:不用充值约爱软件 编辑:程序博客网 时间:2024/05/20 06:41

k8s 概念总结


MASTER节点

  • Kubernetes API Server:提供 REST接口服务,是所有资源增删改查、集群控制的统一入口。
  • kubernetes Controller Manager:所有资源对象的自动化控制中心。
  • kubernetes Scheduler:负责资源调度。
  • ETCD:数据保存

NODE 节点

  • Kubelet :负责Pod对应容器的创建,启停等任务。与master节点密切协作。
  • kube-proxy:实现kubernetesservice通信、负载均衡等。
  • Docker Engine: 本机容器管理。

资源


  1. POD
    容器组,由pause容器和一个或多个用户容器组成,用户容器共享pause容器的IP、volume。
    有两种类型的pod:普通的pod和静态pod、普通pod存储在etcd中,被调度到节点运行,静态pod存在某个具体node的一个具体文件中。

  2. RC
    replication controller,它定义了一个期望的场景:
    ::replicas:pod期待的副本数量 。
    ::selector:用于筛选目标pod的label selector。
    ::template:用于创建pod的模板。当副本数量小于预期值时,用模板创建pod
    replica set 下一代RC,支持基于集合的selector,RC仅支持等式的selector

  3. Deployment
    类似于RC、相似度90%。相当于openshift 的DC。

  4. Service
    ::service 定义了一个服务的访问入口地址,通过label selector与后端pod无缝对接。
    ::通过节点上的kube-proxy进程实现软件负载均衡器,把service请求发送到后端pod。
    ::服务发现:每个service生成一些对应的环境变量,在每个pod启动时自动注入环境变量。
    ::外部系统访问service:通过NodePort把service 端口暴露到node上。

  5. Volume
    ::volume:是pod中能够被多个容器访问的共享目录,定义在pod上,属于计算资源的一部分。
    ::persistent volume:独立的网络存储资源,不属于任何node,但都可以访问。
    ::PVC:如果某个pod想申请pv,首先需要定义一个pvc,persistent volume claim。

  6. Horizontal Pod Autoscaler
    横向自动扩容缩容,两种方式实现pod负载度量指标,实现自动扩容:
    ::CPUUtilizationPercentage
    ::应用程序自定义的度量指标

  7. ConfigMap
    供容器使用的配置文件,生成容器内的环境变量或者挂载为容器内部的文件或目录。

  8. DaemonSet
    适用于:
    每个node上运行的一个glusterFS或Ceph存储
    每个node上运行的日志采集系统
    每个node上运行的一个监控系统


SERVICE详解


1、创建服务:

  • kubectl expose rc rcname
  • yaml文件,通过 kubectl create -f name.yaml

2、多端口服务,多协议服务

  ports:    - name: web      port: 80      protocol: TCP      targetPort: 8080    - name: dns-udp      port: 8081      protocol: UDP      targetPort: 8081 

3、外部服务
通过无 label selector的服务,然后手动创建一个和该sevice同名的endpoint,用于指向后端访问地址。
endpoint文件如下:

apiVersion: v1kind: Endpointsmetadata:  labels:    app: straw  name: strawsubsets:- addresses:  - ip: 10.130.3.242  ports:  - name: straw    port: 8001    protocol: TCP

4、负载均衡
service 默认提供负载均衡功能,开发人员也可以自己控制负载均衡策略,headless service(无头服务),即不为service设置cluster ip入口地址,仅通过 label selector将后端的pod列表返回给client。

5、集群外部访问pod或service

  • 通过设置容器级别的hostport,将容器应用的端口号映射到物理机
  • 通过设置pod级别的hostNetwork=true,该pod中的所有容器的端口号都将被直接映射到物理机上。
  • 将service的端口号映射到物理机,nodePort方式和LoadBalancer两种方式

6、DNS服务搭建
k8s提供的虚拟DNS服务名为skydns

  • etcd:dns存储
  • kube2sky:将k8s master 中的服务注册到etcd
  • skyDNS:提供DNS域名解析服务。
  • healthz:提供skyDNS服务的健康检查。

网络详解


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸长的男生发型 韩版发型女中长发 小学生发型女 男生什么发型好看 帅气的发型图片男生 男生短发型大全 男生阳光发型 男士成熟发型 男士齐刘海发型 女生发型扎法 卷发发型图片长发大卷 今年流行发型女性 小男生发型图片及名称 剪什么发型好看 小脸男生发型 男士短发发型及名称 男生短发发型鲨鱼头 男学生发型两边剪短 无刘海发型男 个性发型男士 发型种类名称 发型图片男短发 毛寸发型图片 女人发型照片 男生中长发发型 发型设计与脸型搭配男短发 欧美男士发型 夏季女生发型扎法 青年男士发型 男生发型设计 男生圆脸发型 阳光发型男铲两边 今年流行的发型图片女 小女孩发型扎法大全 社会人盖头发型 男生发型名称 男生发型名称带图片 光头发型设计与脸型搭配 儿童发型图片女孩扎发 好看的短发发型男寸头 青年发型图片