k8s基础之一 k8s基础架构
k8s基础
k8s命令补全
yum install -y bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc
k8s架构
master节点
kube-apiserver:集群的控制中枢,各个模块之间信息交互都需要经过kube-apiserver同时呢、他也是集群管理、资源配置、整个集群安全机制管理入口。
controller-manager:集群的状态管理器,保证pod或者其他资源达到期望值,而是需要和apiserver进行通信,在需要的时候创建、更新或者删除它所管理的资源
scheduler:集群的调度中心,它会根据指定的一系列条件,选择一个或者一批最佳节点,部署我们的pod。
etcd:键值数据库,保存一些集群的信息,一般生产环境建议部署三个以上(奇数个)
node/worker/minion 节点:
kbe-proxy:负责pod之间的通信和负载均衡,将指定流量分发到后端正确的机器上。
ipvs: 监听master节点增加和删除service以及endpoint的消息,调用Netlink接口创建相应的ipvs规则。通过ipvs规则将流量转发到相应的pod
Calico: 符合cni标准的网络插件,给每个pod生成一个唯一的ip地址,并且把每个节点当做一个路由器,,可以做网络策略这个是flan做不到的。。。cilium
coreDNS: 用于k8s集群内部的serice解析,可以让pod吧servicer名称解析成ip地址。然后通过service的ip地址进行链接到对应的应用上
docker:容器引擎,对容器的管理
metrics-server:度量,采集日志
在有成百上千个service时候kube-proxy扛不住,所以引用了,cilium eBPF,目前没有经过生产环境考验
为什么使用ipvs而不使用iptables
因为iptables在规则成百上千的时候,性能会急剧下降。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端