中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

輿情信息網(wǎng)站微信營(yíng)銷怎么做

輿情信息網(wǎng)站,微信營(yíng)銷怎么做,前端需要學(xué)wordpress,珠海電商網(wǎng)站建設(shè)引言 最近在自己電腦上搭建一個(gè)小型k8s環(huán)境,以學(xué)習(xí)云原生相關(guān)內(nèi)容。這里我主要分為三部分記錄: 容器及容器編排理論環(huán)境安裝相關(guān)rpcx服務(wù)實(shí)戰(zhàn) 還在調(diào)試中,先總結(jié)整理下,這里后續(xù)補(bǔ)充上我的github工程鏈接。 一、容器及容器編排理…

引言

最近在自己電腦上搭建一個(gè)小型k8s環(huán)境,以學(xué)習(xí)云原生相關(guān)內(nèi)容。這里我主要分為三部分記錄:

  • 容器及容器編排理論
  • 環(huán)境安裝相關(guān)
  • rpcx服務(wù)實(shí)戰(zhàn)

還在調(diào)試中,先總結(jié)整理下,這里后續(xù)補(bǔ)充上我的github工程鏈接。

一、容器及容器編排理論

容器技術(shù)中有三個(gè)核心概念:容器(Container)、鏡像(Image),以及鏡像倉(cāng)庫(kù)(Registry)

如何通過Docker File構(gòu)建鏡像?
=> 首先編寫Docker File文件, Docker build 命令構(gòu)建鏡像 ,Docker run 依照新編寫好的鏡像運(yùn)行容器實(shí)例。

操作容器的常用命令有 docker ps、docker run、docker exec、docker stop 等;操作鏡像的常用命令有 docker images、docker rmi、docker build、docker tag 等;操作鏡像倉(cāng)庫(kù)的常用命令有 docker pull、docker push 等。

Kubernetes 就是一個(gè)生產(chǎn)級(jí)別的容器編排平臺(tái)和集群管理系統(tǒng),不僅能夠創(chuàng)建、調(diào)度容器,還能夠監(jiān)控、管理服務(wù)器。

快速搭建 Kubernetes 環(huán)境的工具選擇minikube, 最大特點(diǎn)就是“小而美”,可執(zhí)行文件僅有不到 100MB,運(yùn)行鏡像也不過 1GB,但就在這么小的空間里卻集成了 Kubernetes 的絕大多數(shù)功能特性,不僅有核心的容器編排功能,還有豐富的插件,例如 Dashboard、GPU、Ingress、Istio、Kong、Registry 等等,綜合來看非常完善。

總結(jié)差異:

容器技術(shù)只解決了應(yīng)用的打包、安裝問題,面對(duì)復(fù)雜的生產(chǎn)環(huán)境就束手無策了,解決之道就是容器編排,它能夠組織管理各個(gè)應(yīng)用容器之間的關(guān)系,讓它們順利地協(xié)同運(yùn)行。

Kubernetes 源自 Google 內(nèi)部的 Borg 系統(tǒng),也是當(dāng)前容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn)。minikube 可以在本機(jī)搭建 Kubernetes 環(huán)境,功能很完善,適合學(xué)習(xí)研究。操作 Kubernetes 需要使用命令行工具 kubectl,只有通過它才能與 Kubernetes 集群交互。kubectl 的用法與 docker 類似,也可以拉取鏡像運(yùn)行,但操作的不是簡(jiǎn)單的容器。

docker和k8s之間的區(qū)別,一個(gè)是容器技術(shù),一個(gè)是容器編排技術(shù),兩者思考的維度是不一樣的,就容器而言,容器解決的問題是隔離,是一次打包到處運(yùn)行的問題,最大的價(jià)值就在于鏡像的遷移。編排技術(shù)則是關(guān)注的是整個(gè)系統(tǒng)的問題,如果你只關(guān)注一個(gè)服務(wù),遷移一個(gè)服務(wù),那docker就夠,但要遷移整個(gè)系統(tǒng)以及運(yùn)維,那就需要編排,包括網(wǎng)絡(luò)關(guān)系,負(fù)載均衡,回滾,監(jiān)控,擴(kuò)縮容問題則需要容器編排技術(shù)。

二、環(huán)境安裝相關(guān)

我的電腦是mac m2,因此需要安裝一些arm架構(gòu)的軟件。首先安裝docker,主要使用的命令記錄:

因?yàn)榘惭b的是docker 桌面版本,終端可能找不到docker命令,因此添加環(huán)境變量:
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin/"驗(yàn)證:
docker --version  

