2.3.4 重新在k8s中部署服务

1、重新定义demo-receive的配置文件信息

[root@k8s-master01 springcloud]# cp demo-receive-deploy.yaml upgrade/
[root@k8s-master01 springcloud]# cd upgrade/
[root@k8s-master01 upgrade]# vim demo-receive-deploy.yaml 
# 修改第30行内容
30             value: "k8supgrade"

# 修改后的配置文件如下
[root@k8s-master01 upgrade]# cat demo-receive-deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-receive
  namespace: demo
  labels:
    app: demo-receive
  annotations:
    app: demo-receive  
spec:
  replicas: 2
  selector:
    matchLabels:
      app: demo-receive
  template:
    metadata:
      labels:
        app: demo-receive
    spec:
      containers:
      - name: receive
        image: registry.cn-hangzhou.aliyuncs.com/abroad_images/demo-receive:v0.0.1-upgrade
        imagePullPolicy: IfNotPresent 
        ports:
        - name: http-web
          containerPort: 8080
          protocol: TCP
        env:
          - name: SPRING_PROFILES_ACTIVE
            value: "k8supgrade"
          - name: SERVER_PORT
            value: "8080"
          - name: EUREKA_SERVER_ADDRESS
            value: "http://demo-eureka-0.demo-eureka:8761/eureka/,http://demo-eureka-1.demo-eureka:8761/eureka/,http://demo-eureka-2.demo-eureka:8761/eureka/"
        resources:
          limits:
            cpu: "1"
            memory: "1Gi"  
          requests:
            cpu: "100m"
            memory: "128Mi"
        readinessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 30
          timeoutSeconds: 2
          periodSeconds: 5
        livenessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 30
          timeoutSeconds: 2
          periodSeconds: 5
        # 添加启动探针(可选,适用于启动慢的应用)
        startupProbe:
          tcpSocket:
            port: 8080
          failureThreshold: 30
          periodSeconds: 10
      restartPolicy: Always

2、重新应用demo-receive的配置文件

[root@k8s-master01 upgrade]# kaf demo-receive-deploy.yaml

# 验证
[root@k8s-master01 upgrade]# kgp -n demo | grep receive
demo-receive-989c94d8d-lxvnp    1/1     Running   0          66s
demo-receive-989c94d8d-qx7tw    1/1     Running   0          36s

3、重新定义demo-handler的配置文件信息

[root@k8s-master01 springcloud]# cp demo-handler-deploy.yaml upgrade/
k8supgrade
[root@k8s-master01 springcloud]# cd upgrade/
[root@k8s-master01 upgrade]# vim demo-handler-deploy.yaml 
# 修改第30行内容
30             value: "k8supgrade"

# 修改后的配置文件如下
[root@k8s-master01 upgrade]# vim demo-handler-deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-handler
  namespace: demo
  labels:
    app: demo-handler
  annotations:
    app: demo-handler  
spec:
  replicas: 1
  selector:
    matchLabels:
      app: demo-handler
  template:
    metadata:
      labels:
        app: demo-handler
    spec:
      containers:
      - name: handler
        image: registry.cn-hangzhou.aliyuncs.com/abroad_images/demo-handler:v0.0.1-upgrade
        imagePullPolicy: IfNotPresent 
        ports:
        - name: http-web
          containerPort: 8080
          protocol: TCP
        env:
          - name: SPRING_PROFILES_ACTIVE
            value: "k8supgrade"
          - name: SERVER_PORT
            value: "8080"
          - name: EUREKA_SERVER_ADDRESS
            value: "http://demo-eureka-0.demo-eureka:8761/eureka/,http://demo-eureka-1.demo-eureka:8761/eureka/,http://demo-eureka-2.demo-eureka:8761/eureka/"
        resources:
          limits:
            cpu: "1"
            memory: "1Gi"  
          requests:
            cpu: "100m"
            memory: "128Mi"
        readinessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 30
          timeoutSeconds: 2
          periodSeconds: 5
        livenessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 30
          timeoutSeconds: 2
          periodSeconds: 5
      restartPolicy: Always

4、重新定义demo-handler的配置文件

[root@k8s-master01 upgrade]# kaf demo-handler-deploy.yaml 

# 验证
[root@k8s-master01 upgrade]# kgp -n demo | grep handler
demo-handler-6bdcd77fd9-7cjsn   1/1     Running   0          51s