【go-zero】api与rpc使用k8s服务发现和部署

news2024/9/19 13:14:03

【go-zero】api与rpc使用k8s服务发现和部署

k8s安装

参考 debian12极简快速安装k8s

1、代码准备

参考上一篇【go-zero】api与rpc使用etcd服务发现 代码搬过来,因为要用到k8s环境换到linux了 ,做一下修改

rpc

修改一下rpc的logic文件,增加返回主机名,用于后面查看负载均衡效果

func (l *GetUserInfoLogic) GetUserInfo(in *pb.GetUserInfoReq) (*pb.GetUserInfoResp, error) {
	hostname, _ := os.Hostname()
	return &pb.GetUserInfoResp{
		Id:       in.Id,
		Nickname: "zero-rpc----->" + hostname,
	}, nil
}

user.yaml 文件

Name: user.rpc
ListenOn: 0.0.0.0:8980
Mode: dev

api 配置rpc的发现

user-api.api 文件
user-rpc-svc 是rpc的k8s yaml部署文件的serviceName

Name: user-api
Host: 0.0.0.0
Port: 8988
UserRpcConf:
  Target: k8s://go-zero-demo/user-rpc-svc:8980

2、使用goctl 生成rpc、api 的 Dockerfile

user-rpc目录下

goctl docker -go .\user.go

在这里插入图片描述
根据提示,执行 docker build 要在/home/goproject/domo目录下 我们把 Dockerfile 复制到/home/goproject/domo

cp Dockerfile ../Dockerfile

在这里插入图片描述
/home/goproject/domo目录下 执行 docker

docker build -t gozerok8s-user-rpc:v1 .

执行完查看 docker images
在这里插入图片描述

3、生成rpc、api的镜像,同时推送到镜像仓库

4、创建serviceAccount账号,要具有k8s内部的endpoints资源的list、watch、get权限

5、使用goctl生成rpc、api的yaml部署文件,并且制定第5步创建好的serviceAccount

6、部署,(包含网关配置nodePort)

7、访问测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运放双电源供电和单电源供电的区别

运放是一种常见的电路元器件,广泛应用于模拟电路中。它可以使用不同的电源电压进行供电,其中最常见的是双电源供电和单电源供电。 下面将详细介绍它们之间的区别。 1.双电源供电 双电源供电意味着运放有两个电源引脚:正极和负极。正极一般连…

docker部署it工具箱,各种工具包

1.效果 2.步骤 2.1安装docker&&docker-compose 复制粘贴两脚本 bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrorsmain/DockerInstallation.sh)curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose…

调度任务是什么?如何设置调度任务?

本文将解释什么是调度任务&#xff0c;并且以FineDataLink为例说明如何设置调度任务。 一. 什么是调度任务&#xff1f; 调度平台是管理和自动化 ETL 的任务执行工具&#xff0c;通过指定任务依赖关系和执行顺序实现任务的自动执行&#xff0c;一般需要代码开发&#xff0c;使…

一些面试和找工作的技巧-新资要的低并不会给你加分薪资要的高不会成为公司拒绝你的核心理由

面试相关 自我介绍的模板 使用STAR描述->描述项目介绍 核心岗位是内推&#xff0c;或者朋友 所以给同事留个好印象 面试最后一道送命题目 你还有什么想问的吗? 这个问题体现了你深度思考的能力&#xff0c;对 一轮面试官可能是你的直属领导&#xff0c;你可以问题你进…

GIS大事件!Bentley收购Cesium

9月6日&#xff0c;Cesium官方宣布加入Bentley。 Bentley我们并不陌生。最初Acute3D被Bentley公司收购&#xff0c;旗下软件由Smart3DCapture转型到ContextCapture&#xff0c;现又改名 iTwin Capture。 如今又收购了Cesium。 Cesium官方表示&#xff0c;Cesium开发平台与iTwi…

python编程二维码里放视频

动植物标本制作大赛 需要制作一个关于植物标本的二维码 存放采集植物的视频 笑了 pip install qrcode pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 新建文件贴入代码如下&#xff1a; import qrcode import cv2# 视频链接 video_url "…

新学期学生资料在线收集,老师用它一分钟搞定!

金秋九月&#xff0c;校园里再次迎来了新学期的热闹景象。学生们满怀期待地步入教室&#xff0c;而老师们则开始了新一学期的准备工作。在这些准备工作中&#xff0c;统计和整理学生资料是不可或缺的一环。这项工作虽然基础&#xff0c;却对教学活动的顺利开展至关重要。现在有…

【redis】redis的特性和主要应用场景

文章目录 redis 的特性在内存中存储数据可编程的扩展能力持久化集群高可用快 redis 的应用场景实时数据存储缓存消息队列 redis 的特性 redis 的一些特性&#xff08;优点&#xff09;成就了它 在内存中存储数据 In-memory data structures MySQL 主要是通过“表”的方式来…

