
kubernetes
文章平均质量分 61
zenglingmin8
这个作者很懒,什么都没留下…
展开
-
prometheus基于文件服务发现
本文主要讲解关于prometheus基于文件服务发现原创 2022-03-20 23:26:02 · 916 阅读 · 3 评论 -
kubelet cgroup driver: \“systemd\“ is different from docker cgroup driver: \“cgroupfs\“
kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\"原创 2022-01-15 11:14:56 · 3715 阅读 · 1 评论 -
认识PV/PVC/StorageClass
本文主要讲解pv、pvc、storageclass相关内容原创 2021-12-06 00:07:24 · 2346 阅读 · 0 评论 -
k8s之Qos(服务质量)
k8s之Qos(服务质量)1. Qos简介QoS的英文全称为"Quality of Service",中文名为"服务质量"。在kubernetes中,每个POD都有个QoS标记,通过这个Qos标记来对POD进行服务质量管理,它确定Pod的调度和驱逐优先级。它取决于用户对服务质量的预期,也就是期望的服务质量。对于POD来说,服务质量体现在两个指标上,一个指标是CPU,另一个指标是内存。在实际运行过程中,当NODE节点上内存资源紧张的时候,kubernetes根据POD具有的不同QoS标记,采取不同的处理策原创 2021-11-04 22:52:06 · 2960 阅读 · 2 评论 -
k8s存储
k8s存储主要通过k8s volume来实现默认情况下容器中的磁盘文件是非持久化的,对于运行在容器中的应用来说面临两个问题,第一:当容器挂掉kubelet将重启启动它时,文件将会丢失;第二:当Pod中同时运行多个容器,容器之间需要共享文件时。Kubernetes的Volume解决了这两个问题。背景在Docker中也有一个docker Volume的概念 ,Docker的Volume只是磁盘中的一个目录,生命周期不受管理。当然Docker现在也提供Volume将数据持久化存储,但支持功能比较少(例如,对转载 2021-08-08 23:47:08 · 742 阅读 · 0 评论 -
k8s常见问题汇总
问题一pv删除不了,命令hang住kubectl delete -f zk-pv.yaml persistentvolume "k8s-pv-zk01" deletedpersistentvolume "k8s-pv-zk02" deletedpersistentvolume "k8s-pv-zk03" deleted^C查看pv一直处于Terminating状态kubectl get pvNAME CAPACITY ACCESS MODES RECLAI原创 2021-08-03 19:05:31 · 346 阅读 · 0 评论 -
harbor资源回收
某次Jenkins项目一直处于构建状态,查看构建日志,信息如下:+ docker push dev-hub.xxxxx.net/vip-app/xxxxx-platform:10The push refers to repository [dev-hub.xxxxx.net/vip-app/xxxxx-platform]820e6ce3c0e1: Preparing032f160aae14: Preparing............820e6ce3c0e1: Retrying in 2 sec原创 2021-07-30 18:12:36 · 496 阅读 · 0 评论 -
no space left on device
本文针对的是以容器方式运行的服务,比如docker集群或k8s集群。某些时候,当我们通过jenkins发布服务时,会发布失败,Jenkins上提示:no space left on device(设备上空间不足),如下:根据报错信息很明显的可以看出,是容器运行的节点磁盘空间不足了。解决办法自然就是清理节点无用资源,留出足够的空间供容器资源运行。通常解决方法如下:删除悬空的镜像docker image prune -a -f说明:prune 命令用来删除不再使用的 docker 对象。其他pru原创 2021-06-27 14:50:02 · 807 阅读 · 0 评论 -
k8s pod频繁自动重启
问题描述:某个服务重启频率非常高,监控告警里产生了大量的“jvm内存超过limit 85%”和服务503告警jvm内存超警戒告警服务503不可用告警问题原因:该服务的jvm启动参数设置不合理排查思路:刚开始粗浅的认为是服务压力太大,于是增加pod数量,然而问题依旧查看服务运行状态,发现服务频繁重启查看该服务的pod资源配额配置进入容器,查看该服务的的jvm启动参数,发现最大堆内存设置竟然超过了pod资源配额的limit值调整jvm最大堆内存(Xmx)的值不超过原创 2021-06-16 18:27:02 · 5289 阅读 · 2 评论 -
k8s operater简介
在谈operater之前,我觉得有必要先回顾下k8s资源。k8s中将所有的资源抽象为内存,资源实例化之后称之为对象。资源大体上分为两大块:1.内资资源类型:工作负载型资源:Pod、Deployment、DeamonSet、ReplicationController(1.11版本后废弃)、ReplicaSet、StatefulSet、Job、CronJob服务发现及负载均衡型资源:Service、Ingress配置与存储型资源:Volume(存储卷)、CSI(容器存储接口,可以扩展各种第三方存储)原创 2021-06-10 20:25:19 · 1067 阅读 · 1 评论 -
k8s 亲和、反亲和、污点、容忍
个人觉得k8s 亲和、反亲和、污点、容忍其实没有明确的界限,主要还是看如何组合运用各种策略,来实现亲和或者反亲和。通常来说,污点就是用来实现反亲和的。亲和、反亲和亲和性的原理其实很简单,主要利用label标签结合nodeSelector选择器来实现:首先,给节点打上label标签#kubectl get nodes --show-labels |grep grayqc-app-16-161 Ready gray 205d v1.18原创 2021-06-10 00:24:40 · 669 阅读 · 0 评论 -
k8s集群中节点退出、重入
本文章基于kubeadm方式部署的k8s集群进行讲解,其他方式部署的k8s集群会有出入,不要照搬。在硬件升级,维护或节点出现异常等情况下,我们需要将某些剔除,使其脱离kubernetes集群的调度范围。一、节点退出(剔除)先将要剔除会退出的节点设置成不可调度状态,设置好之后节点状态上会多了一个 “SchedulingDisabled”标记,这样新创建的pod就不会网该节点调度kubectl cordon test-k8s-node05之后驱逐调节点上的podkubectl drain test原创 2021-06-09 19:02:43 · 5676 阅读 · 0 评论 -
k8s pod删不掉
问题现象:pod一直删除不掉问题起因:在pod运行过程中,修改了其deployment,导致pod一直删不掉操作过程:删除pod,删不掉强制删除pod,依然删除不了删除deployment,旧的pod依然删不掉,因为deployment已经发生变更查看pod的详情,发现如下内容kubectl get pods -n architect wx-xxx-luna-5b5755b69-zwrhb -oyamlapiVersion: v1kind: Podmetadata: annota原创 2021-05-28 18:16:06 · 1736 阅读 · 0 评论 -
二进制部署k8s1.18(下)
二进制部署相对其他部署方式来说要复杂一些,步骤比较多,为了避免篇幅过长,故拆分成了三篇:二进制部署k8s1.18(上)二进制部署k8s1.18(中)二进制部署k8s1.18(下)部署 kubelet 组件kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec、run、logs 等。kubelet 启动时自动向 kube-apiserver 注册节点信息,内置的 cadvisor 统计和监控节点的资源使原创 2021-05-23 15:06:20 · 629 阅读 · 0 评论 -
二进制部署k8s1.18(中)
二进制部署相对其他部署方式来说要复杂一些,步骤比较多,为了避免篇幅过长,故拆分成了三篇:二进制部署k8s1.18(上)二进制部署k8s1.18(中)二进制部署k8s1.18(下)部署高可用 kube-controller-manager 集群本文档介绍部署高可用 kube-controller-manager 集群的步骤。该集群包含 3 个节点,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节点不可用时,阻塞的节点将再次进行选举产生新的 lead原创 2021-05-23 12:45:44 · 377 阅读 · 0 评论 -
kubernetes部署kubecm
部署kubecmkubecm是一个k8s多集群配置管理工具,由 golang 编写,支持 Mac Linux 和 windows 平台,常用命令delete,rename, switch 提供比较实用的交互式的操作,目前的功能包括:add :添加新的 kubeconfig 到 $HOME/.kube/config 中completion :命令行自动补全功能delete:删除已有的 context ,提供交互式和指定删除两种方式merge:将指定目录中的 kubeconfig 合并为一个 kub原创 2021-05-15 12:23:33 · 708 阅读 · 0 评论 -
kubernetes部署metrics-server
metrics-server部署一、介绍在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存、磁盘、CPU和网络的使用率等信息。除了日常使用中kubectl top命令查看节点、pod内存、cpu资源需要用到这个组件外,kubernetes hpa也依赖于这个组件。 1、新版K8S资源使用情况的度量(如容器的 CPU 和内存使用)可以通过 Metrics API 获取。注意:Metrics API 只可以查询当前的原创 2021-05-15 12:18:31 · 436 阅读 · 0 评论 -
kubernetes自动伸缩
kubernetes中HPA(pod水平自动伸缩)一、介绍HPA的全称为(Horizontal Pod Autoscaling)它可以根据当前pod资源的使用率(如CPU、磁盘、内存等),进行副本数的动态的扩容与缩容,以便减轻各个pod的压力。当pod负载达到一定的阈值后,会根据扩缩容的策略生成更多新的pod来分担压力,当pod的使用比较空闲时,在稳定空闲一段时间后,还会自动减少pod的副本数量。二、扩缩容策略1. 通过伸缩系数判断是否要进行扩容或缩容HPA会根据获得的指标数值,应用相应的算法算原创 2021-05-15 10:40:58 · 503 阅读 · 0 评论