国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

云原生初體驗:在K8s上部署Springboot應用

發(fā)布時(shí)間:2021-11-03 13:46 來(lái)源:麒思妙想 閱讀:0 作者:dafei1288 欄目: 云計算 歡迎投稿:712375056

本文會(huì )在window環(huán)境下,構建一套基于k8s的istio環(huán)境,并且通過(guò)skaffold完成鏡像的構建和項目部署到集群環(huán)境。其實(shí)對于實(shí)驗環(huán)境有限的朋友們,完全可以在某里云上,按量付費搞3臺”突發(fā)性能實(shí)例“,玩一晚,也就是杯咖啡錢(qián)。

你會(huì )不會(huì )對“云原生”很有興趣,卻不知道從何入手?

本文會(huì )在window環(huán)境下,構建一套基于k8s的istio環(huán)境,并且通過(guò)skaffold完成鏡像的構建和項目部署到集群環(huán)境。其實(shí)對于實(shí)驗環(huán)境有限的朋友們,完全可以在某里云上,按量付費搞3臺”突發(fā)性能實(shí)例“,玩一晚,也就是杯咖啡錢(qián)。

好吧,讓我開(kāi)始吧!

執行流程

整體流程的話(huà),如下圖所示,通過(guò) Skaffold+jib 將開(kāi)發(fā)的應用打包成鏡像,提交到本地倉庫,并且將應用部署到集群中。k8s中部署2個(gè)pod,模擬應用不同的版本,并且配置訪(fǎng)問(wèn)權重20%:80%。

環(huán)境選擇

我之前有文章詳細介紹過(guò)minikube。本次實(shí)驗,開(kāi)始的時(shí)候,我就一直沉溺在使用kind的便捷上,而且直接可以在docker上部署集群,可以說(shuō)非常方便。但是由于我對K8S的理解并不足夠,導致后面遇到了很多問(wèn)題,所以,在這里建議新上手的小伙伴,還是使用minikube吧。k3s和RKE都需要多臺虛擬機,礙于機器性能,這種方案暫時(shí)不考慮了。

下面表格,對比了minikube、kind、k3s 部署環(huán)境,以及支持情況,方便大家選擇。

[1] 表格引用自:http://jiagoushi.pro/minikube-vs-kind-vs-k3s-what-should-i-use

docker desktop 沒(méi)有特殊要求。其他的自己用的順手就好,還是需要特別說(shuō)一下minikube,別用最新的coredns一直都拉不下來(lái),除非你的魔法,可以完全搞定,否則,還是用阿里編譯的minikube版本吧,別跟自己較勁,別問(wèn)我為什么...

我用的版本羅列在下面了:

  1. ?@nbsp;~@nbsp;istioctl@nbsp;version@nbsp;
  2. client@nbsp;version:@nbsp;1.10.2@nbsp;
  3. control@nbsp;plane@nbsp;version:@nbsp;1.10.2@nbsp;
  4. data@nbsp;plane@nbsp;version:@nbsp;1.10.2@nbsp;(10@nbsp;proxies)@nbsp;
  5. @nbsp;
  6. ?@nbsp;~@nbsp;minikube@nbsp;version@nbsp;
  7. minikube@nbsp;version:@nbsp;v1.18.1@nbsp;
  8. commit:@nbsp;511aca80987826051cf1c6527c3da706925f7909@nbsp;
  9. @nbsp;
  10. ?@nbsp;~@nbsp;skaffold@nbsp;version@nbsp;
  11. v1.29.0@nbsp;

環(huán)境搭建

使用minikube創(chuàng )建集群

使用 hyperv 作為引擎 , 內存 8192M cup 4核,不能再少了,否則拉不起來(lái) istio。

  1. ?@nbsp;~@nbsp;minikube@nbsp;start@nbsp;@nbsp;--image-mirror-country='cn'@nbsp;--registry-mirror=https://hq0igpc0.mirror.aliyuncs.com@nbsp;--vm-driver=@quot;hyperv@quot;@nbsp;--memory=8192@nbsp;--cpus=4@nbsp;--hyperv-virtual-switch=@quot;minikubeSwitch@quot;@nbsp;--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers@nbsp;

