1.故障背景20230512早上9点半左右,服务突然中断造成产品不可用。2.设想重启原因:1.时间端内有占用大内存操作,定时任务,造成内存溢出或者探针失败重启2.时间段内业务高峰,内存溢出或探针失败重启3.kafka大量失败造成应用重启。那么kafka失败原因排查3.排查过程3.1排查应用不可用探针失败造成重启首先查看pod状态:所有pod都有一次重启记录。检查pod状态:因为pod已经重启了。查看现在pod详情还是可以看到探针超时。检查探针设置:PodEvents中超时的是readiness探针。解释下探针:readinessprobes:就绪性探针,用于检测应用实例当前是否可以接收请求,如
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"!作者:一凡|慕课网讲师集群内访问在k8s中创建的微服务,大部分都是在集群内部互相调用,这时候,使用DNS就可以很方面访问。比如:服务名是my-service,端口号是8080,命名空间是yifan,那么就可以通过域名+端口“my-service.yifan.svc.cluster.local:8080”在集群内访问。当然,也可以直接用服务的ClusterIP+服务的端口号,只是这么使用的较少。DNS解析到的IP也就是这个服务的ClusterIP,只是咱们不需要记住ClusterIP,记住服务名对应的域名更加容易。
1、jenkins架构基于java命令,运⾏javawar包或jar包,本次以jenkins.war包部署⽅式为例,且要求jenkins的数据保存⾄外部存储(NFS或者PVC),其他java应⽤看实际需求是否需要将数据保存⾄外部存储。从上述架构图可以看到,Jenkins通过k8s上的pv/pvc来连接外部存储,通过svc的方式向外暴露服务,在集群内部通过直接访问svc就可以正常访问到jenkins,对于集群外部成员,通过外部负载均衡器来访问Jenkins;2、镜像准备2.1、Jenkins镜像目录文件root@k8s-master01:~/k8s-data/dockerfile/web/mag
1.Service的概念:k8s中Service定义了这样一种抽象:一个pod的逻辑分组,一种可以访问他们的策略—通常称为微服务。这一组pod能够被Service访问到,通常是通过LabelSelectorService能够提供负载均衡的能力,但是在使用上有以下限制:只提供4层负载均衡能力,而没有7层功能,但有时我们可能需要更多的匹配规则来转发请求,这点上4层负载均衡不支持的。2.Service的类型:Service在k8s中有以下四种类型:ClusterIp:默认类型,自动分配一个仅Cluster内部可以访问的虚拟IP。NodePort:在ClusterIp基础上为Service在每台机器上
原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。邮箱:yinwanit@163.com概念k8s中不能直接对容器进行管理,k8s中最小得的理单元即Pod。Pod分为静态POD和动态POD,静态Pod不通过kubelet管理。同一个pod内共享同一个网络命名空间,IP地址等信息没有配置在具体功能性容器上。Pod在k8s中归属apiVersion版本为v1。在编写yaml文件中apiVersion应该设置为v1。kind才能设置成Pod。在k8s中由两种创建pod的方式,一种是通过kubectlrun命令;一种是编写yaml文件,使用kubectl apply-fxxx.yaml
在K8s集群中,每个集群都有一组节点,其中一些是master节点,另一些是工作节点,那么如何区别哪些是master节点,哪些是工作节点?有三种判断方式:方法一根据系统进程确认,运行api-server、kube-controller-management和kube-scheduler的node是master节点。运行kubelet和kube-proxy的node是工作节点。$ps-ef|grepkubelet如果进程存在则说明当前节点是工作节点。如果不存在则需要进一步确认:$ps-ef|grepkube-scheduler方法二检查节点是否具有标签node-role.kubernetes.io
1.前言在看到此文章之前,想必你已经知道如何启动一个springboot应用,知道如何通过docker运行你的springboot服务。你可能会有这样得疑问,已经了解如上部署方式,是否还有必须去了解如何通过k8s部署springboot应用?如果你有这样的疑问,那么请继续往下看。2.创建SpringBoot应用在介绍k8s部署springboot应用之前,我们需要创建一个springboot应用。2.1编写pom.xml boot-example-advance com.boot.example 1.0-SNAPSHOT 4.0.0 boot-example-
文章目录一、Dashboard简介二、Dashboard部署安装三、配置Dashboard登入用户1、通过Token令牌登入2、通过kubeconfig文件登入四、Dashboard创建容器五、扩展一、Dashboard简介KubernetesDashboard是一个WebUI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。官方GitHub官方下载地址网盘下载
一、软件准备1、去Docker官网下载DockerDesktop,并一键安装2、下载k8s-for-docker-desktop包gitclonehttps://github.com/AliyunContainerService/k8s-for-docker-desktop.git二、镜像源配置配置docker的国内镜像,国外的网络下载可能比较慢docker中国镜像地址:“https://registry.docker-cn.com”,网络docker镜像地址“http://hub-mirror.c.163.com”,ustc大学镜像地址“https://docker.mirrors.ustc
kube-proxy10249:用于节点上的kubeproxy的健康检查和状态查询。10256:用于NodePort服务的负载均衡。portpool(30000-32767):NodePort服务的端口范围,这些端口用于外部流量访问Kubernetes集群中的服务。kubelet10250:kubeletAPI服务器的端口,用于集群中的其他组件(如kube-scheduler、kube-controller-manager、kubectl)与kubelet进行通信。此端口通常由Kubernetes的授权策略进行保护,只允许授权用户或组访问。10255:kubelet的只读端口,用于提供节点的健