IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

k8s(00)入门知识介绍

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

系列文章说明

本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白
需要视频可以联系我

k8s概念入门

目录

  • 系列文章说明
  • k8s概念入门
    • 1 四组基本概念
      • 1.1 POD和POD控制器
      • 1.2 Name/Namespace
      • 1.3 Lable/Label选择器
      • 1.4 Service/Ingress
    • 2 核心组件与核心附件
      • 2.1 核心组件功能
      • 2.2 K8S的三条网络
    • 3 K8S流程图

[K8S中文社区](http://docs.kubernetes.org.cn/

1 四组基本概念

1、 Pod/Pod控制器
2、 Name/Namespace
3、 Lable/Label选择器
4、 Service/Ingress

1.1 POD和POD控制器

kubernetes 的pod控制器

1、 Pod
k8s里能够被运行的最小逻辑单元
1个POD里面可以运行多个容器(SideCar 边车模式)
POD中的容器共享 UTS/NAT/IPC 名称空间
POD和容器颗粒理解为豌豆荚和豌豆
2、 Pod控制器
Pod控制器是Pod启动的一种模板
用来保证在K8S里启动的Pod始终按预期运行
包括副本数\生命周期\健康检查等
3、 常用的Pod控制器:

<table> 
 <thead> 
  <tr> 
   <th>控 度器名称</th> 
   <th>用途简述</th> 
  </tr> 
 </thead> 
 <tbody> 
  <tr> 
   <td><strong>Deployment</strong></td> 
   <td>用于管理无状态应用,支持滚动更新和回滚</td> 
  </tr> 
  <tr> 
   <td><strong>DaemonSet</strong></td> 
   <td>确保集群中的每一个节点上只运行一个特定的pod副本</td> 
  </tr> 
  <tr> 
   <td>ReplicaSet</td> 
   <td>确保pod副本数量符合用户期望的数量状态</td> 
  </tr> 
  <tr> 
   <td>StatefulSet</td> 
   <td>管理有状态应用</td> 
  </tr> 
  <tr> 
   <td>Job</td> 
   <td>有状态,一次性任务</td> 
  </tr> 
  <tr> 
   <td>Cronjob(定时任务)</td> 
   <td>有状态,周期性任务</td> 
  </tr> 
 </tbody> 
</table>

1.2 Name/Namespace

1、 Name
K8S使用‘资源’来定义每一种逻辑概念(功能)
每种‘资源’都应该有自己的’名称’
‘名称’通常定义在‘资源’的元数据(metadata)信息中

资源的配置信息包括

 *  API版本(apiVersion)
 *  类别(kind)
 *  元数据(metadata)
 *  定义清单(spec)
 *  状态(status)

2、 Namespace
名称空间用于隔离K8S内各种资源,类似K8S内部的虚拟分组
同一个名称空间中,相同资源的名称不能相同
默认的名称空间为default,kube-system,kube-public
查询特定资源,要带上相应的名称空间

1.3 Lable/Label选择器

1、 Lable
标签的作用是便于分类管理资源对象
标签与资源之间是多对多的关系
给一个资源多个标签,可以实现不同维度的管理
2、 Lable选择器
可以使用标签选择器过滤指定的标签
标签选择器有基于等值关系(等于,不等于)和基于集合关系(属于,存在)的两种
许多资源都支持内嵌标签选择器字段:matchLablesmatchExpressions

1.4 Service/Ingress

1、 Service(重点)
POD会分配IP地址,但IP会随着POD销毁而消失
多个同类型POD,IP或端口必然不同,但却相同的服务
Service用来提供相同服务POD的对外访问接口
Service通过标签选择器来确定作用于哪些POD
Service只能提供L4层的调度,即:IP+端口
2、 Ingress(重点)
Igress也是用来暴露POD的对外访问接口
Igress提供L7层的调度,即http/https
Igress可以调度不同业务域,不同URL路径的流量

2 核心组件与核心附件

1、 核心组件
配置存储中心

 *  etcd服务

主控节点(master)

 *  kube-apiserver服务
 *  kube-controller-manager服务
 *  kube-scheduler服务

运算节点(node)

 *  kube-kubelet服务
 *  kube-proxy服务

2、 CLI客户端
kubectl命令行工具
3、 核心附件
CNI网络插件(flannel/calico)
服务发现插件(coredns)
服务暴露插件(traefik)
GUI管理插件(daahboard)

2.1 核心组件功能

1、 配置存储中心-etcd
etcd是一个非关系型数据库,作用类似于zookeeper注册中心
用于各种服务的注册和数据缓存
2、 kube-apiserver(master)
提供季军管理的REST API接口,包括鉴权、数据校验、集群状态变更
负责其他模块之间的数据交互,承担通信枢纽的功能
和etcd通信,是资源配额控制的入口
提供玩备的集群控制机制
3、 kube-controller-manager
由一系列控制器组成,通过apiserver监控整个集群的状态,确保集群处于预期的工作状态
是管理所有控制器的控制器
4、 kube-scheduler
主要是接收调度POD到合适的node节点上
通过apiserver,从etcd中获取资源信息进行调度
只负责调度工作,启动工作是node节点上的kubelet负责
调度策略:预算策略(predict)、优选策略(priorities)
5、 kube-kubelet
定时从apiserver获取节点上POD的期望状态(如副本数量、网络类型、存储空间、容器类型等)然后调用容器平台接口达到这个状态
提供POD节点具体使用的网络
定时汇报当前节点状态给apiserver,以供调度
复制镜像和容器的创建和清理工作
6、 kube-proxy
是K8S在每个节点上运行网络的代理,service资源的载体
不直接为POD节点提供网络,而是提供POD间的集群网络
建立了POD网络和集群网络的关系(clusterIp->podIp)
负责建立、删除、更新调度规则
与apiserver通信,以更新自己和获取其他kube-proxy的的调度规则
常用的调度模式:Iptables(不推荐)、Ipvs(推荐)

2.2 K8S的三条网络

67_1.png

1、 节点网络
实际网络,就是宿主机网络
建议地址段:10.4.7.0/24
建议通过不同的IP端,区分不同的业务、机房或数据中心
2、 Pod 网络
实际网络,容器运行的网络
建议172.7.21.0/24 ,并建议POD网段与节点IP绑定
如: 节点IP为10.4.7.21,则POD网络为172.7.21.0/24
3、 service网络
虚拟网络,也叫集群网络(cluster server),用于内部集群间通信
构建于POD网络之上, 主要是解决服务发现和负载均衡
通过kube-proxy连接POD网络和service网络
建议地址段为:192.168.0.0/16

3 K8S流程图

67_2.png

说明:

主控节点和node节点只是逻辑上的概念,物理上可以部署在一起

文章永久链接:https://tech.souyunku.com/?p=22237


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(86) 打赏



未经允许不得转载:搜云库技术团队 » k8s(00)入门知识介绍

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367