Harbor Images Replication

文章目录 背景Add Harbor EndpointAdd Quay.io EndpointHarbor New Replication RuleHarbor Push Images To Quay.io 背景 harbor 的镜像同步至备份harbor 或者同步quay.io。实现镜像备份。 Add Harbor Endpoint Add Quay.io Endpoint Harbor New Replication Rule Harbor P…

QDesigner中的Line设置样式

在QT designer中&#xff0c;我们通常会用到线 Horizontal Line 与 Vertical Line 来代表分割线&#xff1a; 效果入下&#xff1a; 但是我们设置样式表或者设置它的其他属性的时候&#xff0c;却找不到它是哪个类&#xff0c;就连文档里面也只有跟他长得很像的QLine,但经过实验…

深度学习——pycharm配置远程服务器(蓝耘GPU智算云)

一、平台选择 一开始在网上查找资料&#xff0c;看到大量的博客文章都是关于AutoDL算力云平台的介绍&#xff0c;而且基本上都是一致好评。但是后来经过他人介绍&#xff0c;了解到蓝耘GPU智算云平台&#xff0c;最终决定采用这个平台&#xff0c;有两个原因&#xff1a;一是这…

【前端】代码打了debugger,浏览器控制打不到断点怎么解决

文章目录 一、场景二、原因三、解决 一、场景 代码中写了debugger&#xff0c;按照逻辑是要进行断点调试的&#xff0c;但是浏览器没有反应 二、原因 被浏览器忽略了 三、解决 只需要在浏览器的设置中&#xff0c;配置忽略列表 关闭也行

埃隆·马斯克表示特斯拉“没有必要”授权 xAI 模型

埃隆马斯克近日在社交媒体上对《华尔街日报》的一篇报道进行了反驳。该报道指出&#xff0c;马斯克旗下的电动汽车公司特斯拉可能与人工智能初创公司xAI达成了一项收入分享协议&#xff0c;以便特斯拉能够使用xAI的人工智能模型。据称&#xff0c;这些模型将被集成到特斯拉的全…

Semantic Kernel + Natasha:一小时快速生成100个API的奇迹

大家好&#xff0c;我今天带来了一个让人瞠目结舌的实验&#xff1a;在一小时内快速生成了100个API&#xff01; 其实如果手速高&#xff0c;可以更多。要知道&#xff0c;这得益于之前介绍过的Natasha —— 一个可以动态编译并加载代码的神奇工具。 动态编程神器! 探秘.Net…

liunx io模型多路复用

多路复用 应用程序中同时处理多路输入输出流&#xff0c;若采用阻塞模式&#xff0c;得不到预期的目的&#xff1b; 若采用非阻塞模式&#xff0c;对多个输入进行轮询&#xff0c;但又太浪费CPU时间&#xff1b; 若设置多个进程/线程&#xff0c;分别处理一条数据通路&#xff…

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点&#xff1a; 1.确保子表中的某个字段&#xff08;外键&#xff09;只能引用父表中的有效记录 2.主表中的列被删除时&#xff0c;子表中的关联列也会被删除 3.主表中的列更新时&#xff0c;子表中的关联…

KAN 学习 Day4 —— MultKAN 正向传播代码解读及测试

在KAN学习Day1——模型框架解析及HelloKAN中&#xff0c;我对KAN模型的基本原理进行了简单说明&#xff0c;并将作者团队给出的入门教程hellokan跑了一遍&#xff1b; 在KAN 学习 Day2 —— utils.py及spline.py 代码解读及测试中&#xff0c;我对项目的基本模块代码进行了解释…

Ubuntu上安装libdc1394-22-dev出现无法定位安装包的解决办法

一、libdc1394-22-dev介绍 libdc1394-22-dev 是一个开发库&#xff0c;用于与IEEE 1394 (FireWire)摄像头进行交互。具体来说&#xff0c;它是 libdc1394 的开发版本&#xff0c;提供了开发者头文件和链接库&#xff0c;方便在应用程序中集成对基于 IEEE 1394 标准的数码相机的…

【开源大模型生态5】解放大脑

AI能力的进化&#xff0c;如上图&#xff0c;分为4个阶段。 第一阶段&#xff1a;逻辑推理为主 在人工智能的早期发展阶段&#xff0c;研究者们将重心放在了构建能够进行逻辑推理的系统上。这些系统通常基于规则&#xff0c;通过定义一系列“如果...那么...”的规则来模拟人类…

此mac无法连接Applie媒体服务,因为“”出现问题。

出现问题&#xff1a; 这是因为mac登陆过别人的appId下载过软件&#xff0c;但是没有完全退出登陆 解决 打开偏好设置&#xff0c;点击头像&#xff0c;点击媒体与已购项目&#xff0c;能看到弹框内AppleID登陆的应用&#xff0c;打开对应的那个应用&#xff0c;我这里是音…