
k8s
文章平均质量分 66
katy的小乖
不断学习
展开
-
mongo:5.0:error while loading shared libraries: libc.musl-x86_64.so.1: cannot open shared object
mongo:5.0 error while loading shared libraries: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory原创 2021-12-29 18:49:41 · 3311 阅读 · 0 评论 -
pod健康检查promql:pod 处于非ready告警,增加pod所在的节点ip
pod 处于running状态并不代表可以正常接收请求,只有当pod对应的status中condition为true才代表能正常接收请求。以下表达式是在1分钟之内pod处于非ready状态的promqlmin_over_time(sum by (namespace, pod, prometheus_replica, instance, node) (kube_pod_status_ready{condition!='true', pod =~ '^<.svcName>.*', na.原创 2021-12-11 22:23:31 · 1841 阅读 · 0 评论 -
pod一直处于ContainerCreating,event显示cannot allocate memory
kd pod看到的event为:Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling原创 2021-09-13 15:31:35 · 1685 阅读 · 0 评论 -
prometheus-adapter自定义hpa
prometheus-adapter支持自定义hpa部署报错新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入部署报错F0724 01:09:56.467097 1 adapter.go:309] unable原创 2021-08-03 18:53:26 · 2749 阅读 · 0 评论 -
kubelet上报的container相关指标总是莫名缺少相应的label值,如image, pod, name等
k8s集群中container监控指标有label但是没有value现象原因排查解决现象无法获取到以下label的值:container, image, pod, name集群刚搭建完的时候一切都是正常的,后来运行一段时间后就缺这缺那的。原因排查由于这些指标是kubelet上报的,因此看了对应节点上kubelet的日志,发现kubelet日志一直在报错。centos系统cat /var/log/messages |grep "Failed"Jul 19 17:37:51 m1 kube原创 2021-07-21 17:01:26 · 2212 阅读 · 1 评论 -
grpc client No connection could be made because the target machine actively refused it
grpc client No connection could be made because the target machine actively refused it禁用防火墙查看yaml中暴露的端口与Dockerfile中暴露的端口是否一致禁用防火墙检查防火墙是否开启systemctl status firewalld如果防火墙打开,则关闭systemctl stop firewalld禁用防火墙systemctl disable firewalld查看yaml中暴露的端口与D原创 2021-06-26 14:32:25 · 981 阅读 · 0 评论 -
ocp3.11部署prometheus-operator:v0.34.0,并使用prometheus-adapter做hpa
环境ocp3.11prometheus-operator安装ocp3.11的时候会默认安装与3.11匹配的prometheus-operator。我想使用prometheus-operator的remote write功能,但是这个默认安装的prometheus-operator不支持。于是就开始折腾把k8s中的prometheus-operator v0.34.0给安装到ocp3.11中。大部分yaml文件都是可以直接跑的,只有小部分yaml需要手动调整。需要调整的yaml说明原创 2021-04-26 12:06:34 · 538 阅读 · 0 评论 -
Invalid settings supplied for DEFAULT_LOCAL_TMP: Unable to create local directories(/.ansible)
最近在k8s中使用ansible相关的镜像跑了一个Job。对应的Job为这个Job里面挂载了之前已经生成好的ConfigMap。Job对应的镜像是别的同事给的。jobData := &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "batch/v1", "kind": "Job", "metadata": map[string]interface{}{原创 2021-02-19 09:53:08 · 1610 阅读 · 0 评论 -
在go mod中使用k8s.io/code-generator生成代码
准备工作- 创建项目crd- 在项目下创建pkg/apis/foo/v1目录- 在pkg/apis/foo下创建register.go- 在pkg/apis/foo/v1下创建doc.go, types.go, register.go- copy https://github.com/kubernetes/code-generator.git到$GOPATH/src/k8s.io下(我用的是release-1.16分支。如果需要特定的分支则先切换分支再继续) 1. cd 到cmd/...原创 2020-12-23 15:37:06 · 3921 阅读 · 0 评论 -
prometheus-operator中grafana开启匿名登录
为了把grafana接入大公司自己的平台,每次都需要登录很麻烦,看了grafana官网文档是可以开启匿名登录的。prometheus-operator 中grafana的配置文件是默认的,想要开启匿名登录就得修改grafana.ini文件。通过configmap的方式挂载到grafana中,就不再担心grafana pod重启后配置被还原的问题了。## grafana开启匿名登录 1. 准备grafana.ini配置文件 ```` 准备grafana.ini,修改[.原创 2020-12-03 10:45:05 · 1023 阅读 · 2 评论 -
prometheus-operator监控集群外的docker服务
这个主题网上可以搜到好多内容,如果直接照抄过来,还是不好用,应该是我没掌握原理。10.10.14.2这个服务器并不在集群内,这个服务器上面跑的服务都是docker起的。prometheus-operator部署在集群内,想要通过prometheus-operator监控10.10.14.2这个服务器上的docker服务,以及该服务器本身的指标。docker服务使用cadvisor来暴露指标,服务器本身的指标使用node-exporter来暴露。首先在10.10.14.2这个服务器部署cad...原创 2020-11-14 23:59:22 · 1057 阅读 · 0 评论 -
k8s v1.16设置Job ttlSecondsAfterFinished不生效
目录Completed的job默认不会清理配置自动清理jobttl机制自动清理完成的jobttl controller开启TTLAfterFinishedkube-apiserver开启TTLAfterFinishedkube-controller-manager开启TTLAfterFinished重启kubeletCompleted的job默认不会清理Job在处于Completed后,默认是不会被清理的。https://v1-16.docs.kubernet.原创 2020-10-29 17:06:04 · 4269 阅读 · 0 评论 -
Kaniko push 镜像到私有镜像仓库
目录创建ns私有镜像仓库需要账号密码创建docker-registry secret查看刚刚生成的secret对secret进行base64解码使用Local Directory作为build contexthostpath方式pvc方式创建ns把所有与kaniko相关的全部放在kaniko这个ns下。kubectl create ns kaniko私有镜像仓库需要账号密码创建docker-registry secret// docker-ema.原创 2020-08-26 20:40:50 · 2782 阅读 · 0 评论 -
k8s hpa计算
hpa targets计算核心代码代码位置:github.com/kubernetes/pkg/controller/podautoscaler/metrics/utilization.go遍历metrics,如果当前podName没有设置request则跳过。把每个podName对应的metrics的value累加得到metricsTotal, 把每个podName对应的request累加得到requestsTotal。当前pod资源使用情况:currentUtilization =...原创 2020-08-12 00:22:52 · 1145 阅读 · 0 评论 -
k8s - nfs 绑定的pod一直处于ContainerCreating状态
目录volume.yamlpod绑定pvcpod绑定了pvc后,一直处于ContainerCreating状态describe pod看到报错说挂载失败查看nfs的共享目录配置nfs共享目录更新volume.yaml节点安装apt-get install nfs-commonvolume.yamlapiVersion: v1kind: Persiste...原创 2020-04-16 18:18:59 · 2425 阅读 · 0 评论 -
k8s.io/code-generator操作
教程办法源码位置:${GOPATH}/src/k8s-crdk8s.io/code-generator位置:${GOPATH}/src/k8s.io按照code-generator的提示操作的,报错了[root@node-01 code-generator]# ./generate-groups.sh all k8s-crd/pkg/client \> k8s-cr...原创 2020-03-19 10:20:23 · 2951 阅读 · 5 评论 -
k8s 资源类型缩写
关于k8s资源类型和缩写资源类型 缩写 描述 clusters componentstatuses cs configmaps cm daemonsets ds deployments deploy endpoints ep event ev ...转载 2019-11-05 16:10:37 · 2829 阅读 · 0 评论 -
telegraf监控k8s服务健康状态
部署influxdb// todo部署telegrafspep1: 拉telegraf:1.12.2+的镜像docker pull telegraf:1.12.2step2:准备telegraf的configMap注意替换你的influxdb地址step3:准备telegraf的ds yamlstep4: 准备rabc授权的yaml...原创 2019-11-04 15:09:57 · 1833 阅读 · 0 评论 -
k8s 存活探针LivenessProbe
目录为什么需要存活探针k8s容器探测机制http gettcp socketexec给pod添加存活探针:livenessProbe查看pod存活探针信息livenessProbe描述添加livenessProbe参数为什么需要存活探针如果没有探针,k8s无法知道应用是否还活着,只要进程还在运行,k8s则认为容器是健康的。k8s容器探测机制ht...原创 2019-09-28 16:40:36 · 26518 阅读 · 0 评论 -
telegraf采集k8s pod指标
官方文档:https://docs.influxdata.com/telegraf/v1.11/plugins/plugin-list/#kubernetes原创 2019-09-04 11:44:05 · 1734 阅读 · 0 评论