![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
王小番茄
这个作者很懒,什么都没留下…
展开
-
解决Prometheus报错:unable to use specified CA cert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
问题描述:1.通过Prometheus监控k8snode节点状态,添加完配置文件,重启后发现在Prometheus界面中查看不到node节点信息。2.查看systemctl status prometheus 发现报unable to use specified CA cert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt3.本文部署的k8s没有采用用户名密码认证,是通过token的方式认证,所以再Prometheus.yml配置文件中不能配原创 2021-06-14 21:19:28 · 2166 阅读 · 0 评论 -
prometheus监控k8s集群中的node
使用Prometheus监控k8s node节点,借助node-exporter实现监控node节点状态。1.先确定node-exporter状态正常:(我的有两个worker节点。所以有两个node-exporter的pod)kubectl get pods -n kube-system -o wide | grep node-exp2.添加Prometheus.yml中配置:以下配置中"api_server"的值,修改成k8s集群的任意master节点basic_auth: admin a原创 2021-06-14 20:59:35 · 844 阅读 · 0 评论 -
kubectl,readiness probe failes:Get http://10.201.100.25-:8080/health:request canceled
kubectl get pods -n 命名空间发现节点状态是running,但是节点并没有真正起来,执行:kubectl describe pod pod名字 -n 命名空间之后会看见这样的健康检查报错:这是因为我们在配置文件有定义健康检查:解决方案一:可以如图把这两行注释掉,但是不建议这样操作,一般pod内jar包可以正常启动的话就是会通过健康检查的。解决方案二:进入到容器内,找到启动的jar包或者应用程序,看启动的报错信息:kubectl exec -it pod名字 -n 命.原创 2021-04-28 20:16:48 · 13340 阅读 · 1 评论 -
default-scheduler:0/3 nodes are available: 3 node(s) didn‘t match node selector
重新启动一个pod时候,报这个error:default-scheduler:0/3 nodes are available: 3 node(s) didn’t match node selector1.首先先确定了三个节点的状态:kubectl get nodes都是ready状态,没有问题2.查看该服务yaml文件里面有的label:3.手动给一个节点添加上这个label:手动添加label命令:kubectl label node <node_name&g..原创 2021-04-28 19:54:50 · 13632 阅读 · 0 评论 -
查看某个命名空间下的所有服务分配到哪些节点上
kubectl get nodes NAME STATUS ROLES AGE VERSIONk8s-aws-vpc04-m01 Ready master 359d v1.15.3k8s-aws-vpc04-m02 Ready master 359d v1.15.3k8s-aws-vpc04-m03 Ready master 359d v1.15.3查看这个node上面在某个命名空间下都有哪些服务原创 2021-04-23 10:20:50 · 537 阅读 · 0 评论 -
k8s彻底删除一个pod
一般删除一个pod:kubectl delete pod xxxx -n 命令空间但是因为deployment中有副本定义删除方式:kubectl get deployment -n 命令空间kubectl delete deployment xxxx(上面命令得到的name)-n 命令空间原创 2021-04-19 11:52:25 · 1325 阅读 · 0 评论 -
k8s基础概念理解(1)
在k8s中,一个pod里面的容器与另外主机上的pod容器能够直接通信因为k8s为每个pod都分配了唯一的IP地址称为pod ip一个pod里的多个容器共享这个pod IP地址。k8s要求底层网络支持集群内任意两个pod之间的TCP/IP直接通信,采用虚拟机二层网络技术实现pod的ip加上容器端口(containerPort)组成一个新概念----endpoint他代表此pod里的一个服务进程的对外通信地址一个pod可以有多个endpoint 比如Tomcat定义为一个pod时.原创 2021-04-08 21:06:05 · 161 阅读 · 0 评论 -
k8s中常用的命令
1)删除改文件夹所有yaml文件的启动的k8s服务:kubectl delete -f .2)启动改路径下的所有yaml文件的k8s服务:kubectl apply -f .3)查看一个命名空间下的所有pod的启动运行情况:kubectl get pods -n 命令空间4)查看一个命名空间下所有的服务情况:kubectl get svc -n 命令空间5)进入到一个命令空间下的一个pod的里面:1.先查看pod名字:kubectl get pods -n 命令空间比如name原创 2021-03-11 09:51:23 · 661 阅读 · 0 评论 -
k8s中master上面四个核心服务的理解
k8s平面架构来说,一共有两种角色:master角色和node角色(work角色)master是集群中的大脑,跑着一些主流的服务(做管理),一般不参与运算node负责提供计算资源 ,会集中式的由maser进行调度以及管理 提供管理K8S的内存和CPU资源将内存以及CPU简单的打包,封装成一个对象,这个对象就叫做podnode节点就是提供pod资源的pod资源定义:一定量CPU资源和一定量的内存资源进行打包的一个集合就是pod资源下面说一下master上面四个核心的服务:原创 2020-12-16 17:49:33 · 2193 阅读 · 2 评论