![](/img/trans.png)
[英]How can i compare two arbitrary versions of same project in SonarQube
[英]How can I deploy two versions of a microservice at the same time in OpenShift?
我正在关注 Service Mesh 的 ISTIO 教程,但在复制他们执行的步骤之一时遇到了问题。
https://docs.huihoo.com/microservices/introducing-istio-service-mesh-for-microservices.pdf
他们有一个名为 Recommendation 的 Java 应用程序,他们部署了两次。
docker build -t example/recommendation:v1 .
docker build -t example/recommendation:v2 .
我有一个 Java 应用程序 TEST,部署在 OpenShift 中,我想复制和更改版本,所以我有 TEST-V1 和 TEST-V2。 我该怎么做? 我是否需要使用不同的 Deployment.yaml 两次部署应用程序?
提前致谢。
首先,你的命令:
docker build -t example/recommendation:v1 .
docker build -t example/recommendation:v2 .
不是部署。 你所做的是构建 docker image 。
这是为第一个示例部署服务的行:
oc apply -f <(istioctl kube-inject -f \ src/main/kubernetes/Deployment.yml) -n tutorial
第二:
最后,注入 Istio sidecar 代理并将其部署到 Kubernetes:
oc apply -f <(istioctl kube-inject -f \ src/main/kubernetes/Deployment-v2.yml) -n tutorial
如果您更改版本,您会问是否需要部署2次。 首先,您需要知道您正在对容器进行操作。 docker build
命令会为您创建一个容器,稍后您将使用该容器。 如果您创建应用程序的新版本,您应该创建一个新容器。 它们相似但不完全相同。 这意味着,从 OpenShift / Kubernetes 的角度来看,它们是完全不同的 docker 镜像。 每次更改容器映像时,都需要部署到 Kubernetes / OpenShift。 您需要为每个 docker 映像更改执行一次。
我该怎么做? 我是否需要使用不同的 Deployment.yaml 两次部署应用程序?
基本上 - 是的。 最后,您需要的是指向不同 Pod 的两个服务端点。 您可以将服务端点放在同一个部署文件中,但为了稳健起见,我将使用完全不同的部署。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.