![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
文章平均质量分 58
bomekkkk
想进蚂蚁金服
展开
-
Kubebuilder 使用的一点小提示
背景最近在看使用kubebuilder 自定义CRD,然后按照官方的提升文档来。但是这里有个小坑给大家记录一下。kuberbuilder 官方文档踩坑的地方按照教程,在创建了项目和API之后。执行部署CRD,会报错。得先使用make 命令执行一下 。在config/crd 目录下有bases这个目录,才代表成功了。官方文档没说这一点。导致遇到问题的时候有点懵。...原创 2021-01-28 20:01:51 · 452 阅读 · 0 评论 -
k8s 的admission webhook 部署在集群外,如何创建ssl 文件
背景一般情况下,对于webhook服务都是部署在k8s的集群内部的,但是我们这边有需要,需要部署在集群外面的物理机上,但是在MutatingWebhookConfiguration 里面只能配置https,所以需要自己签发证书。整个过程还是踩了坑。把过程记录下来。照着做肯定能成功。安装cfssl这个就不放具体的方法了,Google搜索一下。安装后执行一下命令 cfssl version 如果能正常显示如下,就代表安装好了Version: 1.4.1Runtime: go1.13.4使用如下命令原创 2021-01-18 21:07:35 · 920 阅读 · 2 评论 -
k8s 搭建HPA和metric-server 问题排查
背景在k8s里面搭建HPA时。HPA需要metric-server进行采集数据,在过程中猜到两个坑,经过最后的折腾总算是解决了问题。所以记录一下方便其他人在遇到问题时可以快速解决。metric-server 修改日志级别查看问题在metric-server搭建完成后,可以通过 kubectl logs -f podName 查看metric-server输出的日志。但是有的时候查看日志看不出来问题的话。可以调整一下日志级别。这样可以输出更多有信息的日志。如下图–v 表示日志级别。数字越大,输出的日志原创 2020-11-27 23:04:49 · 1364 阅读 · 1 评论 -
记一次Harbor问题排查过程
Harbor 背景在低版本的harbor 1.X.X 版本的时候,harbor在GC的时候。会导致推送镜像会失败。我们在harbor的后台查看没有GC的任务。但是定期还是有GC的任务在执行。所以就排查了一下问题。有些经验就沉淀下来了2.1.0 版本解决了GC时不能推送镜像的问题查看Harbor的JobService GC 任务日志进入到harbor的输出日志目录grep 'IMAGE_GC' jobservice.log如果遇到Harbor奇怪的问题。建议直接拉取harbor在git的源代原创 2020-10-22 22:27:13 · 2799 阅读 · 0 评论 -
kubelet not ready 问题排查
背景使用kubectl 发现Node不正常。然后查看Node的日志出现如下 Warning ImageGCFailed 53s kubelet, 192.168.60.31 failed to get imageFs info: unable to find data in memory cache Normal NodeHasSufficientMemory 53s kubelet, 192.168.60.31 Node 192.168.60.31原创 2020-10-20 19:24:43 · 5813 阅读 · 0 评论 -
Raft 协议源码阅读
Raft源码学习背景看本篇博客,需要先对Raft协议本身有了解。然后再开始看源码,会有更深入的体会。不建议对Raft协议没有任何的认识就可以直接开始看本篇文章。Raft协议的中英文论文已经有相关比较好的博客。参考引用。我看的是githab的Raft代码。分析这个代码是如何实现Raft协议的。体会看完算法,再去看源码的实现。功能就真的是按照算法一比一去实现的。这是我第一次看源码如此轻松。读源码就像是读小说的感觉一样。感觉还是得看论文可以最快的认识一个算法和协议。全文没有一句废话。代码分析过程整个原创 2020-10-18 16:46:50 · 1782 阅读 · 0 评论 -
Client-Go 链接Api-Server报509错误
如果使用client-go连接api-server 报x509的错误如下 85178 reflector.go:123] pkg/mod/k8s.io/client-go@v0.16.6/tools/cache/reflector.go:96: Failed to list *v1.Pod: Get https://ip:port/api/v1/namespaces/default/pods?limit=500&resourceVersion=0: x509: certificate sign原创 2020-10-18 12:38:34 · 1344 阅读 · 0 评论 -
k8s 有状态应用实践(Mysql)
有状态应用容器化设计方案有状态应用解释在分布式应用中,它的多个实例之间,往往有依赖关系,比如主从关系,主备关系。还有就是数据存储类应用,它的多个示例,往往都会在本地磁盘上保存一份数据。而这些实例一但被杀掉,即使重建出来,实例与数据之间的对应关系也已经丢失,从而导致应用失败。所以,这种实例不对等关系,以及实例对外部数据有依赖关系的应用,就被称为有状态应用 (Stateful Applicatio...原创 2020-04-16 21:51:07 · 3207 阅读 · 0 评论 -
Kubernates client-java 获取pod
背景在使用kubernates的sdk。client-java 去访问kubernetes时。遇到了问题就是。我想通过podName同时获取多个pod。找了很久没找到解决方法。最后自己摸索出来了。记录一下。方便其他人排查。通过labelSelector获取某个podlabelName=xxxapi.listPodForAllNamespaces( null, null, "appName...原创 2020-04-14 23:50:14 · 1950 阅读 · 3 评论 -
k8s使用helm部署mysql集群启动问题
我是用helm在k8s里面部署mysql集群时遇到了mysql.sock不存在的问题。具体的问题和解决方法如下。我使用的环境我通过helm部署在阿里提供的Mysql集群的chart,阿里云仓库地址但是在启动的时候失败了。查看k8s的pod日志如下mysql 07:52:12.87mysql 07:52:12.88 Welcome to the Bitnami mysql containe...原创 2020-03-26 23:19:54 · 4354 阅读 · 8 评论 -
搭建Minikube拉取镜像失败问题解决
我是在Mac上搭建Minikube。然后启动k8s集群的时候。拉取镜像出错了。报错日志如下,这种问题是因为我们在国内拉不到k8s的镜像。这个问题的解决方法。这个问题在stackoverflow上也有很多中国人问。解决方法就是用国内的镜像,按照我下面推荐的这一篇重新从头开始搭建应该就可以了。https://juejin.im/post/5d35b0f2f265da1bcb4f6ae2stac...原创 2020-02-27 19:30:56 · 7593 阅读 · 0 评论