之后安裝minikube,這里使用命令行安裝arm架構(gòu)版本:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube驗(yàn)證:
minikube version

不過 minikube 只能夠搭建 Kubernetes 環(huán)境,要操作 Kubernetes,還需要另一個(gè)專門的客戶端工具“kubectl”。kubectl 的作用有點(diǎn)類似之前我們學(xué)習(xí)容器技術(shù)時(shí)候的工具“docker”,它也是一個(gè)命令行工具,作用也比較類似,同樣是與 Kubernetes 后臺(tái)服務(wù)通信,把我們的命令轉(zhuǎn)發(fā)給 Kubernetes,實(shí)現(xiàn)容器和集群的管理功能。

 minikube kubectlminikube dashboard此時(shí)可以界面化查看: http://127.0.0.1:52337/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/pod?namespace=default

? 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服務(wù)實(shí)戰(zhàn)

RPCX是一個(gè)分布式的Go語言的 RPC 框架,支持Zookepper、etcd、consul多種服務(wù)發(fā)現(xiàn)方式,多種服務(wù)路由方式,這里首先基于該框架在本機(jī)測(cè)試代碼,之后開始考慮生成鏡像并本地部署。

3.1 本地運(yùn)行及測(cè)試服務(wù)代碼

服務(wù)端rpcx_server.go代碼:

package mainimport ("context""flag""log""time"example "github.com/rpcxio/rpcx-examples""github.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 ("flag"example "github.com/rpcxio/rpcx-examples""github.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測(cè)試驗(yàn)證成功。

3.2 編寫dockfile生成鏡像

服務(wù)端:

FROM golang:1.19-alpine as builder
WORKDIR /usr/src/app
ENV GOPROXY=https://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_ENABLED=0 go build -ldflags "-s -w" -o rpcx_serverFROM scratch as runner
COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /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 GOPROXY=https://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_ENABLED=0 go build -ldflags "-s -w" -o rpcx_client FROM busybox as runner
COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /usr/src/app/rpcx_client /opt/app/CMD ["/opt/app/rpcx_client"]

分別指向以下命令進(jìn)行生成及驗(yàn)證:

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.7MB
3.3 通過yaml部署發(fā)布

服務(wù)端:

kubectl apply -f rpcx-server-demo.yaml
kubectl apply -f rpcx-server-demo-service.yaml

Kubernetes 中的服務(wù)(Service)和部署(Deployment)是兩個(gè)不同的資源對(duì)象,需要分別定義和創(chuàng)建。

  1. rpcx-server-demo.yaml 文件用于創(chuàng)建 RPCX 服務(wù)器的部署。這個(gè)文件定義了部署所需的配置,如容器鏡像、副本數(shù)、資源限制等。通過執(zhí)行 kubectl apply -f rpcx-server-demo.yaml 命令,您將創(chuàng)建一個(gè)部署對(duì)象,該對(duì)象將負(fù)責(zé)管理和運(yùn)行 RPCX 服務(wù)器的實(shí)例。
  2. rpcx-server-demo-service.yaml 文件用于創(chuàng)建 RPCX 服務(wù)器的服務(wù)。服務(wù)是 Kubernetes 中的一種資源對(duì)象,用于公開應(yīng)用程序的網(wǎng)絡(luò)訪問。通過執(zhí)行 kubectl apply -f rpcx-server-demo-service.yaml 命令,您將創(chuàng)建一個(gè)服務(wù)對(duì)象,該對(duì)象將為 RPCX 服務(wù)器提供一個(gè)穩(wěn)定的網(wǎng)絡(luò)地址,以便其他應(yīng)用程序可以通過該地址與服務(wù)器進(jìn)行通信。

通過將這兩個(gè) YAML 文件分開,您可以更好地組織和管理應(yīng)用程序的部署和服務(wù)。部署文件負(fù)責(zé)定義和管理應(yīng)用程序的實(shí)例,而服務(wù)文件負(fù)責(zé)定義和管理應(yīng)用程序的網(wǎng)絡(luò)訪問。這種分離可以提高可維護(hù)性和靈活性,并使您能夠更好地管理應(yīng)用程序的不同方面。

客戶端:

kubectl apply -f rpcx-client-demo.yaml

客戶端通常不需要像服務(wù)端那樣暴露網(wǎng)絡(luò)服務(wù),所以不需要?jiǎng)?chuàng)建服務(wù)對(duì)象。

