ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kubrenetes入门

2021-12-03 00:00:14  阅读:150  来源: 互联网

标签:控制器 kube Kubrenetes 入门 Service Pod K8S 选择器


1. 基础概念

  • Pod/Pod控制器
  • Name/NameSpace
  • Label/Label选择器
  • Service/Ingress

1.1 Pod/Pod控制器

Pod

  • Pod是K8S里能够被运行的最小逻辑单元
  • 1个Pod里面可以运行多个容器,被称为SideCar模式

Pod控制器

  • Pod控制器是Pod启动的一种模板,用来保证在K8S里启动的Pod应始终按照人们的预期运行(副本数、声明周期、健康状态检查)
  • K8S内提供了众多的Pod控制器:Development, DaemonSet, ReplicaSet, StatefulSet, Job, Cronjob 

1.2  Name/Namespace

Name

  • K8S内部使用“资源”来定义每一种逻辑概念,每种“资源”都有自己的“名称”
  • “资源”包括:apiVersion, kind, metadata, spec, status
  • “名称”通常定义在“资源”的metadata里

Namespace

  • 可以理解为K8S内部的虚拟集群组
  • 不同名称空间内的“资源”名称可以相同,相同名称空间内的“资源”不行
  • K8S默认存在的名称空间有:default, kube-system, kube-public

1.3 Label/Label选择器

Label

  • 标签用于分类管理资源对象
  • 标签和资源是多队多的关系
  • 标签是KV形式

Label选择器

  • 可以通过标签选择器过滤指定的标签
  • 标签选择器目前有两个:基于等值关系基于集合关系

1.4 Service/Ingress

Service

  • 每个Pod会被分配一个单独的IP地址,这个IP地址会随着Pod的销毁而消失
  • Service可以看做一组提供相同服务的Pod对外访问的接口
  • Service作用于哪些Pod是通过标签选择器来定义

Ingress

  • Ingress是K8S集群里工作在OSI网络参考模型下,第7层的应用,对外暴露的接口
  • Service只能进行L4流量调度,表现形式是ip+port
  • Ingress则可以调通不同业务域、不同URL访问路径的业务流量 

2. 核心组件

配置存储中心:etcd服务

主控(master)节点:

  • kube-apiserver

提供了集群管理的REST API接口,负责其他模块之间的交数据交互,是资源配额的控制入口,提供完备的集群安全机制

  • kube-controller-manager

由一系列控制器组成,管理所有控制器

  • kube-scheduler

接收调度pod到适合的运算节点上,预选策略、优选策略

运算(node)节点:

  • kube-kubelet

主要功能是定时从某个地方获取节点上pod的期望状态,并调用对应的容器平台接口达到这个状态;定时汇报当前节点状态给apiserver,以共调度的时候使用;镜像和容器的清理工作

  • kube-proxy

是K8S在每个节点上运行网络代理,service资源的载体;建立了pod网络和集群网络的关系(clusterIP->podIP);流量调度模式:Userspace(废弃)、Iptables(濒临废弃)、Ipvs(推荐)

CLI客户端:kubectl

核心附件:

  • CNI网络插件:flannel/calico
  • 服务发现用插件:coredns
  • 服务暴露用插件:traefik
  • GUI管理插件:Dashboard

3. K8S架构图

系统架构

三重网络

 

标签:控制器,kube,Kubrenetes,入门,Service,Pod,K8S,选择器
来源: https://blog.csdn.net/QQsilhonette/article/details/121688350

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有