
k8s
文章平均质量分 59
zenglingmin8
这个作者很懒,什么都没留下…
展开
-
prometheus基于k8s API服务发现
本文主要讲解关于prometheus 基于k8s API的服务发现原创 2022-03-20 23:33:45 · 688 阅读 · 0 评论 -
prometheus钉钉告警
本文主要讲述prometheus钉钉告警相关内容原创 2022-03-10 22:47:47 · 1051 阅读 · 0 评论 -
prometheus邮件告警
本文主要讲解prometheus邮件告警相关内容原创 2022-03-10 22:27:57 · 452 阅读 · 0 评论 -
Metrics-Server
Metrics-Server原创 2022-01-19 16:41:10 · 1739 阅读 · 0 评论 -
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 评论 -
helm 2.15
一、Helm 客户端安装Helm 的安装方式很多,这里采用二进制的方式安装。更多安装方法可以参考 Helm 的官方帮助文档。方式一:使用官方提供的脚本一键安装curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh$ chmod 700 get_helm.sh$ ./get_helm.sh方式二:手动下载安装#从官网下载最新版本的二进制安装包到本地:https://github.co原创 2021-05-27 00:48:08 · 316 阅读 · 0 评论 -
k8s中imagePullSecrets
在k8s集群的使用过程中,初学者可能会碰到这样的(怪异)问题:在一个k8s集群里,部署服务(用的私有镜像仓库,如harbor)的时候,只有个别node的服务是部署成功的,其他都是部署失败的,错误的原因就是镜像拉取失败,如下:kubectl get pods -A -owide |grep jenkins-demodevlopment jenkins-demo-67d4f9d666-2fh8k 1/1 Running 0 27原创 2021-05-24 19:58:07 · 2376 阅读 · 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 评论