在這種情況下,只需使用 kubectl apply -f rpcx-client-demo.yaml 命令來創(chuàng)建客戶端的部署對(duì)象即可。該部署對(duì)象將負(fù)責(zé)管理和運(yùn)行 RPCX 客戶端的實(shí)例。

客戶端通常是作為一個(gè)獨(dú)立的應(yīng)用程序運(yùn)行,它會(huì)連接到服務(wù)端提供的網(wǎng)絡(luò)地址進(jìn)行通信。因此,不需要為客戶端創(chuàng)建服務(wù)對(duì)象,因?yàn)榭蛻舳瞬恍枰_網(wǎng)絡(luò)訪問。

參考:

極客時(shí)間部分教程
想學(xué)習(xí)k8s但沒有環(huán)境?使用minikube輕松搭建一個(gè) https://mp.weixin.qq.com/s/aExQHKHsqsOChDrT4Lz0vw
構(gòu)建 Golang 應(yīng)用最小 Docker 鏡像 https://www.cnblogs.com/hahaha111122222/p/17878985.html

http://www.risenshineclean.com/news/63184.html

相關(guān)文章:

  • 青島新聞網(wǎng)官方網(wǎng)站今日頭條新聞下載安裝
  • 北京幼兒園報(bào)名網(wǎng)站香飄飄奶茶軟文
  • 河南核酸檢測(cè)vip抖音seo查詢工具
  • 戶縣做網(wǎng)站哈爾濱最新今日頭條新聞
  • 企業(yè)建立網(wǎng)站需要產(chǎn)品代理推廣方案
  • 網(wǎng)站建設(shè)制作設(shè)計(jì)營(yíng)銷 廣州網(wǎng)站頁(yè)面怎么優(yōu)化
  • 江寧做網(wǎng)站價(jià)格拉新工作室在哪里接項(xiàng)目
  • 美食網(wǎng)頁(yè)設(shè)計(jì)圖搜索引擎優(yōu)化特點(diǎn)
  • 做網(wǎng)站弄關(guān)鍵詞多少錢站長(zhǎng)統(tǒng)計(jì)幸福寶2022年排行榜
  • 做培訓(xùn)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的方法
  • 常州行業(yè)網(wǎng)站制作百度公司招聘
  • vps如何做網(wǎng)站怎么建免費(fèi)網(wǎng)站
  • 德州市建設(shè)街小學(xué)官方網(wǎng)站seo排名賺錢
  • 有九類商標(biāo)可以做網(wǎng)站名嗎百度收錄網(wǎng)址
  • 新網(wǎng)站內(nèi)部?jī)?yōu)化怎么做北京關(guān)鍵詞優(yōu)化報(bào)價(jià)
  • 品牌網(wǎng)站建設(shè)公司今天頭條新聞
  • 百度站長(zhǎng)平臺(tái)鏈接國(guó)際最新新聞熱點(diǎn)事件
  • 男女做那個(gè)網(wǎng)站動(dòng)態(tài)圖專業(yè)關(guān)鍵詞優(yōu)化平臺(tái)
  • 大連網(wǎng)站設(shè)計(jì)費(fèi)用友情鏈接源碼
  • 做網(wǎng)站一定要注冊(cè)域名嗎企業(yè)網(wǎng)站有什么
  • 與網(wǎng)絡(luò)公司洽談做網(wǎng)站需要注意什么個(gè)人網(wǎng)站創(chuàng)建平臺(tái)
  • 安徽省網(wǎng)站肥建設(shè)網(wǎng)站軟文網(wǎng)站推薦
  • 建設(shè)摩托車官網(wǎng)中國(guó)官網(wǎng)報(bào)價(jià)大全博客seo優(yōu)化技術(shù)
  • 怎么做qq空間支付網(wǎng)站焊工培訓(xùn)
  • 企業(yè)網(wǎng)站的職能主要有怎樣做引流推廣
  • 上海寶山手機(jī)網(wǎng)站制作鄭州關(guān)鍵詞排名顧問
  • 非專業(yè)人士可以做網(wǎng)站編輯的工作嗎網(wǎng)頁(yè)設(shè)計(jì)與制作考試試題及答案
  • 建設(shè)網(wǎng)站的意義東莞seo培訓(xùn)
  • 四川建設(shè)網(wǎng)和四川省公共資源交易信息網(wǎng)seo編輯培訓(xùn)
  • 春節(jié)網(wǎng)頁(yè)設(shè)計(jì)素材網(wǎng)站登錄百度app