還要在 hyperv里創(chuàng )建一個(gè)虛擬路由,這里我構建了一個(gè)內部網(wǎng)絡(luò ),這樣可以通過(guò)設置網(wǎng)卡的ip,將內部網(wǎng)絡(luò )的網(wǎng)段固定下來(lái),否則,每次重啟都會(huì )變化ip。

配置讓內部網(wǎng)絡(luò ),共享訪(fǎng)問(wèn)互聯(lián)網(wǎng)。

啟動(dòng)成功:

  1. ?@nbsp;istio-1.10.2@nbsp;minikube@nbsp;start@nbsp;
  2. @nbsp;Microsoft@nbsp;Windows@nbsp;10@nbsp;Pro@nbsp;10.0.19042@nbsp;Build@nbsp;19042@nbsp;上的@nbsp;minikube@nbsp;v1.18.1@nbsp;
  3. @nbsp;minikube@nbsp;1.20.0@nbsp;is@nbsp;available!@nbsp;Download@nbsp;it:@nbsp;https://github.com/kubernetes/minikube/releases/tag/v1.20.0@nbsp;
  4. @nbsp;
  5. @nbsp;根據現有的配置文件使用@nbsp;hyperv@nbsp;驅動(dòng)程序@nbsp;
  6. @nbsp;Starting@nbsp;control@nbsp;plane@nbsp;node@nbsp;minikube@nbsp;in@nbsp;cluster@nbsp;minikube@nbsp;
  7. @nbsp;Restarting@nbsp;existing@nbsp;hyperv@nbsp;VM@nbsp;for@nbsp;@quot;minikube@quot;@nbsp;...@nbsp;
  8. @nbsp;正在@nbsp;Docker@nbsp;20.10.3@nbsp;中準備@nbsp;Kubernetes@nbsp;v1.20.2…@nbsp;
  9. @nbsp;Verifying@nbsp;Kubernetes@nbsp;components...@nbsp;
  10. @nbsp;@nbsp;?@nbsp;Using@nbsp;image@nbsp;registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v4@nbsp;(global@nbsp;image@nbsp;repository)@nbsp;
  11. @nbsp;@nbsp;?@nbsp;Using@nbsp;image@nbsp;registry.hub.docker.com/kubernetesui/dashboard:v2.1.0@nbsp;
  12. @nbsp;@nbsp;?@nbsp;Using@nbsp;image@nbsp;registry.hub.docker.com/kubernetesui/metrics-scraper:v1.0.4@nbsp;
  13. @nbsp;@nbsp;?@nbsp;Using@nbsp;image@nbsp;registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.2.1@nbsp;(global@nbsp;image@nbsp;repository)@nbsp;
  14. @nbsp;Enabled@nbsp;addons:@nbsp;metrics-server,@nbsp;storage-provisioner,@nbsp;dashboard,@nbsp;default-storageclass@nbsp;
  15. @nbsp;Done!@nbsp;kubectl@nbsp;is@nbsp;now@nbsp;configured@nbsp;to@nbsp;use@nbsp;@quot;minikube@quot;@nbsp;cluster@nbsp;and@nbsp;@quot;default@quot;@nbsp;namespace@nbsp;by@nbsp;default@nbsp;

部署 istio

創(chuàng )建 istio-system 的命名空間

  1. kubectl@nbsp;create@nbsp;namespace@nbsp;istio-system@nbsp;

安裝 istio

  1. istioctl@nbsp;manifest@nbsp;apply@nbsp;--set@nbsp;profile=demo@nbsp;

安裝完成后,執行命令 kubectl get svc -n istio-system

  1. ?@nbsp;~@nbsp;kubectl@nbsp;get@nbsp;svc@nbsp;-n@nbsp;istio-system@nbsp;
  2. NAME@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;TYPE@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;CLUSTER-IP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;EXTERNAL-IP@nbsp;@nbsp;@nbsp;PORT(S)@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;AGE@nbsp;
  3. istio-egressgateway@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;10.105.31.73@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;80/TCP,443/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  4. istio-ingressgateway@nbsp;@nbsp;@nbsp;LoadBalancer@nbsp;@nbsp;@nbsp;10.103.61.73@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;pending@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;15021:31031/TCP,80:31769/TCP,443:30373/TCP,31400:31833/TCP,15443:32411/TCP@nbsp;@nbsp;@nbsp;8d@nbsp;
  5. istiod@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;10.110.109.205@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;15010/TCP,15012/TCP,443/TCP,15014/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;

