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