k8s集群搭建指南
一、简介
Ansible
Docker
Docker compose,docker swarm,docker machine
Mesos,marathon
Kubernetes(占据80%的市场)
DevOps:
Devops,MicroServices,Blockchain
CI:持续集成
CD:持续交付,Delivery
CD:持续部署,Deployment
Plan-设计-开发-构建-测试(自动实现这一系列流程叫持续集成)
-运维(获取打包好的包叫持续交付)
- 持续部署
K8s(剁手,飞行员):
Borg
自动装箱(自动完成部署)
自我修复
水平扩展
服务发现和负载均衡
自动发布和回滚
秘钥和配置管理集中化(配置中心)
存储编排
批量处理执行
集群:
许多台主机当成一台主机来使用
有中心节点架构的模型
Master/nodes
Master(高可用,3台)
组件叫API Server
调度器(scheduler):负责观测node的节点资源使用情况(预选,优选)
控制器管理器(controller manager)---主备
Nodes(worker):运行容器的节点
Client->master-node
Kubelet:集群代理(启动并管理pod)
容器引擎:docker
Pod:k8s最小的调度的逻辑单元
容器的外壳,pod内运行容器,共享nat、uts和ipc
共享存储卷
一般来说一个pod内只放一个容器
在一个资源池内进行统一管理(dockfile中打标签来进行区分)
Label Selector:标签选择器
Label: K=v
Master/node
Pod分类:
自主式pod:
控制器管理的pod
replicationController:副本控制器
管理pod状态
滚动更新
replicaSet
Deployment(管理无状态的pod)
statefuSet(有状态的)
DaemonSet
Job,cronjob
HPA(HorizonTalPodAutoscaler):自动控制器,根据负载需求调整pod个数
Pod生命周期需要用到服务发现机制
Service管理pod(调度),根据label标签来关联pod对象
Client - >service -> pod*N
DNS对service进行解析
AddOns:附件(附加组件)
客户端和pod之间的桥梁:service(固定不变)
Label(标签):固定不变,连接service-----名称解析(DNS)
NMT
Nginx对外:
Tomcat
M:db
LBaas
K8s网络(三个网段的网络)
Pod网络
Service(集群)网络(虚拟网络只存在与iptables或ipvs之中)
节点网络
Overlay Network,叠加网络
同一个pod内的多个容器间:lo
各个pod之间的通信(snat-dnat,两级pod转换),通过主机访问pod
Pod与service之间的通信(宿主机规则)
Kube-proxy:
对service进行管理
共享存储
Etcd
CNI:容器网络接口(网络解决方案)
Flannel:网络配置(叠加网络)
Calico:支持网络配置和网络策略(三层隧道网络)
Canel(Flannel+Calico):
架构图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2017-03-19 Python之路,Day9 - 线程、进程、协程和IO多路复用