当前位置: 首页 > news >正文

郴州网站设计手机网站在哪里找到

郴州网站设计,手机网站在哪里找到,东莞网络科技有限公司,宿迁房产查询网上查询系统引言 最近在自己电脑上搭建一个小型k8s环境#xff0c;以学习云原生相关内容。这里我主要分为三部分记录#xff1a; 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中#xff0c;先总结整理下#xff0c;这里后续补充上我的github工程链接。 一、容器及容器编排理…引言 最近在自己电脑上搭建一个小型k8s环境以学习云原生相关内容。这里我主要分为三部分记录 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中先总结整理下这里后续补充上我的github工程链接。 一、容器及容器编排理论 容器技术中有三个核心概念容器Container、镜像Image以及镜像仓库Registry 如何通过Docker File构建镜像 首先编写Docker File文件, Docker build 命令构建镜像 ,Docker run 依照新编写好的镜像运行容器实例。 操作容器的常用命令有 docker ps、docker run、docker exec、docker stop 等操作镜像的常用命令有 docker images、docker rmi、docker build、docker tag 等操作镜像仓库的常用命令有 docker pull、docker push 等。 Kubernetes 就是一个生产级别的容器编排平台和集群管理系统不仅能够创建、调度容器还能够监控、管理服务器。 快速搭建 Kubernetes 环境的工具选择minikube 最大特点就是“小而美”可执行文件仅有不到 100MB运行镜像也不过 1GB但就在这么小的空间里却集成了 Kubernetes 的绝大多数功能特性不仅有核心的容器编排功能还有丰富的插件例如 Dashboard、GPU、Ingress、Istio、Kong、Registry 等等综合来看非常完善。 总结差异 容器技术只解决了应用的打包、安装问题面对复杂的生产环境就束手无策了解决之道就是容器编排它能够组织管理各个应用容器之间的关系让它们顺利地协同运行。 Kubernetes 源自 Google 内部的 Borg 系统也是当前容器编排领域的事实标准。minikube 可以在本机搭建 Kubernetes 环境功能很完善适合学习研究。操作 Kubernetes 需要使用命令行工具 kubectl只有通过它才能与 Kubernetes 集群交互。kubectl 的用法与 docker 类似也可以拉取镜像运行但操作的不是简单的容器。 docker和k8s之间的区别一个是容器技术一个是容器编排技术两者思考的维度是不一样的就容器而言容器解决的问题是隔离是一次打包到处运行的问题最大的价值就在于镜像的迁移。编排技术则是关注的是整个系统的问题如果你只关注一个服务迁移一个服务那docker就够但要迁移整个系统以及运维那就需要编排包括网络关系负载均衡回滚监控扩缩容问题则需要容器编排技术。 二、环境安装相关 我的电脑是mac m2因此需要安装一些arm架构的软件。首先安装docker主要使用的命令记录 因为安装的是docker 桌面版本,终端可能找不到docker命令因此添加环境变量: export PATH$PATH:/Applications/Docker.app/Contents/Resources/bin/验证: docker --version 之后安装minikube这里使用命令行安装arm架构版本: curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64 sudo install minikube-darwin-arm64 /usr/local/bin/minikube验证 minikube version不过 minikube 只能够搭建 Kubernetes 环境要操作 Kubernetes还需要另一个专门的客户端工具“kubectl”。kubectl 的作用有点类似之前我们学习容器技术时候的工具“docker”它也是一个命令行工具作用也比较类似同样是与 Kubernetes 后台服务通信把我们的命令转发给 Kubernetes实现容器和集群的管理功能。 minikube kubectlminikube dashboard此时可以界面化查看: http://127.0.0.1:52337/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/pod?namespacedefault➜ k8s minikube version minikube version: v1.32.0 commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d ➜ k8s minikube kubectl – version Client Version: v1.28.3 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 Server Version: v1.28.3 三、rpcx服务实战 RPCX是一个分布式的Go语言的 RPC 框架支持Zookepper、etcd、consul多种服务发现方式多种服务路由方式这里首先基于该框架在本机测试代码之后开始考虑生成镜像并本地部署。 3.1 本地运行及测试服务代码 服务端rpcx_server.go代码: package mainimport (contextflaglogtimeexample github.com/rpcxio/rpcx-examplesgithub.com/smallnest/rpcx/client )var (addr flag.String(addr, localhost:8972, server address) )func main() {flag.Parse()d, _ : client.NewPeer2PeerDiscovery(tcp*addr, )xclient : client.NewXClient(Arith, client.Failtry, client.RandomSelect, d, client.DefaultOption)defer xclient.Close()args : example.Args{A: 10,B: 20,}for {reply : example.Reply{}err : xclient.Call(context.Background(), Mul, args, reply)if err ! nil {log.Fatalf(failed to call: %v, err)}log.Printf(%d * %d %d, args.A, args.B, reply.C)time.Sleep(1e9)} } 客户端rpcx_client.go代码: package mainimport (flagexample github.com/rpcxio/rpcx-examplesgithub.com/smallnest/rpcx/server )var addr flag.String(addr, localhost:8972, server address)func main() {flag.Parse()s : server.NewServer()// s.RegisterName(Arith, new(example.Arith), )s.Register(new(example.Arith), )s.Serve(tcp, *addr) } 本地通过go run测试验证成功。 3.2 编写dockfile生成镜像 服务端 FROM golang:1.19-alpine as builder WORKDIR /usr/src/app ENV GOPROXYhttps://goproxy.cn RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories \apk add --no-cache ca-certificates tzdata COPY ./go.mod ./ COPY ./go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED0 go build -ldflags -s -w -o rpcx_serverFROM scratch as runner COPY --frombuilder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime COPY --frombuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --frombuilder /usr/src/app/rpcx_server /opt/app/EXPOSE 8972CMD [/opt/app/rpcx_server]客户端: FROM golang:1.19-alpine as builder WORKDIR /usr/src/app ENV GOPROXYhttps://goproxy.cn RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories \apk add --no-cache ca-certificates tzdata COPY ./go.mod ./ COPY ./go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED0 go build -ldflags -s -w -o rpcx_client FROM busybox as runner COPY --frombuilder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime COPY --frombuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --frombuilder /usr/src/app/rpcx_client /opt/app/CMD [/opt/app/rpcx_client]分别指向以下命令进行生成及验证: docker build . -t rpcx-server-demo:0.1.0 docker build . -t rpcx-client-demo:0.1.0之后通过docker images查看: docker images REPOSITORY TAG IMAGE ID CREATED SIZE rpcx-server-demo 0.1.0 a13acd11fc0e 19 hours ago 10.7MB3.3 通过yaml部署发布 服务端 kubectl apply -f rpcx-server-demo.yaml kubectl apply -f rpcx-server-demo-service.yamlKubernetes 中的服务Service和部署Deployment是两个不同的资源对象需要分别定义和创建。 rpcx-server-demo.yaml 文件用于创建 RPCX 服务器的部署。这个文件定义了部署所需的配置如容器镜像、副本数、资源限制等。通过执行 kubectl apply -f rpcx-server-demo.yaml 命令您将创建一个部署对象该对象将负责管理和运行 RPCX 服务器的实例。rpcx-server-demo-service.yaml 文件用于创建 RPCX 服务器的服务。服务是 Kubernetes 中的一种资源对象用于公开应用程序的网络访问。通过执行 kubectl apply -f rpcx-server-demo-service.yaml 命令您将创建一个服务对象该对象将为 RPCX 服务器提供一个稳定的网络地址以便其他应用程序可以通过该地址与服务器进行通信。 通过将这两个 YAML 文件分开您可以更好地组织和管理应用程序的部署和服务。部署文件负责定义和管理应用程序的实例而服务文件负责定义和管理应用程序的网络访问。这种分离可以提高可维护性和灵活性并使您能够更好地管理应用程序的不同方面。 客户端 kubectl apply -f rpcx-client-demo.yaml客户端通常不需要像服务端那样暴露网络服务所以不需要创建服务对象。 在这种情况下只需使用 kubectl apply -f rpcx-client-demo.yaml 命令来创建客户端的部署对象即可。该部署对象将负责管理和运行 RPCX 客户端的实例。 客户端通常是作为一个独立的应用程序运行它会连接到服务端提供的网络地址进行通信。因此不需要为客户端创建服务对象因为客户端不需要公开网络访问。 参考 极客时间部分教程 想学习k8s但没有环境使用minikube轻松搭建一个 https://mp.weixin.qq.com/s/aExQHKHsqsOChDrT4Lz0vw 构建 Golang 应用最小 Docker 镜像 https://www.cnblogs.com/hahaha111122222/p/17878985.html
http://www.yutouwan.com/news/415532/

