
kubernetes
文章平均质量分 76
王佑辉
个人笔记,多谢指正,不喜勿喷
展开
-
【kubernetes】pod资源配额
3.LimitRange 可以为命名空间中的 Pod 和容器设置默认的资源请求和限制,并定义资源的最小值和最大值。1.在 Kubernetes 中,Pod 资源配额用于限制命名空间中可以消耗的计算资源(如 CPU 和内存)总量,以防止某个命名空间过度占用集群资源,确保资源在多个团队或项目之间公平分配。2.限制资源请求和限制:可以限制 Pod 的资源请求(requests)和限制(limits)的总和。1.限制资源总量:可以限制命名空间中所有 Pod 的 CPU、内存、存储等资源的总量。原创 2025-04-20 21:31:04 · 375 阅读 · 0 评论 -
【kubernetes】pod.spec.containers.ports的介绍
1.在 Kubernetes 中,pod.spec.containers.ports 是 Pod 定义中用于配置容器端口映射的字段,其作用是声明容器需要监听的端口以及如何将这些端口暴露给 Pod 的外部访问。3.示例 3:指定端口名称和协议,容器将监听 80 端口(HTTP)和 9153 端口(UDP),并分别命名为 http 和 metrics。2.示例 2:暴露到主机端口,容器将监听 8080 端口,并将其映射到主机的 80 端口。1.示例 1:基本端口配置,容器将监听 80 端口,但未暴露到主机。原创 2025-04-17 19:19:35 · 583 阅读 · 0 评论 -
【kubernetes】BusyBox
3.替代方案:对于更复杂的调试任务,可以考虑使用专门的调试工具(如 kubectl debug 或 kubectl cp 复制调试脚本)。1.体积小:相比完整的 Linux 发行版(如 Ubuntu 或 CentOS),BusyBox 镜像体积更小,适合资源受限的环境。1.场景:在 Kubernetes 集群中,开发者或运维人员需要快速检查 Pod 的状态、文件系统或网络连接。2.功能齐全:尽管体积小,但 BusyBox 提供了大多数常用的 Unix 工具,足以满足基本的调试需求。原创 2025-04-04 21:34:42 · 548 阅读 · 0 评论 -
【kubernetes】pod拉取镜像的策略
1.在 Kubernetes 中,Pod 拉取镜像的策略由 imagePullPolicy 字段控制,该字段决定了在启动或重启容器时是否从镜像仓库拉取新的镜像版本。2.对于需要定期更新的容器镜像,可以考虑使用定时任务或 CI/CD 流水线来自动更新镜像,并触发 Kubernetes 重新创建容器。1.描述:如果本地镜像存在,首先尝试使用本地镜像启动容器。如果容器启动失败(例如,因为镜像损坏或不兼容),则尝试从远程仓库拉取镜像。如果本地已经存在同名的镜像,则直接使用本地镜像,不会尝试拉取更新。原创 2025-04-02 20:52:41 · 427 阅读 · 0 评论 -
【kubernetes】pod的资源配置清单
4.restartPolicy:定义了在容器停止时的重启策略,如“Always”(总是重启)、“OnFailure”(仅在失败时重启)或“Never”(从不重启)。1.定义:存储了Pod的运行状态,如Pod IP地址、容器状态、节点名称等。1.在Kubernetes中,Pod的资源配置清单是用于定义Pod的资源需求和限制的详细描述。1.定义:定义了Pod的具体规格或配置,包括容器的行为、资源需求、存储卷等。1.定义:Pod中容器的定义部分,包括容器名称、镜像、端口、资源限制等。原创 2025-03-31 21:32:34 · 769 阅读 · 0 评论 -
【kubernetes】service
4.Endpoints Controller会持续监听Service和对应的Pod副本列表的变化,在Pod列表发生变化时,实时更新对应的Service的Endpoints对象。3.同时,能够感知集群的DNS服务器(例如CoreDNS)会监视Kubernetes API中的新Service,并为每个Service创建一组DNS记录。1.ExternalName类型的Service将Service的名称映射到一个外部域名,使得集群内部可以通过这个Service名称来访问外部的域名。原创 2025-03-08 19:09:41 · 1028 阅读 · 0 评论 -
【kubernetes】Deployment
1.用户通过Deployment可以定义Pod的期望状态,包括Pod的数量、镜像版本、资源限制等。2.Deployment控制器会根据这个期望状态来创建、更新或删除Pod,以保持实际状态与期望状态一致。原创 2025-03-08 15:47:24 · 723 阅读 · 0 评论 -
【kubernetes】Label
4.在这个Service定义中,selector字段指定了两个Label,即app=nginx和environment=production,这意味着只有符合这两个条件的Pod才会被选中作为服务的后端实例。3.Label是附加到Kubernetes资源(如Pod、Service、Node等)上的键对值标识符,提供了额外的元数据信息,但不会直接影响对象的功能和行为。5.节点亲和性和反亲和性:利用Node上的Label,可以设置Pod的调度策略,确保它们运行在特定条件满足的节点上。原创 2025-02-07 11:52:03 · 853 阅读 · 0 评论 -
【kubernetes】pod
1.检查镜像名称和存在性、确认端口配置无冲突、查看节点资源使用情况并调整Pod资源请求和限制、检查container的command和args以及日志输出、确认容器内的文件和目录存在且权限正确、检查环境变量设置、检查依赖服务的状态和配置等。:Pod可以包含一个或多个容器。多容器Pod则包含多个容器,这些容器共享资源,协同工作,如主容器和辅助容器(SideCar)。3.当 Pod 进入 Failed 状态时,Kubernetes 将停止所有容器并释放相关资源,但通常会保留 Pod 的状态和日志以供排查问题。原创 2025-01-06 18:01:29 · 778 阅读 · 0 评论 -
【kubernetes】namespace
每个租户只能在自己的 Namespace 内创建和管理资源,无法访问其他 Namespace 的资源。3.资源监控和日志记录:在 Namespace 级别进行资源监控和日志记录可以简化管理,因为可以针对特定的 Namespace 进行资源使用分析和问题排查。2.使用 kubectl describe namespace 查看指定 Namespace 的详细信息。:通过将资源分组到不同的 Namespace 中,可以实现资源的逻辑隔离,避免资源之间的冲突和影响。原创 2025-01-05 17:14:15 · 514 阅读 · 0 评论 -
【kubernetes】声明式对象配置
5.Kubernetes的声明式对象配置是一种强大且灵活的对象管理方法,适用于各种规模和复杂度的Kubernetes集群。1.Kubernetes的声明式对象配置是一种通过配置文件来定义、创建、更新和删除Kubernetes对象的方法。4.对象配置文件:定义Kubernetes对象配置的文件,通常存储在源代码控制系统中,如Git。2.复杂性管理:适用于复杂对象的配置和管理,因为可以通过配置文件清晰地描述对象的所有属性和关系。1.配置文件的正确性:确保配置文件的语法和格式正确,以避免创建或更新对象时出错。原创 2025-01-04 13:55:26 · 357 阅读 · 0 评论 -
【kubernetes】命令式对象配置
2.通过 kubectl,你可以创建、查看、修改和删除Kubernetes中的各种资源(如Pods、Services、Deployments等)。1.kubectl create:用于创建新的Kubernetes资源。3.kubectl describe:显示资源的详细信息。1.kubectl set:更新现有资源的某些字段。3.kubectl edit:直接编辑资源的配置。1.kubectl delete:删除指定的资源。1.kubectl get:列出集群中的资源。原创 2025-01-01 13:05:45 · 256 阅读 · 0 评论 -
【kubernetes】kubectl命令
1.kubectl patch [type] [name] --type=‘json’ -p=‘[{“op”: “replace”, “path”: “/spec/replicas”, “value”:N}]’:通过补丁方式修改资源对象字段。1.kubectl autoscale [type] [name] --cpu-percent=M --min=N --max=P:根据CPU使用率自动调整Pod的数量。1.kubectl logs [pod-name]:输出Pod中容器的日志。原创 2024-12-29 16:08:32 · 840 阅读 · 0 评论 -
【kubernetes】命令式对象管理
2.在较新版本的Kubernetes中,kubectl run命令的语法可能有所变化,建议使用kubectl create pod或kubectl apply -f配合YAML文件来创建Pod。2.定义:Kubernetes命令式对象管理是指使用kubectl命令行工具中的命令来直接创建、更新、删除和查看Kubernetes集群中的资源对象。1.kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。6.flags:指定额外的可选参数。原创 2024-12-29 15:47:31 · 320 阅读 · 0 评论 -
【kubernetes】资源管理方式
常见的flags包括-n或–namespace用于指定命名空间,-o或–output用于指定输出格式(如yaml、json),–dry-run用于预览操作而不实际执行等。3.声明式对象配置:优点在于通过配置文件描述了资源的期望状态,使得资源的管理更加直观和易于理解。2.用户需要编写一个YAML或JSON格式的配置文件,然后使用kubectl命令配合该配置文件来创建、更新或删除资源。名称也是区分大小写的。5.这种方式的好处是用户可以更容易地管理资源的状态,因为配置文件描述了资源的期望状态。原创 2024-12-15 16:05:10 · 2510 阅读 · 0 评论 -
【kubernetes】kubectl get nodes报NotReady
5.从github上下载得到flannel后,拷贝到/opt/cni/bin,通过journalctl -f -u kubelet查看日志会报错没有权限,然后执行sudo chmod -R 777 /opt/cni/bin/flannel赋予权限。3.通过翻墙下载到对应的镜像,上传到指定目录,通过docker load -i 文件名.tar的方式加载镜像。1.通过官网的kube-flannel.yml地址下载,下载不了,网上搜了一份对应v1.17.4版本的kube-flannel.yml文件。原创 2024-12-14 15:46:27 · 678 阅读 · 0 评论 -
【kubernetes】概念
3.Namespace:用于隔离集群中的资源,不同的Namespace可以有相同的资源名称。Service定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。6.Node:工作负载节点,由master分配容器到这些node工作节点上,node节点上的docker负责容器的运行。7.Controller:控制器,实现对pod的管理,比如启动pod、停止pod、伸缩pod的数量。8.Service:pod对外服务的统一入口,下面可以维护者同一类的多个pod。原创 2024-12-07 13:40:03 · 290 阅读 · 0 评论 -
【kubernetes】kubernetes各组件的调用关系
1.:Kubernetes集群的API服务器,负责处理来自客户端的RESTful API请求,包括创建、更新、删除和查询资源等。2.etcd:一个高可用的键值存储系统,用于存储Kubernetes集群的所有持久化数据,如Pod的配置、状态等。3.:负责根据调度算法和资源需求,将Pod调度到合适的节点上运行。4.:包含多个控制器,用于监控集群状态,并根据集群状态的变化自动调整资源,确保集群始终处于期望的状态。原创 2024-11-24 22:42:21 · 1382 阅读 · 0 评论 -
【kubernetes】kubernetes的组件
3.Kubernetes还有其他一些重要的组件和概念,如Pod(最小部署单元)、Service(为Pod提供稳定访问地址的抽象)、Deployment(用于管理Pod副本的资源对象)等,它们共同构成了Kubernetes的强大功能体系。1.插件是扩展Kubernetes集群功能的组件,通常运行在kube-system命名空间中,提供额外的功能和服务,使集群更加全面和灵活。2.维护节点上的网络规则,支持服务的负载均衡和网络转发,确保Pod之间的网络通信顺畅。原创 2024-11-24 20:03:59 · 840 阅读 · 0 评论 -
【kubernetes】kubernetes简介
它是Kubernetes控制平面的前端。2.微服务架构:Kubernetes可以支持微服务架构的应用部署和管理,自动管理微服务的部署、扩展和升级,同时还提供了负载均衡、服务发现和服务注册等功能。2.Kubernetes是Google的Borg系统的开源版本,Borg是一个大规模集群管理系统,对Google服务的稳定性和规模化起到了关键作用。4.高可用性和容错性:Kubernetes提供了一系列的机制来确保应用的高可用性和容错性,如自动重新启动失败的容器、容器自愈和自动修复等。原创 2024-11-24 19:32:28 · 768 阅读 · 0 评论