编写petclinic-service.yml
apiVersion: v1kind: Servicemetadata:name: petclinicspec:ports:- name: httpport: 8080targetPort: 8080nodePort: 31080selector:app: petclinicversion: v2 #添加指定labels的版本type: NodePort
编写petclinic-pod-v1.yml
apiVersion: v1 kind: Pod metadata: name: petclinic-v1 labels: app: petclinic version: v1 #指定selector版本 spec: containers: - name: petclinic-v1 image: xushencong/petclinic:v1编写petclinic-pod-v2.yml
apiVersion: v1 kind: Pod metadata: name: petclinic-v2 labels: app: petclinic version: v2 #指定selector版本 spec: containers: - name: petclinic-v2 image: xushencong/petclinic:v2```shell
部署
[~/docker/pod-in-action/03]$ kubectl apply -f . pod/petclinic-v1 created pod/petclinic-v2 created service/petclinic created
查看运行状态
[~/docker/pod-in-action/03]$ kubectl get all NAME READY STATUS RESTARTS AGE pod/petclinic-v1 1/1 Running 0 15s pod/petclinic-v2 1/1 Running 0 15s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1
查看详细
[~/docker/pod-in-action/03]$ kubectl describe svc petclinic
Name: petclinic
Namespace: default
Labels:
启动minikube
[~/docker/pod-in-action/03]$ minikube service petclinic |—————-|—————-|——————-|—————————————-| | NAMESPACE | NAME | TARGET PORT | URL | |—————-|—————-|——————-|—————————————-| | default | petclinic | http/8080 | http://192.168.49.2:31080 | |—————-|—————-|——————-|—————————————-| 🏃 Starting tunnel for service petclinic. |—————-|—————-|——————-|————————————| | NAMESPACE | NAME | TARGET PORT | URL | |—————-|—————-|——————-|————————————| | default | petclinic | | http://127.0.0.1:50745 | |—————-|—————-|——————-|————————————|
修改petclinic-service.yml指定版本,部署即可实现蓝绿发布
```