部署 bookinfo

部署 bookinfo demo 驗證環(huán)境

執行命令

  1. kubectl@nbsp;label@nbsp;namespace@nbsp;default@nbsp;istio-injection=enabled@nbsp;
  2. @nbsp;
  3. kubectl@nbsp;apply@nbsp;-f@nbsp;samples/bookinfo/platform/kube/bookinfo.yaml@nbsp;

等待pod都啟動(dòng)起來(lái)以后,添加bookinfo網(wǎng)絡(luò )配置,用于訪(fǎng)問(wèn) kubectl apply -f .samplesookinfo etworkingookinfo-gateway.yaml

  1. ?@nbsp;istio-1.10.2@nbsp;kubectl@nbsp;apply@nbsp;-f@nbsp;.samplesookinfo etworkingookinfo-gateway.yaml@nbsp;
  2. @nbsp;
  3. gateway.networking.istio.io/bookinfo-gateway@nbsp;created@nbsp;
  4. @nbsp;
  5. virtualservice.networking.istio.io/bookinfo@nbsp;created@nbsp;

使用命令查看service : kubectl get services

  1. ?@nbsp;~@nbsp;kubectl@nbsp;get@nbsp;services@nbsp;
  2. NAME@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;TYPE@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;CLUSTER-IP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;EXTERNAL-IP@nbsp;@nbsp;@nbsp;PORT(S)@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;AGE@nbsp;
  3. callme-service@nbsp;@nbsp;@nbsp;NodePort@nbsp;@nbsp;@nbsp;@nbsp;10.106.26.24@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8080:30101/TCP@nbsp;@nbsp;@nbsp;8d@nbsp;
  4. details@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;10.110.253.19@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;9080/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  5. kubernetes@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;10.96.0.1@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;443/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  6. productpage@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;10.96.246.175@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;9080/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  7. ratings@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;10.99.234.109@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;9080/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  8. reviews@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ClusterIP@nbsp;@nbsp;@nbsp;10.103.177.123@nbsp;@nbsp;@nbsp;@lt;none@gt;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;9080/TCP@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;

查看pods狀態(tài) kubectl get pods

  1. ?@nbsp;~@nbsp;kubectl@nbsp;get@nbsp;pods@nbsp;
  2. NAME@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;READY@nbsp;@nbsp;@nbsp;STATUS@nbsp;@nbsp;@nbsp;RESTARTS@nbsp;@nbsp;@nbsp;AGE@nbsp;
  3. callme-service-v1-76dd76ddcc-znb62@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;0@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;4h59m@nbsp;
  4. callme-service-v2-679db76bbc-m4svm@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;0@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;4h59m@nbsp;
  5. details-v1-79f774bdb9-qk9q8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  6. productpage-v1-6b746f74dc-p4xcb@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  7. ratings-v1-b6994bb9-dlvjm@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  8. reviews-v1-545db77b95-sgdzq@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  9. reviews-v2-7bf8c9648f-t6s8z@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;
  10. reviews-v3-84779c7bbc-4p8hv@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;2/2@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;Running@nbsp;@nbsp;@nbsp;8@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;8d@nbsp;

查看集群ip 以及 端口

  1. ?@nbsp;~@nbsp;kubectl@nbsp;get@nbsp;po@nbsp;-l@nbsp;istio=ingressgateway@nbsp;-n@nbsp;istio-system@nbsp;-o@nbsp;'jsonpath={.items[0].status.hostIP}'@nbsp;
  2. 192.168.137.115@nbsp;
  3. @nbsp;
  4. @nbsp;
  5. @nbsp;
  6. ?@nbsp;istio-1.10.2@nbsp;kubectl@nbsp;get@nbsp;svc@nbsp;istio-ingressgateway@nbsp;-n@nbsp;istio-system@nbsp;
  7. @nbsp;
  8. NAME@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;TYPE@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;CLUSTER-IP@nbsp;@nbsp;@nbsp;EXTERNAL-IP@nbsp;PORT(S)@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;AGE@nbsp;
  9. @nbsp;
  10. istio-ingressgateway@nbsp;LoadBalancer@nbsp;@nbsp;10.110.228.32@nbsp;@lt;pending@gt;@nbsp;@nbsp;@nbsp;15021:32343/TCP,80:30088/TCP,443:31869/TCP,31400:32308/TCP,15443:32213/TCP@nbsp;3m17s@nbsp;