相关文章:

  • 网站怎么做交易关键词优化工具有哪些
  • 佛山网站推广优化公司黑龙江省建设厅官网
  • 如何设计微商城网站建设珠海网站建设多少钱
  • 购物网站难做烟台网站建设薇企汇互联见效付款
  • 网站管理服务wordpress本地视频播放器
  • 公司网站建设北京ASP做网站源代码
  • 30天网站建设实录视频网站推广方案策划书2000
  • 成都美食网站设计论文网站空间在哪申请
  • 黔南州建设局网站网站建设定价
  • 做双语网站房产信息网租房
  • 翰诺网站建设网站建立步骤
  • 人才网站开发文档礼品网站实例
  • 遵义网站页设计制作网站开发外包
  • 网站建设行规ppt模板下载网址
  • 南昌自主建站模板网站空间地址查询
  • 网站这么绑定到域名团购网站 模板
  • php企业网站例子随州百度网站建设
  • 网站做cpa推广引流wordpress 插件 函数
  • 成都企业建站系统模板郑州网站建设汉狮
  • 做微信网站外贸平台销售
  • 丘里奇网站排名网站建设十年杜绝模板
  • 网站开发的背景意义微信做代理的网站
  • 南通市优普网站建设建设网站要多少钱
  • 南通建设中标查询网站公司找人做的网站到现在还没出来
  • 打开网站搜索设计必备网站
  • 做PHP网站前端网站进不去微信如何制作网页
  • 查看网站访问量如何帮客户做网站
  • 电商网站设计线路图p2p网站的建设
  • 京东商城 网站建设灌南县规划局网站一品嘉苑规划建设
  • 旅游网站建设方案后台wordpress postline