
k8s
文章平均质量分 73
是小V呀
Linux 运维 | K8S | 云原生 | DevOps | 数据库
关注Docker、K8S、Prometheus 监控、数据库管理等技术,分享实战经验与最佳实践。
主要发布运维自动化、K8S 部署、数据库优化等干货文章,帮助开发者和运维工程师高效解决问题。
持续学习,记录成长,欢迎交流探讨!
展开
-
使用istio实现权重路由
*概述:**Istio 是一个开源的 服务网格(Service Mesh)解决方案,主要用于管理、保护和监控微服务架构中的服务通信。它为微服务提供了基础设施层的控制功能,不需要更改应用程序的代码,从而解决服务之间的安全性、流量管理、可观察性等问题**工作机制:**通过在每个服务的旁边部署一个(通常是 Envoy)。这个代理会拦截所有进出该服务的流量,并将其发送到 Istio 的控制平面进行管理和监控。应用程序本身不需要进行修改,所有的功能都通过配置管理。原创 2025-02-03 15:05:19 · 1034 阅读 · 0 评论 -
K8S的探针说明和使用方式
K8S中探针(Probes)是用于检查容器的健康状况和可用性的机制。探针可以自动判断应用的运行状态,并根据需要重启容器、替换容器或将流量路由到健康的实例。从而确保应用始终处于健康、可用的状态,并帮助自动化故障恢复原创 2025-01-19 23:49:23 · 1171 阅读 · 0 评论 -
pod生命周期和pod的优雅终止
postStart是在容器创建后执行的钩子函数,执行的时机是在容器启动后,用户定义的进程开始运行之前。常见的使用场景包括但不限于:初始化任务:例如,为容器中的应用程序创建配置文件或数据库表设置环境:为容器的应用程序准备环境,如初始化网络、存储或依赖服务健康检查:执行容器启动前的自定义健康检查如果postStart钩子执行成功,容器进程才会正常启动。如果钩子执行失败,容器将被标记为启动失败,并且 Kubernetes 会按照重启策略进行处理。postStart钩子可以是同步或异步的。原创 2024-12-29 23:23:21 · 517 阅读 · 0 评论 -
K8S中,pod的创建流程
OCI(Open Container Initiative)是一个由docker社区发起的项目,Docker、containerdCNI(Container Network Interface)网络配置:为容器分配IP地址、配置网络接口、设置路由CSI(Container Storage Interface),存储卷的创建与删除:支持动态创建和删除持久存储卷。卷的挂载与卸载:将存储卷挂载到容器中,使得容器能够读写数据。原创 2024-12-28 01:06:44 · 564 阅读 · 0 评论 -
helm函数
在 Helm 中,default 函数用于为变量提供默认值,以确保模板渲染不会因为变量未定义或为空值而失败在 Helm 模板中,toYaml 函数用于将变量转换为 YAML 格式的字符串。结合 nindent 函数,可以自动添加缩进,保持模板的可读性和结构的正确性,特别是在嵌套字段较多时大大简化书写with 语句使模板进入一个指定的上下文,从而简化对嵌套结构的访问原创 2024-12-25 23:59:48 · 699 阅读 · 0 评论 -
helm的常见使用方式
1.删除之前的helm,增加文件,内容如下欢迎使用wzy自定义Chart程序,当前的Chart版本号是: {{.Chart.Name}}:{{.Chart.Version}}正在使用的 应用 版本号为: {{.Chart.Name}}:{{.Chart.AppVersion}}当前的release名称: {{.Release.Name}}名称空间: {{.Release.Namespace}}修订版本: {{.Release.Revision}}原创 2024-12-24 00:45:31 · 480 阅读 · 0 评论 -
helm的介绍和安装
1.1 资源对象难以管理的问题helm是k8s资源清单的管理工具,它就像Linux下的包管理器,比如centos的yum,ubuntu的apthelm:命令行工具,主要用于k8s的chart的创建,打包,发布和管理。chart:应用描述,一系列用于描述k8s资源相关文件的集合。release:基于chart的部署实体,一个chart被helm运行后会生成一个release实体。这个release实体会在k8s集群中创建对应的资源对象。原创 2024-12-23 23:59:30 · 562 阅读 · 0 评论 -
K8S中的服务质量QOS
在 K8S 中,Pod 的 QoS(Quality of Service,服务质量) 是指对 Pod 资源(如 CPU、内存等)分配的一种分类机制,根据资源请求和限制的设置,确定 Pod 的优先级和资源调度策略原创 2024-12-22 23:58:04 · 506 阅读 · 0 评论 -
K8S中的PV、PVC介绍和使用
persistent volume claims持久卷声明,声明了应用程序所需要的存储大小、访问模式(如只读或读写)等。PVC 通过匹配已有的 PV 来获取存储资源,从而为容器提供所需的存储空间。如果有多个PV,那么PVC会择优匹配。原创 2024-12-22 01:40:01 · 954 阅读 · 0 评论 -
K8S使用hostpath、NFS作为volumes案例
卷通过将宿主机文件系统上的路径挂载到 Pod 中,使得 Pod 内的容器可以访问该路径。1.创建一个pod,然后在 pod调度到的节点创建目录:/hostpath-test。可以实现pod访问宿主机上特定的日志文件或数据目录。可以实现在宿主节点和 Pod 之间共享数据。3.查看worker233节点数据被保留了。2.进入pod写入数据,然后删除pod。原创 2024-12-10 23:15:13 · 679 阅读 · 0 评论 -
K8S的常见volumes存储卷
emptydir是一种 K8S的一种存储卷类型,通常用在一个 Pod 中的多个容器之间共享数据挂载主机文件系统中的目录或文件。pod调度到节点,就会占用对应节点的目录从 ConfigMap 中挂载配置数据原创 2024-12-10 01:20:06 · 526 阅读 · 0 评论 -
K8S对接ceph的RBD块存储
说明请阅读往期的ceph文章,本篇基于之前的ceph。K8S支持多种外部存储,当让ceph的RBD也是支持的。那么要如何使用?原创 2024-12-07 00:39:10 · 1387 阅读 · 0 评论 -
K8S的ingress介绍和安装ingress
在没有ingress之前,只能基于svc的NodePort或者LoadBalancer实现内部的pod对外访问,如果遇到多个服务要监听80端口时。很明显无论哪种类型都无法实现,如果非要实现,就得在K8S集群外部部署一个LB设备,来代理到对应svc资源。而ingress就可以很好的解决这个问题。例如nginx的一个80端口可以给多个实例使用所谓的ingress指的是一种规则,基于用户访问的请求头路由到正确的svc。简单来说说就是7层代理。原创 2024-12-05 00:19:06 · 1748 阅读 · 0 评论 -
Ubuntu修改kube-proxy的工作模式为ipvs
如果首次安装集群时没有安装对应的ipvs模块,K8S的kube-proxy 默认是 iptables模式。查看kube-proxy的默认代理模式默认采用了iptables方式。8.验证kube-proxy组件工作模式生效 ,可以看到 IPVS 关键字。说明kube-proxy的工作模式已经切换为了IPVS。7.master节点操作:删除旧的kube-proxy pod,然后会创建新的kube-proxy pod,这样才会生效。4.在master节点操作:修改kube-proxy的工作模式为ipvs。原创 2024-12-04 20:26:35 · 341 阅读 · 0 评论 -
K8S资源之secret资源
secret资源用于敏感数据存储,底层基于base64编码,数据存储在etcd数据库中数据库的用户名,密码,tls的证书ssh等服务的相关证书。原创 2024-12-02 01:15:14 · 713 阅读 · 0 评论 -
Container image .... already present on machine 故障排除
2查看配置文件发现了什么?没错2个一样的镜像,即使你使用不同相同的镜像,如果2这个镜像是换皮班,也就是说没有重新 build,只是正在运行的镜像改了一下配置文件,然后就 docker commit,就会导致。images 大部分内容相似而冲突。谋篇文章居然要付费,肯定不可以接受。于是研究了30min,给此故障解决了。3如果遇到了类似的情况,建议 重新的制作镜像。原创 2024-11-27 23:05:41 · 898 阅读 · 0 评论 -
K8S pod排障大全
K8S pod超详细排障转载 2024-11-23 19:57:46 · 53 阅读 · 0 评论 -
K8S资源限制之LimitRange
LimitRange也是一种资源,在名称空间内有效;限制同一个名称空间下pod容器的申请资源的最大值,最小值pod的resources中requests和limits必须在这个范围内,否则pod无法创建。当然pod也可以不使用resources进行创建range可以设置为一个默认值type: 限制对象可以是 ontainer、Pod、PersistentVolumeClaim。原创 2024-11-19 13:05:53 · 797 阅读 · 0 评论 -
K8S资源限制之ResourceQuota
在K8S中,大部分资源都可以指定到一个名称空间下,因此可以对一个名称空间的计算资源,存储资源,资源数量等维度做资源限制。如限制pod数量、svc数量,控制器数量,限制PVC请求的存储量注意事项多个quota资源只要满足其中任意一个都会被限制,quota基于名称空间的粒度进行限制,无法做到一个名称空间下针对某个pod进行限制名称空间使用quota进行了资源量请求限制,创建pod时必须指定pod的资源请求和限制。否则quota会拒绝创建。原创 2024-11-16 19:54:42 · 832 阅读 · 0 评论 -
K8S资源限制之resources
resources用于定义容器的计算资源请求和限制。这些资源包括 CPU 和内存。即保证pod有足够的资源使用,但又不会超出限制。如果没有配置资源限制,pod就会使用宿主机的全部资源。配置了显示的话,pod资源请求超过限制会被K8S杀死或重新调度关于请求和限制的详细解释请求是容器启动时需要的最低资源量,K8S 会根据请求来调度容器到合适的节点。如果节点上没有足够的资源,容器就无法调度到该节点。那么pod就会处于pending状态。请求用于确保容器始终有足够的资源可以使用。原创 2024-11-15 19:00:50 · 1510 阅读 · 0 评论 -
K8资源之endpoint资源&EP资源
endpoint资源在K8S中用来表s示vc与后端 Pod 之间的连接关系的对象。当创建svc时,svc根据标签是否相同或svc名字是否和ep名字相同,把svc和ip关联上。删除svc时,会自动的删除同名的ep资源。原创 2024-11-11 00:19:05 · 418 阅读 · 0 评论 -
configmap挂载到pod和subpath的用法
讲述configmap如何挂载到pod并使用,如果1个configmap有多个数据字段,通过items获取指定数据。subpath可以挂载为一个文件,如何正确挂载呢?原创 2024-11-10 01:36:56 · 411 阅读 · 0 评论 -
kube-proxy的3种工作模式
kube-proxy的3中工作模式,user-space,iptables,ipvs原创 2024-11-02 23:36:10 · 927 阅读 · 0 评论 -
Centos7系统基于kebeadm快速部署K8S
Centos7系统基于kebeadm快速部署K8S,flannel为网络插件,容器运行时为docker.3个节点。原创 2024-10-28 14:09:15 · 395 阅读 · 0 评论 -
Ubuntu22.04二进制部署K8S1.30高可用集群
使用Ubuntu22.04二进制部署K8S 1.30高可用集群,CNI为calico。3个master,+2个worker节点。原创 2024-10-27 18:16:53 · 1267 阅读 · 0 评论 -
K8S资源介绍之configmap
什么是configmap,如何创建和使用configmap,本次介绍了环境变量的形式使用原创 2024-11-08 23:56:00 · 607 阅读 · 0 评论 -
k8s安全框架RBAC
介绍K8S的RBAC,和丰富的授权案例。以及dashboard组件如何部署授权原创 2024-11-04 01:17:12 · 886 阅读 · 0 评论 -
K8S的静态pod
介绍了什么是静态pod以及如何创建静态pod原创 2024-10-27 00:02:04 · 469 阅读 · 0 评论