于是訪(fǎng)問(wèn)地址: http://192.168.137.115:31769/productpage

我們 bookinfo 就部署成功了。接下來(lái)我們創(chuàng )建應用

構建應用

構建一個(gè)普通的springboot工程,添加編譯插件,這里我們使用了本地的docker倉庫存儲鏡像

  1. @lt;build@gt;@nbsp;
  2. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;plugins@gt;@nbsp;
  3. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;plugin@gt;@nbsp;
  4. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;groupId@gt;org.springframework.boot@lt;/groupId@gt;@nbsp;
  5. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;artifactId@gt;spring-boot-maven-plugin@lt;/artifactId@gt;@nbsp;
  6. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;executions@gt;@nbsp;
  7. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;execution@gt;@nbsp;
  8. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;goals@gt;@nbsp;
  9. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;goal@gt;build-info@lt;/goal@gt;@nbsp;
  10. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;goal@gt;repackage@lt;/goal@gt;@nbsp;
  11. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/goals@gt;@nbsp;
  12. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/execution@gt;@nbsp;
  13. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/executions@gt;@nbsp;
  14. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/plugin@gt;@nbsp;
  15. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;plugin@gt;@nbsp;
  16. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;groupId@gt;com.google.cloud.tools@lt;/groupId@gt;@nbsp;
  17. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;artifactId@gt;jib-maven-plugin@lt;/artifactId@gt;@nbsp;
  18. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;version@gt;3.1.1@lt;/version@gt;@nbsp;
  19. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;configuration@gt;@nbsp;
  20. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;to@gt;@nbsp;
  21. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;image@gt;127.0.0.1:9001/${project.artifactId}:${project.version}@lt;/image@gt;@nbsp;
  22. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;auth@gt;@nbsp;
  23. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;username@gt;@nbsp;
  24. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;xxx@nbsp;
  25. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/username@gt;@nbsp;
  26. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;password@gt;@nbsp;
  27. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;xxx@nbsp;
  28. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/password@gt;@nbsp;
  29. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/auth@gt;@nbsp;
  30. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/to@gt;@nbsp;
  31. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;allowInsecureRegistries@gt;true@lt;/allowInsecureRegistries@gt;@nbsp;
  32. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/configuration@gt;@nbsp;
  33. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/plugin@gt;@nbsp;
  34. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@lt;/plugins@gt;@nbsp;
  35. @nbsp;@nbsp;@lt;/build@gt;@nbsp;

構建一個(gè)簡(jiǎn)單的rest,現實(shí)一個(gè)構建名稱(chēng),以及配置的一個(gè)版本號

  1. @Autowired@nbsp;
  2. BuildProperties@nbsp;buildProperties;@nbsp;
  3. @Value(@quot;${VERSION}@quot;)@nbsp;
  4. private@nbsp;String@nbsp;version;@nbsp;
  5. @nbsp;
  6. @GetMapping(@quot;/ping@quot;)@nbsp;
  7. public@nbsp;String@nbsp;ping()@nbsp;{@nbsp;
  8. @nbsp;@nbsp;@nbsp;LOGGER.info(@quot;Ping:@nbsp;name={},@nbsp;version={}@quot;,@nbsp;buildProperties.getName(),@nbsp;version);@nbsp;
  9. @nbsp;@nbsp;@nbsp;return@nbsp;@quot;I'm@nbsp;callme-service@nbsp;@quot;@nbsp;+@nbsp;version;@nbsp;
  10. }@nbsp;

