k8s
文章平均质量分 58
k8s
runing_an_min
这个作者很懒,什么都没留下…
展开
-
制作一个可以arm架构下运行的docker镜像(for Python)
我没有采用dockerfile的方式,因为那种方式不太方便调试,所以我了commit容器的方式。世界上没有免费的午餐,commit形式打出来的镜像会比较大。操作系统是arm64,可以运行arm32的容器吗?操作系统是arm32,可以运行arm64的容器吗?这里直接说docker镜像有点儿草率,因为目前很多容器都是Podman了。ok了,目前就积累了这些操作,后面慢慢补充,也欢迎各位大神给予指点。这里有一个不确定的点,还希望各路大神给确定一下。安装gcc环境,便于后期安装c或者c++编写的python依赖。原创 2023-10-31 15:37:41 · 1181 阅读 · 0 评论 -
kubectl:命令执行出错,Error from server (BadRequest)...
kubectl报错BadRequest原创 2022-11-15 17:23:05 · 3175 阅读 · 0 评论 -
k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。
k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。原创 2022-10-29 22:27:29 · 7311 阅读 · 1 评论 -
flannel的vxlan的工作过程
flannel vxlan原创 2022-08-02 11:37:45 · 781 阅读 · 0 评论 -
k8s-trouble-nodeport:本机访问本机的nodeport很慢,其他节点访问很快
访问本机的nodeport很慢或者一会儿通一会儿不通原创 2021-01-29 23:42:03 · 2344 阅读 · 1 评论 -
k8s-trouble-sealos: calico+外网映射构建集群时出错
环境描述这是一个网络有点复杂的环境如图:原创 2021-01-28 22:42:08 · 563 阅读 · 1 评论 -
k8s-trouble-sealos:... request due to an error: [invalid bearer token, Token has been invalidated]
问题描述当使用sealos clean --all以后,在init,发现apiserver的一直报如下错误:he request due to an error: [invalid bearer token, Token has been invalidated]解决办法删除掉 ~/.sealos 然后重新执行 sealos init,应该就可以了...原创 2021-01-28 11:20:28 · 1618 阅读 · 0 评论 -
k8s-trouble-es: failed to validate incoming join request from node ... time out waiting for task
报错如下问题处理首先定位一下 es节点的资源(CPU、内存)是不是待耗尽如果资源消耗的比较严重,使用 jstat -gcutil查看一下gc情况如果gc次数比较频繁,请把jvm 的内存加大一点如果没有出现以上情况,那就需要配置一下如下参数:# 容器环境可以加大一点discovery.zen.ping_timeout: 600s# 这个避免脑裂 n/2 + 1discovery.zen.minimum_master_nodes: 2...原创 2021-01-21 11:24:58 · 1297 阅读 · 1 评论 -
k8s场景下日志处理(二) 部署篇
接上篇https://blog.csdn.net/u014686399/article/details/108974291上文聊到我们将fluent按照功能分成不同模块,并且增加了过滤功能,可以只筛选我们想要的日志。我们也可以针对专门模块进行副本增加,参数调优等。下面我们聊聊怎么部署吧部署首先我们部署好helm环境# 下载helm3的安装包并解压# 添加资源库 helm repo add apphup https://apphub.aliyuncs.com/安装ES# 参照原创 2021-01-11 15:59:39 · 381 阅读 · 1 评论 -
k8s环境的fluentd故障处理篇-dump an error event: error_class=ArgumentError error=“message does not exist“
报错详情2021-01-07 17:35:16 +0800 [warn]: #0 fluent/log.rb:350:warn: dump an error event: error_class=ArgumentError error=“message does not exist” location=nil tag=“kubernetes.forward” time=1970-01-01 08:33:41.209632975 +0800 record={“log”=>“2021-01-07 09:原创 2021-01-08 14:19:55 · 1416 阅读 · 2 评论 -
k8s运维-故障排除篇-在外部访问NodePort类型的service时被拒绝,Connection refused
(1)在外部访问NodePort类型的service时,被拒绝。 Connection refused1、请检查你访问的worker上的kubelet服务是否启动?上图中的worker是123.56.191.1262、检查你的service的是否挂载上了endpoints,如下图说明已经挂载了最后检查你的服务是否正常启动了,可以进入pod使用telnet或者curl测试一下你的服务。如果你的容器中没有这些工具,可以借助kubectl-debug。...原创 2021-01-07 11:16:35 · 6515 阅读 · 2 评论 -
k8s环境的fluentd:故障处理篇
mkmf.rb can’t find header files for ruby at /usr/lib/ruby/include/ruby.h解决办法:所有的worker上 执行 yum install ruby-devel -y原创 2020-12-28 15:35:00 · 1527 阅读 · 1 评论 -
软件安装篇 - elastic search安装
安装方式使用helm3安装部署添加chart源helm add repo apphub https://apphub.aliyuncs.com/搜索elastic search的chart helm search repo elasticsearchfetch 这个charthelm fetch apphub/elasticsearch修改value.yaml 配置文件,下面是部分 ,视情况而定master: replicas: 1 # 副本数 he原创 2020-12-15 15:30:10 · 295 阅读 · 0 评论 -
存储篇:通过glusterfs+NFS+service供k8s使用存储
场景描述glusterfs本身可以借助heketi来供k8s使用,如下图有个场景:glusterfs是先于k8s安装的,机器已经没有新的磁盘供你单独给Heketi使用了你没有权限创建新的卷,你只能使用提供给你的卷针对上面的场景,可以使用下面的架构部署服务器A和服务器B上,部署NFS服务yum -y install nfs-utils rpcbindsystemctl start rpcbindsystemctl start nfs服务器A和服务器B上,配置NFS服务原创 2020-12-15 14:38:40 · 951 阅读 · 0 评论 -
k8s场景下日志处理
现状当我们的应用部署在k8s的环境中以后,日志的处理也会成为一个需要研究的课题。相比于传统的环境,日志会伴随着容器的重启而消失,解决方案目前有ELK(EFK)和持久卷。先说一下持久卷的方案。在实现上一般通过hostpath和pv的形式。首先我们的应用在k8s环境是多副本的,所以如果不想所有的副本日志都打印在一个里面的话,就要求每个副本的日志文件的名字不一样。再者,日志的查看方式大致是首先定位到我们容器所在的主机,然后登陆上去相应的日志路径下去查看日志。其实我觉得EL/FK的方案应该是比较好的方案,因为原创 2020-10-09 15:26:27 · 1694 阅读 · 0 评论 -
k8s资源篇:资源控制手段
胡扯一下今天是周末,捋一捋k8s资源方面的一些事情,最近也在面试,k8s的问题是真的多。根据目前我的知识储备,感觉k8s的资源管理分为两大类:预防和应急。预防就是提供给用户手段,让你尽可能的控制资源的使用。应急可以理解为兜底,也是最后的屏障了,当预防的手段没有预防好,就要使用应急手段了。预防手段在k8s中资源的使用对象是pod。k8s为pod提供了request和limit的手段来限制资源的使用情况。request表示pod启动时,要申请的资源数limit表示pod最终能使用的资源数举个例原创 2020-08-23 16:52:11 · 584 阅读 · 0 评论 -
k8s增加带有GPU资源的worker
不知道你是否GPU到底是个啥?如果你好奇的话,可以看一下这个连接。有个小姐姐的文章说的比较好,简单的理解就是GPU是显卡的一部分https://www.zhihu.com/question/28422454怎么查看我的机器上有没有GPU这里我理解不太透彻,只能表示一下自己的理解:按理说只要有显卡就有GPU,但是不是所有的GPU都能拿来供我们的程序使用,应该也受计算框架的影响吧。对于K8S来说,目前支持的GPU,是AMD和NVIDIA。我的环境用的英伟达的,机器是阿里云的ECS,下面是在E原创 2020-06-11 18:37:57 · 2191 阅读 · 1 评论 -
我对K8s监控的看法
做监控的过程完事开头难,某天领导甩给你一个环境,说:小明给把环境监控起来。小明该怎么做呢?如果我是小明,我会分三个阶段考虑这个问题:1个where和两个how,接下来我们一个一个的解决。where数据源有哪些呢?? ,考虑一下k8s的架构,我总结如下:K8s方面K8s服务本身、k8s内部部署的应用、k8s的资源(pod,deployment,daemonset等等)ETCD层面...原创 2019-12-01 15:30:11 · 857 阅读 · 0 评论 -
kubernets:Helm小练手
简述helm是k8s的包管理工具,类似于我们手机上的华为市场或者小米的应用商店。他提供了包的查找,安装,卸载,状态查看一条龙的服务。最近学了一下,自己想了个例子,练练手例子涵盖的技能点从文件中读取内容Hook变量的定义,使用NOTES.txt流程控制操作符的应用开始操练起来创建一个charthelm create nginx-base-package删除多余的文件...原创 2019-11-12 19:11:38 · 234 阅读 · 0 评论 -
k8s环境实现kubectl绑定到一个namespace
描述我们日常操作k8s大多使用的是kubectl。突然有一天,我有个想法:各个部门都在用一个k8s环境,如果不做隔离,岂不乱套了?我的想法就是:为一个部门创建一个namespace,然后把这个部门的机器上的kubectl绑定到这个namespace下。依据具体的实现就是利用k8s的RBAC, 将kubectl的用户或者组,结合roblebinding和admin集群角色绑定,从而实现kub...原创 2019-10-15 20:05:11 · 3427 阅读 · 0 评论 -
K8s环境内部的服务怎么注册到外部
描述最近在使用nacos和k8s的时候遇到一个问题:nacos部署在k8s的外部,服务部署在K8s内部,服务注册该怎么玩呢? 其实我们现实环境中,不可能所有的服务都部署在k8s内部的,总有些服务要部署在k8s外部的。下面我聊一下我的想法LoadBalancer创建一个LoadBalancer类型的service,这样就会把我们服务映射到外部的负载均衡上了。 我们k8s内部的服务需要注册负载均...原创 2019-09-26 16:35:50 · 5876 阅读 · 2 评论 -
K8s Pod更新时会不会影响外部的访问
问题简述我一般在修改了deployment或者的pod的yaml文件时,并使用了kubectl apply,这时pod会进行一个更新过程,大致是启动一个新的pod然后替换掉旧的pod。有个问题不明白,就是替换时会不会影响那些还在请求老的pod的流量呢?验证一下我的验证可能有问题,还请大家指点一下环境描述上图是我的试验环境,一个副本的deployment,加上一个带有NodePort...原创 2019-09-07 16:46:55 · 760 阅读 · 4 评论