spring-cloud-kubernetes
文章平均质量分 59
qingdao666666
这个作者很懒,什么都没留下…
展开
-
Spring boot配置参数覆盖方法
1、通过编程方式覆盖属性值:https://code.i-harness.com/en/q/1bb9cf42、在编写starter里,可在AutoConfiguration中注入ConfigurableEnvironment environment,并取其中的MutablePropertySources,进行key覆盖。但这个覆盖受starter加载顺序的影响,例如可能会导致Controller中的值是覆盖前的旧值。3、通过EnvironmentPostProcessor覆盖。https://git原创 2021-10-08 16:28:49 · 2854 阅读 · 0 评论 -
FeignClient注解配置url属性实现指定服务方
某天,跟同学聊天,同学说起之前面试的时候面试官提的一个问题:使用spring cloud,现在某个服务有一个新的接口需要验证。该接口目前只上线了一台机器,如何指定调用方只调用这台机器。问题大致如此,可能有些出入。总结起来,就是希望能够指定访问某台机器。这样的情况,在我们平时也可能经常遇到。比如甲乙两人需要调试新接口,但注册中心只有一个。可能上面有丙丁戊己庚辛注册的服务。如果我们按照默认的轮询的负载均衡规则去调用,七次调用才能轮到乙的服务,根本没有办法调试。所以这时候就需要我们能够指定调用的服务方。Fei转载 2021-09-05 12:11:34 · 3978 阅读 · 0 评论 -
Spring Cloud Gateway 微服务新一代网关
本文目录:写在开头 1.为什么选择 Gateway 2.Gateway 是什么 2.1 GateWay 具有的特性 2.2 Spring Cloud Gateway 和 Zuul 的区别 2.3 Gateway 三大概念 Ⅰ、Route(路由) Ⅱ、Predicate(断言) Ⅲ、Filter(过滤) 3.微服务架构网关所在位置 4.Gateway 工作流程 5.将 Gateway 引入微服务项目 5.1 新建网关模块 5.2 引入 pom.xml .转载 2021-08-28 21:48:00 · 828 阅读 · 0 评论 -
阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!
目前越来越多的开发者开始采纳 Kubernetes 管理基础设施环境,并通过 Kubernetes 完成日常的开发,测试以及生产发布活动,为了能够有效的帮助开发者提升在 Kubernetes 场景下的本地开发测试效率,阿里巴巴研发效能云效团队面向原生 Kubernetes 开源了一款轻量级的开发者工具 KT Connect。1. KT Connect 是什么KT Connect(Kubernetes Developer Tool) 是轻量级的面向 Kubernetes 用户的开发测试环境治理辅助工具转载 2021-08-27 22:16:24 · 610 阅读 · 0 评论 -
KT Connnect 轻量级云原生测试环境治理工具
简介KT Connect ( Kubernetes Developer Tool ) 是轻量级的面向 Kubernetes 用户的开发测试环境治理辅助工具。其核心是通过建立本地到集群以及集群到本地的双向通道,从而提升在持续交付生命周期中开发环节的效率问题以及开发测试环境的复用问题:使用场景场景一:本地与远端服务联调在这种场景下,开发者只要直接使用 ktctl connect 打通本地到集群的网络即可,就可以直接在本地通过 PodIP/ClusterIP/DNS 地址访问集群中的服务。转载 2021-08-27 21:51:23 · 639 阅读 · 0 评论 -
Kt Connect 对windows的支持
说一下 kt connect的特点连接:直接访问远程Kubernetes集群。KT Connect sshuttle用作访问远程Kubernetes集群网络的vpn工具。交换:开发人员可以交换工作量以将请求重定向到本地应用程序。网格:您可以在本地主机中创建网格版本,然后重定向到本地仪表板:仪表板视图可以帮助您了解环境的使用方式。缺点对windows的vpn不支持。重要事情说三遍:对windows的vpn不支持,对windows的vpn不支持在这里插入图片描述有人会说什么 Sockes5转载 2021-08-27 21:46:33 · 499 阅读 · 0 评论 -
聊聊k8s调试工具kt-connect的实现
1. 引言kt-connect是阿里开源的k8s的调试工具,它的作用类似于VPN,能够打通k8s集群和本地的网络。传送门: alibaba/kt-connect它有3种模式* Connect 本地网络直接访问k8s集群网络* Exchange 转发集群流量到本地* Service Mesh 支持另外它提供了一个Dashboard可以查看k8s集群内的所有可访问的service资源以及正在进行调试的Connect和Exchange数量, 用处不大。2. 使用介绍这里萌叔只转载 2021-08-27 21:38:47 · 2719 阅读 · 0 评论 -
springcloud本地开发的微服务如何调用远程k8s的微服务:KT Connect+IDEA
一般来说k8s使用的容器网络与开发者的所在的办公网络并不能直接连通,如何在开发环境访问k8s的服务,就成为我们日常开发绕不开的坎。下边就介绍几种可以方便我们在本地环境调用k8s服务方案方案一:Telepresence1、Telepresence简介Telepresence是一款为Kubernetes微服务框架提供快速本地化开发功能的开源软件。它的工作原理是在本地和 Kubernetes 集群中搭建一个透明的双向代理,它将集群中的数据卷、环境变量、网络都代理到了本地。其官网如下https:转载 2021-08-27 21:25:30 · 2345 阅读 · 0 评论 -
Spring Cloud Kubernetes服务注册与发现实现原理与源码分析
前面我们已经分析完OpenFeign与Ribbon的源码,包括两者的整合使用,以及Ribbon的重试机制,从最顶层调用接口开始到负载均衡的实现。今天我们分析更底层的实现,即服务注册与发现。本篇内容包含:Spring Cloud Commons的serviceregistry与discovery Spring Cloud Kubernetes服务注册与发现实现原理 Spring Cloud Kubernetes Core源码分析 Spring Cloud Kubernetes Discove..转载 2021-08-26 23:10:58 · 778 阅读 · 0 评论 -
Spring Cloud Kubernetes动态配置实现原理与源码分析
Spring为Spring Cloud在Bean的生命周期、Bean的BeanPostProcessor以及AOP层面提供实现动态刷新配置的支持,而Spring Cloud则是为使用者提供实现动态加载配置的接口层面支持,封装了复杂的实现逻辑,让第三方配置中心实现整合到Spring Cloud项目提供方便。Spring Cloud Kubernetes也为我们使用原生服务实现动态配置提供支持,它帮我们实现Spring Cloud的动态配置接口,我们只需要在bootstarp.yaml添加简单的配置就能使用转载 2021-08-26 23:08:16 · 359 阅读 · 0 评论 -
Spring Cloud Kubernetes Ribbon源码分析
在项目中使用Ribbon的目的是在客户端(服务消费端)实现负载均衡。在上一篇《Spring Cloud OpenFeign源码分析》中我们分析了为什么使用OpenFeign时,不配置url,且不导入Ribbon的依赖会报错。本篇继续分析OpenFeign是如何与Ribbon整合、Ribbon是如何实现负载均衡的、Ribbon是如何从注册中心获取服务的。OpenFeign与Ribbon整合后的接口调用流程OpenFeign与Ribbon整合实现负载均衡调用接口的流程如下:spr...转载 2021-08-26 23:03:29 · 489 阅读 · 0 评论 -
spring cloud -> k8s(使用自身注册中心)
找到几篇不错的文章,相信大家看完后会对如何在k8s中部署spring cloud项目(使用k8s自身的注册中心)有比较清楚认知:Spring Cloud Kubernetes服务注册与发现的实现原理与源码分析cloud.tencent.com/developer/article/1658681Spring Cloud Ribbon源码分析(Spring Cloud Kubernetes)cloud.tencent.com/developer/article/1658682...转载 2021-08-26 22:49:31 · 5700 阅读 · 0 评论 -
Kubernetes网络三部曲之三 ~ NodePort vs LoadBalancer vs Ingress
在上一篇《Kubernetes网络三部曲~Service网络》中,波波讲解了K8s的4层网络栈中的第2层Service网路。有了Service网络,K8s集群内的应用可以通过服务名/ClusterIP进行统一寻址和访问,而不需要关心应用集群中到底有多少个Pods,Pod的IP是什么,会不会变化,以及如何以负载均衡方式去访问等问题。但是,K8s的Service网络只是一个集群内部网络,集群外部是无法直接访问的。而我们发布的应用,有些是需要暴露出去,要让外网甚至公网能够访问的,这样才能对外输出业务价值。K8s如转载 2021-08-24 23:02:06 · 243 阅读 · 0 评论 -
构建云原生微服务网关系列-篇二:Zuul
构建云原生微服务网关系列-篇二:Zuul暴走的初号机2019.09.29 14:57:56字数 2,178阅读 738使用Spring Cloud的api网关组件Zuul结合Spring Cloud Kubernetes项目构建云原生网关这篇是云原生网关系列的第二篇,这次我们来看一下在不引入Spring Cloud技术栈的情况下使用zuul来实现云原生网关。Zuul介绍Zuul是大名鼎鼎的微服务框架Spring Cloud中的网关组件,由netflix公司开发,目前在微服务框转载 2021-08-24 22:48:33 · 263 阅读 · 0 评论 -
Spring Cloud Kubernetes存在的问题
1、跨命名空间访问服务的问题https://www.jianshu.com/p/9cf85449c63c2、configmap热更新问题3、Windows开发环境调用K8S服务问题原创 2021-08-24 21:52:52 · 435 阅读 · 0 评论 -
在windows电脑上配置kubectl远程操作kubernetes
Kubernetes集群经常部署在Linux环境,而本机环境经常是Windows,除了ssh登录到kubernetes所在机器进行操作,也可以在本机配置kubectl,来远程操作服务器上的kubernetes。环境信息 kubernetes:1.14.0 kubectl:1.7.0 kubernetes所在Linux服务器:CentOS7.4 本地环境:win10专业版64位操作步骤 下载windows版的kubectl可执行文件,地址是:https://s...原创 2021-08-24 14:56:29 · 539 阅读 · 0 评论 -
Kubernetes 开发 SpringCloud (三)、使用 SpringCloud Feign 进行 SrpingCloud 服务间的通信
2019-07-25 17:21:02文章目录一、介绍 Feign 简介 Hystrix 简介 二、Kubernetes 中使用 Feign 进行服务间通信 三、Kubernetes 中项目使用 Feign 进行服务间通信示例 1、Feign 接口项目示例代码 2、服务提供者示例代码 3、服务消费者示例代码 4、构建 Docker 镜像 5、准备 Kubernetes 部署文件 6、将项目推送到 Kubernetes 7、测试接口 四、可配置参数..转载 2021-08-23 18:50:18 · 198 阅读 · 0 评论 -
spring-cloud-k8s fegin
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.转载 2021-08-23 18:42:15 · 390 阅读 · 0 评论 -
spring-cloud-kubernetes-feign实战
关于spring-cloud-kubernetesspring-cloud-kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用运行在kubernetes环境,并且提供了通用的接口来调用kubernetes服务,主要提供了应用程序使用k8s本身功能:服务注册发现、客户端负载均衡、从Kubernetes ConfigMap和Secrets加载应用程序属性 。 ConfigMap或Secret更改时,重新加载应用程序属性。GitHub上官转载 2021-08-23 18:39:56 · 803 阅读 · 0 评论 -
feign和ribbon有什么区别
ribbon和feign都是用于调用其他服务的,不过方式不同。 1.启动类使用的注解不同,ribbon用的是@RibbonClient,feign用的是@EnableFeignClients。 2.服务的指定位置不同,ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClient声明。 3.调用方式不同,ribbon需要自己构建http请求,模拟http请求然后使用RestTemplate发送给其他服务,步骤相当繁琐。feig.原创 2021-08-23 18:36:39 · 1299 阅读 · 0 评论 -
springboot三层架构与MVC
三层架构与MVC1. 三层架构是什么把各个功能模块划分为表示层,业务逻辑层,和数据访问层三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(model)作为数据传递的载体,不同的对象模型实体类一般对应数据库的不同表。上层对下层的调用是通过接口实现的;下层对上层的真正服务提供者,是下层接口的实现类。接口是相同的额,实现类是可以更换的。2. 三层架构的目的“高内聚,低耦合”3.分层方式表示层(视图层View) 在表示层调用业务层的方法,前台设计,相关控件,数据缓存都属转载 2021-08-23 10:04:20 · 3911 阅读 · 0 评论 -
本地启动spring cloud kubernetes的服务
/var/run/secrets/kubernetes.io/serviceaccount/token原创 2021-08-22 17:01:09 · 234 阅读 · 0 评论 -
springcloudkubenetes调试方法汇总
1、Kubefed:docker的接口 外部如何访问k8s_本地服务调用K8S环境中的SpringCloud微服务实战https://blog.csdn.net/weixin_30141859/article/details/1124810172、本地调试spring cloud项目改造为spring-cloud-kubernetes项目https://blog.csdn.net/puhaiyang/article/details/107181685/3、Telepresence原创 2021-08-22 16:28:06 · 493 阅读 · 0 评论 -
docker的接口 外部如何访问k8s_本地服务调用K8S环境中的SpringCloud微服务实战
欢迎访问我的GitHubhttps://github.com/zq2599/blog_demos内容:原创文章分类汇总及配套源码,涉及Java、Docker、K8S、Devops等下图是典型的微服务在Kubernetes环境的部署情况(简化版):695ce6cc0f835f8fe3a7afd147a6c889.png在开发阶段,如果服务B还在开发中,部署情况如下图所示:121da2df58098756ada50020902247fd.png此时的服务B如何才能访问到注册中心和服务A呢?常规手段转载 2021-08-22 16:18:53 · 456 阅读 · 0 评论 -
获取Spring-Cloud-Kubernetes的访问Token
1、获取Spring-Cloud-Kubernetes的ServiceAccount配置中的microsvckubectl get sa microsvc -o yaml获取secret的name2、根据name获取Tokenkubectl get secret microsvc-token-mfdrr -o yaml原创 2021-08-22 16:17:31 · 161 阅读 · 0 评论 -
Spring-cloud-kubernetes 服务发现
1、使用Feigh进行请求我是用Feign进行服务请求,经过验证发现,直接去掉eureka,且不用springcloud-kubernetes-discovery,也可以直接利用service请求到其他微服务,且代码无需任何修改。感觉springcloud-kubernetes-discovery没啥实际意义2、直接请求K8S的Service...原创 2021-08-22 15:52:14 · 235 阅读 · 0 评论 -
SpringCloudKubernetes的ServiceAccount配置
1、报错信息描述错误信息:Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. endpoints "xxx" is forbidden: User "system:serviceaccount:xxx:default" cannot get resource "endpoints" in API group "" in the namespa转载 2021-08-22 15:37:23 · 1790 阅读 · 1 评论 -
微服务构建
docker build -t account-service:v1 .docker run -itd -p 8080:8080 --name account-service account-service:v1docker build -t account-service:v1 .docker run -itd -p 8080:808 --name web-service web-service:v1kubectl get po httpd-gv4bl -o yamlport原创 2021-08-22 15:33:05 · 155 阅读 · 0 评论 -
使用ServiceAccount Token的方式访问集群
erviceaccount的权限由集群中对应的rolebinding决定,官方文档 https://kubernetes.io/docs/reference/access-authn-authz/rbac/请选择对应权限的ServiceAccount来获取token,我这边选择的是admin ServiceAccount1、获取ServiceAccountkubectl get sa admin -n kube-system -o yamlapiVersion:...原创 2021-08-22 13:18:08 · 703 阅读 · 0 评论 -
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/Configuration
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata解决方案 将boot版本降低问题原因cloud 依赖版本跟 boot不一致一般情况是 spring boot版本高于cloud版本修改版本即可 例如 spring boot 版本是2.4.2 其他cloud依赖是 2.4以下 ...原创 2021-08-22 11:00:18 · 2281 阅读 · 0 评论 -
Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources
[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project demo: Input length = 1 -> [Help 1][ERROR]原创 2021-08-22 10:12:57 · 132 阅读 · 0 评论