docker&k8s
文章平均质量分 90
docker&k8s
你是什么品种的萝卜
人生何处不迷雾,东隅已逝,桑榆非晚
展开
-
【k8s】8.k8s的网络模型(二):Flannel网络模型
flannel 通过该配置可以将网卡的 IP、MAC 信息存储到 etcd 中,这样,flannel 就知道所有的节点分配的 IP 段及 VTEP 设备的 IP 和 MAC 信息,并且所有节点的 flanneld 都可以感知到节点的添加和删除操作,就可以动态的更新本机的转发配置。上述介绍都是基于 VXLAN 实现的 Flannel 网络,VXLAN 适用于三层可达的网络环境,对集群的网络要求很宽松,但是同时由于会通过 VTEP 设备进行额外封包和解包,因此给性能带来了额外的开销。原创 2024-06-29 17:26:30 · 816 阅读 · 0 评论 -
【k8s】7.k8s网络模型(一):容器网络接口CNI,VXLAN网络
VXLAN 虚拟可扩展的局域网(Virtual eXtensible Local Area Network),是一种 overlay 技术,通过三层的网络来搭建虚拟的二层网络。由于k8s容器的所有流量都会打到网桥上,那么可以直接将 VTEP 设备插到网桥上,容器流量通过网桥发至 VTEP 设备,再经过 VXLAN 网络转发出去。创建在原有的 IP 网络(三层)上,只要是三层可达(能够通过 IP 互相通信)的网络就能部署 VXLAN。)设备,负责 VXLAN 协议报文的封包和解包,也就是在虚拟报文上封装。原创 2024-06-29 15:29:32 · 677 阅读 · 0 评论 -
【k8s】6.pod控制器(二):pod拓扑分布约束,优先级与抢占,pod驱逐
比如 kubelet 还来不及驱逐,Node 上的资源就被耗尽导致宕机,此时 control-plane 无法正常和该节点通信,拿不到节点上的 Pod 的状态,因此会做最坏的打算,认为这些 Pod 都挂了,因此会将该 Node 上的所有 Pod 都驱逐到其他节点重新跑起来,以保证高可用。node-eviction-rate: 驱赶 Node 的速率,由令牌桶流控算法实现,默认为 0.1,即每秒驱赶 0.1 个节点(注意这里不是驱赶 Pod 的速率,而是驱赶节点的速率,相当于每隔 10s,清空一个节点)原创 2024-06-23 19:31:32 · 931 阅读 · 0 评论 -
【k8s】5.pod控制器(一):pod生命周期,健康检查,滚动更新,重启与崩溃
又称为控制器,是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。k8s提供几种资源作为工作负载:无状态的:Deployment, Replicaset有状态的:Statefulset守护进程:Daemonset批处理:Job, Cronjob。原创 2024-06-16 18:47:05 · 1037 阅读 · 1 评论 -
【k8s】4.调度器的调度策略:节点选择器,节点亲和性,污点与容忍,pod亲和性
1 节点的调度策略我们可以在node节点上定义的一些规则,来决定上。1.1 节点选择器nodeSelector这是一种较常用也是较简单的方式,将pod调度到指定label的node上,可以满足一般情况下的调度需求。这样pod就会被调度到有对应标签的节点上了。如果找不到任何一个node有nodeSelector定义的标签,pod是会一直Pending的~1.2 节点亲和性。原创 2024-06-16 17:13:50 · 806 阅读 · 0 评论 -
【k8s】3.k8s的调度过程:一个deployment的创建过程
deployment controller:监听deployment的创建事件,创建相应的replicaset副本集(控制副本数量)。replicaset controller:监听replicaset的创建事件,创建相应的pod。预选:遍历k8s集群中所有的pod,根据节点亲和性、污点、容忍、硬件资源计算等,选出符合要求的ndoe最为预选node。controller manager监听到etcd中的事件,对于不同的资源,触发不同的处理方式。以上三种接口是k8s定义的标准,具体的实现都是由插件完成的。原创 2024-06-16 14:59:35 · 1009 阅读 · 0 评论 -
【k8s】2.k8s通信原理
kube-proxy 监听 service 和 endpoint 的变化,当有 service 创建时,所有节点的 kube-proxy 在节点上随机选择一个端口,在 iptables 中追加一条,把访问 service 的请求重定向到这个端口的,并监听这个端口的连接请求。pause 容器会创建一个网络命名空间,其他容器加入到 puase 容器中共享 pause 的网络,一个 pod 中所有的进出流量都是通过 pause 容器完成的,通过 localhost 相互通信。(封包解包有性能开销)原创 2024-04-27 18:04:14 · 1392 阅读 · 1 评论 -
【k8s】1.k8s架构
分为两大部分:master节点:负责提供API通信接口,集群的管理、调度、数据存储node节点:负责容器的运行,运行的生命周期管理。原创 2024-04-27 17:26:12 · 301 阅读 · 1 评论 -
!真是一场酣畅淋漓的docker & k8s安装大战
根据报错查具体问题记一次 Get “http://localhost:10248/healthz“: dial tcp [::1]:10248: connect: connection refused解决办法_node join dial tcp 127.0.0.1:10248: connect: conne-CSDN博客# job.yamlkind: Jobmetadata:spec:template:metadata:labels:spec:状态正常~~原创 2024-05-01 04:33:51 · 359 阅读 · 2 评论 -
【docker】2.docker网络
每一个docker容器拥有自己的网络命名空间,那么容器之间是如何通信的呢?docker容器有4种通信方式:bridge模式(默认)host模式container模式none模式。原创 2024-04-19 21:50:57 · 789 阅读 · 0 评论 -
【docker】1.docker的虚拟化原理
docker的虚拟化原理,namespace命名空间,control group资源隔离,unionFS联合文件系统原创 2024-03-24 20:19:56 · 668 阅读 · 0 评论