2023-11-06 10:20:58 +08:00

94 lines
2.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: iot-box-user-api
name: iot-box-user-api
namespace: qiuguo-iot #一定要写名称空间
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: iot-box-user-api
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: iot-box-user-api
spec:
initContainers:
- name: agent-container
image: apache/skywalking-java-agent:8.7.0-alpine
volumeMounts:
- name: skywalking-agent
mountPath: /agent
command: [ "/bin/sh" ]
args: [ "-c", "cp -R /skywalking/agent /agent/" ]
imagePullSecrets:
- name: aliyun-hub-register #提前在项目下配置访问阿里云的账号密码
containers:
- image: $REGISTRY/$DOCKERHUB_NAMESPACE/qiuguo-iot:iot-box-user-api-test-v$BUILD_NUMBER
env:
- name: JAVA_TOOL_OPTIONS
value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
- name: SW_AGENT_NAME
value: "iot-box-user-api"
- name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
value: "skywalking-node.skywalking:8080"
readinessProbe:
httpGet:
path: /actuator/health
port: 8080
timeoutSeconds: 10
failureThreshold: 30
periodSeconds: 5
imagePullPolicy: Always
name: app
ports:
- containerPort: 8080
protocol: TCP
resources:
requests: #资源请求的设置
memory: 600Mi #内存清楚,容器启动的初始可用数量
limits:
memory: 600Mi
volumeMounts:
- mountPath: /home/qiuguo/logs
name: iot-logs
- name: skywalking-agent
mountPath: /skywalking
terminationMessagePath: /nfs/data/qiuguo/iot/logs
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- name: iot-logs
hostPath:
path: /nfs/data/qiuguo/iot/logs
- name: skywalking-agent
emptyDir: { }
---
apiVersion: v1
kind: Service
metadata:
labels:
app: iot-box-user-api
name: iot-box-user-api
namespace: qiuguo-iot
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: iot-box-user-api
sessionAffinity: None
type: ClusterIP