創(chuàng )建 skaffold.xml 用于給 skafflod 編譯鏡像,提交集群使用

  1. apiVersion:@nbsp;skaffold/v2alpha1@nbsp;
  2. kind:@nbsp;Config@nbsp;
  3. build:@nbsp;
  4. artifacts:@nbsp;
  5. @nbsp;@nbsp;-@nbsp;image:@nbsp;127.0.0.1:9001/callme-service@nbsp;
  6. @nbsp;@nbsp;@nbsp;@nbsp;jib:@nbsp;{}@nbsp;
  7. tagPolicy:@nbsp;
  8. @nbsp;@nbsp;gitCommit:@nbsp;{}@nbsp;

創(chuàng )建k8s的部署描述k8s/deployment.yml,以及service用于訪(fǎng)問(wèn)

  1. apiVersion:@nbsp;apps/v1@nbsp;
  2. kind:@nbsp;Deployment@nbsp;
  3. metadata:@nbsp;
  4. name:@nbsp;callme-service-v1@nbsp;
  5. spec:@nbsp;
  6. replicas:@nbsp;1@nbsp;
  7. selector:@nbsp;
  8. @nbsp;@nbsp;matchLabels:@nbsp;
  9. @nbsp;@nbsp;@nbsp;@nbsp;app:@nbsp;callme-service@nbsp;
  10. @nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v1@nbsp;
  11. template:@nbsp;
  12. @nbsp;@nbsp;metadata:@nbsp;
  13. @nbsp;@nbsp;@nbsp;@nbsp;labels:@nbsp;
  14. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;app:@nbsp;callme-service@nbsp;
  15. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v1@nbsp;
  16. @nbsp;@nbsp;spec:@nbsp;
  17. @nbsp;@nbsp;@nbsp;@nbsp;containers:@nbsp;
  18. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;name:@nbsp;callme-service@nbsp;
  19. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;image:@nbsp;127.0.0.1:9001/callme-service@nbsp;
  20. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;imagePullPolicy:@nbsp;IfNotPresent@nbsp;
  21. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ports:@nbsp;
  22. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;containerPort:@nbsp;8080@nbsp;
  23. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;env:@nbsp;
  24. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;name:@nbsp;VERSION@nbsp;
  25. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;value:@nbsp;@quot;v1@quot;@nbsp;
  26. ---@nbsp;
  27. apiVersion:@nbsp;apps/v1@nbsp;
  28. kind:@nbsp;Deployment@nbsp;
  29. metadata:@nbsp;
  30. name:@nbsp;callme-service-v2@nbsp;
  31. spec:@nbsp;
  32. replicas:@nbsp;1@nbsp;
  33. selector:@nbsp;
  34. @nbsp;@nbsp;matchLabels:@nbsp;
  35. @nbsp;@nbsp;@nbsp;@nbsp;app:@nbsp;callme-service@nbsp;
  36. @nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v2@nbsp;
  37. template:@nbsp;
  38. @nbsp;@nbsp;metadata:@nbsp;
  39. @nbsp;@nbsp;@nbsp;@nbsp;labels:@nbsp;
  40. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;app:@nbsp;callme-service@nbsp;
  41. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v2@nbsp;
  42. @nbsp;@nbsp;spec:@nbsp;
  43. @nbsp;@nbsp;@nbsp;@nbsp;containers:@nbsp;
  44. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;name:@nbsp;callme-service@nbsp;
  45. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;image:@nbsp;127.0.0.1:9001/callme-service@nbsp;
  46. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;imagePullPolicy:@nbsp;IfNotPresent@nbsp;
  47. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;ports:@nbsp;
  48. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;containerPort:@nbsp;8080@nbsp;
  49. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;env:@nbsp;
  50. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;name:@nbsp;VERSION@nbsp;
  51. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;value:@nbsp;@quot;v2@quot;@nbsp;
  52. ---@nbsp;
  53. apiVersion:@nbsp;v1@nbsp;
  54. kind:@nbsp;Service@nbsp;
  55. metadata:@nbsp;
  56. name:@nbsp;callme-service@nbsp;
  57. labels:@nbsp;
  58. @nbsp;@nbsp;app:@nbsp;callme-service@nbsp;
  59. spec:@nbsp;
  60. type:@nbsp;NodePort@nbsp;
  61. ports:@nbsp;
  62. -@nbsp;port:@nbsp;8080@nbsp;
  63. @nbsp;@nbsp;name:@nbsp;http@nbsp;
  64. @nbsp;@nbsp;nodePort:@nbsp;30101@nbsp;
  65. selector:@nbsp;
  66. @nbsp;@nbsp;app:@nbsp;callme-service@nbsp;

