公司项目私有化部署,甲方要求服务间调用使用K8sSVC完成服务间调用。需要把原有基于springboot+nacos 服务注册发现改造为k8ssvc完成服务间注册发现。
首先了解一下k8s svc:
K8S核心概念之SVC(易混淆难理解知识点总结)_k8s svc_倾听铃的声的博客-CSDN博客
 创建SVC
 对集群内部暴露服务的模式--Cluster
 apiVersion: v1kind: Servicemetadata:  labels:    app: my-dep  name: my-depspec:  ports:  - port: 8000      #设定Serivce对集群内部暴露的端口.    protocol: TCP    targetPort: 80  #设定Pod的端口,即Pod网络的端口。  selector:    app: my-dep  type: ClusterIP
 对集群外部暴露服务的模式--NodePort 
apiVersion: v1kind: Servicemetadata: labels: app: my-dep name: my-depspec: ports: - port: 8000 #设定Serivce对集群内部暴露的端口. protocol: TCP targetPort: 80 #设定Pod的端口,即Pod网络的端口。 selector: app: my-dep type: NodePort
 注:如果不在yaml文件当中指定NodePort端口,则NodePort是在Node节点上的30000-32767之间随机暴漏端口 
代码改造:
1. 原有fegin调用修改为手动创建http请求。
我这里是写了个自定义注解;
                        
注:如果需要具体实现方法可私聊,我私发给你。
2.k8s 需要配置对应的svc.配置如下:
                
//版本号
apiVersion: v1 
//svc
kind: Service
metadata:
 //服务名
 name: log
//服务命名空间
  namespace: default
spec:
//暴露类型
  type: ClusterIP
  selector:
     //服务名
    app: log
  ports:
      //端扣信息
    - port: 80
      protocol: TCP
      targetPort: 80 
注意:服务端口一定要与配置端口保持一致。
配置完成后即可通过 name.namespace:80/接口地址 完成调用










![C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列](https://img-blog.csdnimg.cn/606fe526a2b140d29ea8960a7574e331.png)









