努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • Docker

  • Kubernetes

    • K8S常见组件记录
      • K8S常见组件记录
        • 核心服务组件
        • 必会的几个名词
    • 安装DNS服务(bind-9)
    • 私有仓库harbor部署
    • 证书签发环境CFSSL
    • 一步步部署k8s组件(上)
    • 一步步部署k8s组件(中)
    • 一步步部署k8s组件(下)
    • kubelet常用命令
    • K8s的GUI资源管理之仪表板
    • k8s部署jenkins
    • k8s持久存储StorageClass
    • k8s之Volume类型emptyDir和hostPath
    • 深入了解Deployment
    • k8s之meric-server(HPA环境)
    • k8s-deployment常见参数说明
    • rke部署k8s高可用集群
    • K8S之安全机制
    • k8s网络策略
    • kubeadm安装k8s(版本1.26.0)
    • kubeadm证书替换
    • Pod探针
  • Nexus

  • Rancher

  • Prometheus

  • ELK

  • 虚拟化

//
  • 云计算虚拟化
  • Kubernetes
yangfk
2021-08-25

K8S常见组件记录

//

学习笔记:oldboy

# K8S常见组件记录

# 核心服务组件

  • 配置存储中心
  etcd服务
1
  • 主控节点(master)
  kube-apiserver服务
  提供了集群管理的REST API接口(鉴权,数据校验及集群状态变更)
  复制其他模块之间的数据交互,承担通信枢纽功能
  是资源配额控制的入口
  提供完备的集群安全机制
1
2
3
4
5
  • kube-controller-manager服务
    由一系列控制器组成,通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态
    如,node Controller Deployment Controller ,Service Controlller ,
    Endpoint  Controlller ,Garbage  Controlller ,
    Namespace  Controlller ,Job  Controlller ,
    Resource quta  Controlller ,
1
2
3
4
5
  • kube-scheduler服务
  接受调度pod到合适的运算节点上
  预算策略,优选策略
1
2
  • 运算节点(node)
  kube-kubelet服务
  主要功能就是定时从某个地方获取节点上pod的期望状态(运行什么容器,运行的副本数量,网络或者存储如何配置等等),并对应的容器平台接口达到这个状态
  定时汇报当前节点的状态给apiserver,以供调度的时候使用
  镜像和容器的清理工作保证节点上镜像不会占满磁盘空间,退出容器不会占用太多资源
1
2
3
4
  • kube-proxy服务
  是K8s在每个节点上运行网络代理,service资源的载体
  建立了pod网络和集群网络的关系(clusterip-podip)
  常用三种流量调度模式:Userspace ,Iptables,Ipvs(推荐)
  负责建立和删除包括更新调度规则,通知apiserver自己的更新,或者从apiserver哪里获取其他kube-proxy的调度规则变化来更新自己的
1
2
3
4
  • ClI客户端
  kubectl
1
  • 核心附件
CNI网络插件-》flannel/calico
服务发现插件-》coredns
服务暴露插件-》traefik
GUI管理插件-》Dashboard
1
2
3
4

# 必会的几个名词

  • 什么是Pod

Pod是K8s 里能够被运行的最小的逻辑单元(原子单元)

1个Pod里面可以运行多个容器,他们共享UTS+NET+IPC名称空间

一个Pod里运行多个容器,又叫:边车(SideCar)模式

  • Pod控制器

Pod控制器是Pod启动的一种模板,用来保证在K8s 里启动的Pod 应始终按照人们的预期运行(副本数,生命周期,健康状态检查...)

K8s 里面提供了众多的Pod 的控制器,常用的有以下几种

Deployment ,DaemonSet ,ReplicaSet ,StatefulSet ,Job ,Cronjob

  • Name

由于K8s内部,使用“资源”来定义每一种逻辑概念(功能),故每种“资源”,都应该有自己的“名称” “资源”有api版本(apiVersion)类别(Kind),元数据(metadata),定义清单(spec),状态(status),等配置信息 “名称”通常定义在“资源”的“元数据”信息里

  • NameSpace

随着项目增多,人员增加,集群规模的扩大,需要一直能够隔离K8s内部各种“资源”的方法,这就是名称空间 名称空间可以理解为K8s 内部的虚拟集群组 不同名称空间内的“资源”,名称可以相同,相同名称空间内的同种“资源”,“名称”不能相同 K8s 里默认存在的名称空间有:default,kube-system,kube-public, 查询K8s 里特定的“资源”要带上相应的名称空间

  • Label

标签是K8s特色的管理方式,便于分类管理资源对象,一个合法的标签字节数不多余63(a-z,0-9,A-Z) 一个标签可以对应多个资源,一个资源也可以有多个标签,他们是多对多的关系 一个资源拥有多个标签,可以实现不同维度的管理 与标签类似的,还有一种“注释”{annotations}

  • Label选择器

给资源打上标签后,可以使用标签选择器过滤指定的标签 标签选择器目前有两个,基于等值关系(等于,不等于)和基于集合关系(属于,不属于,存在) 许多资源支持内嵌标签选择器字段 matcherLabels matcheExpressions

  • Service

在K8s的世界里,虽然每个Pod 都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失 Service(服务) 就是用来解决这个问题的核心概念 一个Service 可以看作一组提供相同服务的Pod的对外访问接口 Service作用于哪些Pod是通过标签选择器来定义的

  • Ingress

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

//
点击 -->> 给博主买咖啡 (opens new window)
上次更新: 2021/12/26, 17:24:25
docker单点启动nacos持久化密码
安装DNS服务(bind-9)

← docker单点启动nacos持久化密码 安装DNS服务(bind-9)→

最近更新
01
Pod探针
12-20
02
kubeadm证书替换
12-20
03
kubeadm安装k8s(版本1.26.0)
12-16
更多文章>
Theme by Vdoing | Copyright © 2019-2023 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//