創(chuàng )建 istio描述文件 k8sistio-rules.yaml

  1. apiVersion:@nbsp;networking.istio.io/v1beta1@nbsp;
  2. kind:@nbsp;DestinationRule@nbsp;
  3. metadata:@nbsp;
  4. name:@nbsp;callme-service-destination@nbsp;
  5. spec:@nbsp;
  6. host:@nbsp;callme-service@nbsp;
  7. subsets:@nbsp;
  8. @nbsp;@nbsp;-@nbsp;name:@nbsp;v1@nbsp;
  9. @nbsp;@nbsp;@nbsp;@nbsp;labels:@nbsp;
  10. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v1@nbsp;
  11. @nbsp;@nbsp;-@nbsp;name:@nbsp;v2@nbsp;
  12. @nbsp;@nbsp;@nbsp;@nbsp;labels:@nbsp;
  13. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;version:@nbsp;v2@nbsp;
  14. #@nbsp;trafficPolicy:@nbsp;#@nbsp;---@nbsp;enable@nbsp;for@nbsp;adding@nbsp;circuit@nbsp;breaker@nbsp;into@nbsp;DestinationRule@nbsp;
  15. #@nbsp;@nbsp;@nbsp;connectionPool:@nbsp;
  16. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;http:@nbsp;
  17. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;http1MaxPendingRequests:@nbsp;1@nbsp;
  18. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;maxRequestsPerConnection:@nbsp;1@nbsp;
  19. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;maxRetries:@nbsp;0@nbsp;
  20. #@nbsp;@nbsp;@nbsp;outlierDetection:@nbsp;
  21. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;consecutive5xxErrors:@nbsp;3@nbsp;
  22. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;interval:@nbsp;30s@nbsp;
  23. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;baseEjectionTime:@nbsp;1m@nbsp;
  24. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;maxEjectionPercent:@nbsp;100@nbsp;
  25. ---@nbsp;
  26. apiVersion:@nbsp;networking.istio.io/v1beta1@nbsp;
  27. kind:@nbsp;VirtualService@nbsp;
  28. metadata:@nbsp;
  29. name:@nbsp;callme-service-route@nbsp;
  30. spec:@nbsp;
  31. hosts:@nbsp;
  32. @nbsp;@nbsp;-@nbsp;callme-service@nbsp;
  33. http:@nbsp;
  34. @nbsp;@nbsp;-@nbsp;route:@nbsp;
  35. @nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;destination:@nbsp;
  36. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;host:@nbsp;callme-service@nbsp;
  37. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;subset:@nbsp;v2@nbsp;
  38. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;weight:@nbsp;80@nbsp;
  39. @nbsp;@nbsp;@nbsp;@nbsp;-@nbsp;destination:@nbsp;
  40. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;host:@nbsp;callme-service@nbsp;
  41. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;subset:@nbsp;v1@nbsp;
  42. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;weight:@nbsp;20@nbsp;
  43. @nbsp;@nbsp;@nbsp;@nbsp;retries:@nbsp;
  44. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;attempts:@nbsp;3@nbsp;
  45. @nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;retryOn:@nbsp;gateway-error,connect-failure,refused-stream@nbsp;
  46. @nbsp;@nbsp;@nbsp;@nbsp;timeout:@nbsp;0.5s@nbsp;
  47. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;fault:@nbsp;#@nbsp;---@nbsp;enable@nbsp;for@nbsp;inject@nbsp;fault@nbsp;into@nbsp;the@nbsp;route@nbsp;
  48. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;delay:@nbsp;
  49. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;percentage:@nbsp;
  50. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;value:@nbsp;33@nbsp;
  51. #@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;@nbsp;fixedDelay:@nbsp;3s@nbsp;

