
kubernetes
文章平均质量分 91
妍妍的宝贝
好的好的
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
k8s 的网络通信
纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。原创 2024-10-10 01:08:46 · 1033 阅读 · 0 评论 -
k8s 中存储之 PV 持久卷 与 PVC 持久卷申请
前面已经学习了使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。PV(Persistent Volume)是持久化卷的意思,是对底层的共享存储的一种抽象。一般情况下PV由kubernetes管理员进行创建和配置,它与底层具体的共享存储技术有关,并通过插件完成与共享存储的对接。原创 2024-10-07 02:41:22 · 1916 阅读 · 0 评论 -
k8s 中存储之 NFS 卷
HostPath可以解决数据持久化的问题,但是一旦Node节点故障了,Pod如果转移到了别的节点,又会出现问题了,此时需要准备单独的网络存储系统,比较常用的用NFS、CIFS。NFS是一个网络文件存储系统,可以搭建一台NFS服务器,然后将Pod中的存储直接连接到NFS系统上,这样的话,无论Pod在节点上怎么转移,只要Node跟NFS的对接没问题,数据就可以成功访问。原创 2024-10-06 17:55:58 · 1461 阅读 · 0 评论 -
k8s 中存储之 hostPath 卷
EmptyDir中数据不会被持久化,它会随着Pod的结束而销毁,如果想简单的将数据持久化到主机中,可以选择HostPath。HostPath就是将Node主机中一个实际目录挂在到Pod中,以供容器使用,这样的设计就可以保证Pod销毁了,但是数据依据可以存在于Node主机上。原创 2024-10-06 17:25:16 · 1211 阅读 · 0 评论 -
k8s 中存储之 emptyDir 卷
缓存空间,例如基于磁盘的归并排序。耗时较长的计算任务提供检查点,以便任务能方便地从崩溃前状态恢复执行。在 Web 服务器容器服务数据时,保存内容管理器容器获取的文件。使用两个容器组成一个 Pod 用 emptyDir 卷 实现 同 Pod 之间的数据共享使用 busybox 和 nginx 容器 组成一个Pod3.2 创建 Pod 清单文件命令只支持单一容器的Pod创建。对于多容器的Pod 只能手动添加第二个容器的部分。原创 2024-10-06 16:53:01 · 3181 阅读 · 0 评论 -
k8s 中的金丝雀发布(灰度发布)
金丝雀发布(Canary Release)也称为灰度发布,是一种软件发布策略。主要目的是在将新版本的软件全面推广到生产环境之前,先在一小部分用户或服务器上进行测试和验证,以降低因新版本引入重大问题而对整个系统造成的影响。是一种Pod的发布方式。金丝雀发布采取先添加、再删除的方式,保证Pod的总量不低于期望值。并且在更新部分Pod后,暂停更新,当确认新Pod版本运行正常后再进行其他版本的Pod的更新。原创 2024-10-06 01:22:46 · 2843 阅读 · 0 评论 -
k8s 中微服务之 MetailLB 搭配 ingress-nginx 实现七层负载
LoadBalancer和NodePort很相似,目的都是向外部暴露一个端口,区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备,而这个设备需要外部环境支持的,外部服务发送到这个设备上的请求,会被设备负载之后转发到集群中。业界常用的各种反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes 专门维护了对应的 Ingress Controller。Ingress由两部分组成:Ingress controller和Ingress服务。原创 2024-10-05 03:27:21 · 1413 阅读 · 3 评论 -
教你如何零基础在 k8s 集群中部署一个nginx服务
本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。原创 2024-09-30 22:46:49 · 2643 阅读 · 0 评论 -
kubernetes微服务之ingress-nginx
Ingress-nginx 是一个广泛使用的 Kubernetes Ingress 控制器,它基于 Nginx 反向代理和负载均衡器来处理进入 Kubernetes 集群的 HTTP 和 HTTPS 流量。Ingress-nginx 提供了一个强大的工具来管理 Kubernetes 集群的入口流量,允许用户通过 Ingress 资源来定义如何将外部请求路由到集群内部的服务。原创 2024-09-08 22:12:29 · 2426 阅读 · 1 评论 -
kubernetes微服务基础及类型
用控制器来完成集群的工作负载,那么应用如何暴漏出去?需要通过微服务暴漏出去后才能被访问Service是一组提供相同服务的Pod对外开放的接口。借助Service,应用可以实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)原创 2024-09-08 02:10:43 · 973 阅读 · 0 评论 -
kubelet 探针
ExecAction:在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功。TCPSocketAction:对指定端口上的容器的 IP 地址进行 TCP 检查。如果端口打开,则诊断被认为是成功的。HTTPGetAction:对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。每次探测都将获得以下三种结果之一:成功:容器通过了诊断。失败:容器未通过诊断。未知:诊断失败,因此不会采取任何行动。原创 2024-09-06 00:40:45 · 889 阅读 · 0 评论 -
pod的生命周期
官方文档Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。Init 容器与普通的容器非常像,除了如下两点:它们总是运行到完成init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成,每个 Init 容器必须运行成功,下一个才能够运行。如果Pod的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。原创 2024-09-05 20:25:00 · 891 阅读 · 0 评论 -
kubernetes 中 利用yaml文件部署应用
参数名称类型参数说明versionString这里是指的是K8S API的版本,目前基本上是v1,可以用kubectl api-versions命令查询kindString这里指的是yaml文件定义的资源类型和角色,比如:PodmetadataObject元数据对象,固定值就写metadataString元数据对象的名字,这里由我们编写,比如命名Pod的名字String元数据对象的命名空间,由我们自身定义SpecObject详细定义对象,固定值就写Speclist。原创 2024-09-05 01:01:17 · 1647 阅读 · 0 评论 -
kubernetes中的资源管理
在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中。kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在Pod中,而kubernetes一般也不会直接管理Pod,而是通过Pod控制器来管理Pod的。原创 2024-09-04 20:34:59 · 1025 阅读 · 0 评论 -
Kubernetes 简介及部署方法
目录1 Kubernetes 简介及原理1.1 应用部署方式演变1.2 容器编排应用1.3 kubernetes 简介1.4 K8S的设计架构1.5 K8S 各组件之间的调用关系1.6 K8S 的 常用名词感念1.7 k8S的分层架构2 K8S 集群环境搭建2.1 k8s 中容器的管理方式2.2 k8s中使用的几种管理容器的介绍3 kubernetes 的环境部署3.1 实验环境准备3.1.1 所有机子配置dns解析 3.1.2 部署docker3.1.3 k8s 所有机子都需执行,指定仓库地址 3.1.4原创 2024-09-03 03:14:30 · 1697 阅读 · 0 评论