展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Kubernetes入门

  • K8s功能
自动装箱
自我修复
水平扩展
服务发现
滚动更新
版本回退
密钥和配置管理
存储编排
批处理
  • K8S架构主要包含两部分:Master(主控节点)和 node(工作节点)
master:主控节点
API Server:集群统一入口,以restful风格进行操作,同时交给etcd存储
提供认证、授权、访问控制、API注册和发现等机制
scheduler:节点的调度,选择node节点应用部署
controller-manager:处理集群中常规后台任务,一个资源对应一个控制器
etcd:存储系统,用于保存集群中的相关数据
Work node:工作节点
Kubelet:master派到node节点代表,管理本机容器
一个集群中每个节点上运行的代理,它保证容器都运行在Pod中
负责维护容器的生命周期,同时也负责Volume(CSI) 和 网络(CNI)的管理
kube-proxy:提供网络代理,负载均衡等操作
  • K8S核心概念
Pod
Pod是K8s中最小的单元
一组容器的集合
共享网络【一个Pod中的所有容器共享同一网络】
生命周期是短暂的(服务器重启后,就找不到了)
Volume
声明在Pod容器中可访问的文件目录
可以被挂载到Pod中一个或多个容器指定路径下
支持多种后端存储抽象【本地存储、分布式存储、云存储】
Controller
确保预期的pod副本数量【ReplicaSet】
无状态应用部署【Deployment】
无状态就是指,不需要依赖于网络或者ip
有状态应用部署【StatefulSet】
有状态需要特定的条件
确保所有的node运行同一个pod 【DaemonSet】
一次性任务和定时任务【Job和CronJob】
Deployment
定义一组Pod副本数目,版本等
通过控制器【Controller】维持Pod数目【自动回复失败的Pod】
通过控制器以指定的策略控制版本【滚动升级、回滚等】
Service
定义一组pod的访问规则
Pod的负载均衡,提供一个或多个Pod的稳定访问地址
支持多种方式【ClusterIP、NodePort、LoadBalancer】
image-20201122161132055
可以用来组合pod,同时对外提供服务
Label
label:标签,用于对象资源查询,筛选
image-20201122161713638
Namespace
命名空间,逻辑隔离
一个集群内部的逻辑隔离机制【鉴权、资源】
每个资源都属于一个namespace
同一个namespace所有资源不能重复
不同namespace可以资源名重复
API
我们通过Kubernetes的API来操作整个集群
同时我们可以通过 kubectl 、ui、curl 最终发送 http + json/yaml 方式的请求给API Server,然后控制整个K8S集群,K8S中所有的资源对象都可以采用 yaml 或 json 格式的文件定义或描述
  • 搭建k8s集群
单个master节点,然后管理多个node节点

多个master节点,管理多个node节点,同时中间多了一个负载均衡的过程

posted @   DogLeftover  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示