運行 skaffold 進(jìn)行編譯,提交鏡像,并部署應用 skaffold run --tail

  1. ?@nbsp;callme-service@nbsp;git:(master)@nbsp;?@nbsp;skaffold@nbsp;run@nbsp;--tail@nbsp;
  2. Generating@nbsp;tags...@nbsp;
  3. @nbsp;
  4. -@nbsp;127.0.0.1:9001/callme-service@nbsp;-@gt;@nbsp;127.0.0.1:9001/callme-service:e9c731f-dirty@nbsp;
  5. @nbsp;@nbsp;Checking@nbsp;cache...@nbsp;
  6. -@nbsp;127.0.0.1:9001/callme-service:@nbsp;Found@nbsp;Locally@nbsp;
  7. @nbsp;@nbsp;Starting@nbsp;test...@nbsp;
  8. @nbsp;@nbsp;Tags@nbsp;used@nbsp;in@nbsp;deployment:@nbsp;
  9. -@nbsp;127.0.0.1:9001/callme-service@nbsp;-@gt;@nbsp;127.0.0.1:9001/callme-service:60f1bf39367673fd0d30ec1305d8a02cb5a1ed43cf6603e767a98dc0523c65f3@nbsp;
  10. @nbsp;@nbsp;Starting@nbsp;deploy...@nbsp;
  11. -@nbsp;deployment.apps/callme-service-v1@nbsp;configured@nbsp;
  12. -@nbsp;deployment.apps/callme-service-v2@nbsp;configured@nbsp;
  13. -@nbsp;service/callme-service@nbsp;configured@nbsp;
  14. -@nbsp;destinationrule.networking.istio.io/callme-service-destination@nbsp;configured@nbsp;
  15. -@nbsp;virtualservice.networking.istio.io/callme-service-route@nbsp;configured@nbsp;
  16. @nbsp;@nbsp;Waiting@nbsp;for@nbsp;deployments@nbsp;to@nbsp;stabilize...@nbsp;
  17. -@nbsp;deployment/callme-service-v1:@nbsp;waiting@nbsp;for@nbsp;init@nbsp;container@nbsp;istio-init@nbsp;to@nbsp;start@nbsp;
  18. @nbsp;@nbsp;-@nbsp;pod/callme-service-v1-76dd76ddcc-znb62:@nbsp;waiting@nbsp;for@nbsp;init@nbsp;container@nbsp;istio-init@nbsp;to@nbsp;start@nbsp;
  19. -@nbsp;deployment/callme-service-v2:@nbsp;waiting@nbsp;for@nbsp;init@nbsp;container@nbsp;istio-init@nbsp;to@nbsp;start@nbsp;
  20. @nbsp;@nbsp;-@nbsp;pod/callme-service-v2-679db76bbc-m4svm:@nbsp;waiting@nbsp;for@nbsp;init@nbsp;container@nbsp;istio-init@nbsp;to@nbsp;start@nbsp;
  21. -@nbsp;deployment/callme-service-v2@nbsp;is@nbsp;ready.@nbsp;[1/2@nbsp;deployment(s)@nbsp;still@nbsp;pending]@nbsp;
  22. -@nbsp;deployment/callme-service-v1@nbsp;is@nbsp;ready.@nbsp;
  23. @nbsp;@nbsp;Deployments@nbsp;stabilized@nbsp;in@nbsp;45.671@nbsp;seconds@nbsp;

訪(fǎng)問(wèn)查看結果

致此,我們初級的環(huán)境搭建基本完成了,對應云原生,感覺(jué)懂了一點(diǎn),好像又沒(méi)有懂,需要理解的東西還有很多,這個(gè)系列也會(huì )持續下去,希望大家和我交流,也歡迎關(guān)注,轉發(fā)。

參考鏈接;

https://piotrminkowski.com/2020/02/14/local-java-development-on-kubernetes/

https://pklinker.medium.com/integrating-a-spring-boot-application-into-an-istio-service-mesh-a55948666fd

https://blog.csdn.net/xixingzhe2/article/details/88537038

https://blog.csdn.net/chenleiking/article/details/86716049

原文地址:https://mp.weixin.qq.com/s/2_Uh7zLlYwlUBDoMTJ97Pw

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

伊人久久精品欧洲综合网| 激情综合一区二区三区| 亚洲午夜国产精品无码老牛影视| 人妻少妇久久中文字幕一区二区| 亚洲А∨无码2019在线观看| 亚洲AV无码专区亚洲AV|