[agent][deploy] - image sync operator

This commit is contained in:
zeaslity
2024-08-26 14:54:18 +08:00
parent 95872e83d7
commit 0d9dea5817
5 changed files with 357 additions and 218 deletions

View File

@@ -0,0 +1,130 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: cmii-uav-iot-dispatcher
namespace: jsntejpt
labels:
app.kubernetes.io/app-version: 5.7.0
app.kubernetes.io/managed-by: octopus-control
cmii.app: cmii-uav-iot-dispatcher
cmii.type: backend
octopus/control: backend-app-1.0.0
spec:
replicas: 1
selector:
matchLabels:
cmii.app: cmii-uav-iot-dispatcher
cmii.type: backend
template:
metadata:
creationTimestamp: null
labels:
cmii.app: cmii-uav-iot-dispatcher
cmii.type: backend
spec:
volumes:
- name: nfs-backend-log-volume
persistentVolumeClaim:
claimName: nfs-backend-log-pvc
containers:
- name: cmii-uav-iot-dispatcher
image: '10.40.51.5:8033/cmii/cmii-uav-iot-dispatcher:5.7.0'
ports:
- name: pod-port
containerPort: 8080
protocol: TCP
env:
- name: ENV
value: develop
- name: VERSION
value: 5.7.0
- name: NACOS_SYSTEM_CONFIG_NAME
value: cmii-backend-system
- name: NACOS_SERVICE_CONFIG_NAME
value: cmii-uav-iot-dispatcher
- name: NACOS_SERVER_ADDRESS
value: 'helm-nacos:8848'
- name: NACOS_NAMESPACE_ID
value: public
- name: NACOS_USERNAME
value: nacos
- name: NACOS_PASSWORD
value: KingKong@95461234
- name: SVC_NAME
value: cmlc-uav-iot-dispatcher-svc
- name: K8S_NAMESPACE
value: xmyd
- name: APPLICATION_NAME
value: cmii-uav-iot-dispatcher
- name: CUST_JAVA_OPTS
value: '-Xms500m -Xmx2500m -Dlog4j2.formatMsgNoLookups=true'
- name: NACOS_REGISTRY
value: 'helm-nacos:8848'
- name: NACOS_DISCOVERY_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: NACOS_DISCOVERY_PORT
value: '8080'
- name: BIZ_CONFIG_GROUP
value: 5.7.0
- name: SYS_CONFIG_GROUP
value: 5.7.0
- name: IMAGE_VERSION
value: 5.7.0
resources:
limits:
cpu: '2'
memory: 3Gi
requests:
cpu: 200m
memory: 500Gi
volumeMounts:
- name: nfs-backend-log-volume
mountPath: /cmii/logs
subPath: xmyd/cmii-uav-iot-dispatcher
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: { }
imagePullSecrets:
- name: harborsecret
affinity: { }
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
---
kind: Service
apiVersion: v1
metadata:
name: cmii-uav-iot-dispatcher
namespace: jsntejpt
labels:
app.kubernetes.io/app-version: 5.7.0
app.kubernetes.io/managed-by: octopus-control
cmii.app: cmii-uav-iot-dispatcher
cmii.type: backend
octopus/control: backend-app-1.0.0
spec:
ports:
- name: backend-tcp
protocol: TCP
port: 8080
targetPort: 8080
selector:
cmii.app: cmii-uav-iot-dispatcher
cmii.type: backend
type: ClusterIP
sessionAffinity: None

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -17,6 +17,7 @@ import (
"regexp" "regexp"
"strconv" "strconv"
"strings" "strings"
"time"
image2 "wdd.io/agent-common/image" image2 "wdd.io/agent-common/image"
"wdd.io/agent-common/logger" "wdd.io/agent-common/logger"
"wdd.io/agent-common/utils" "wdd.io/agent-common/utils"
@@ -321,7 +322,15 @@ func PullCmiiFromFileJson(filePathName string) {
// PullFromFullNameList 根据镜像名列表拉取全部的镜像 // PullFromFullNameList 根据镜像名列表拉取全部的镜像
func PullFromFullNameList(fullImageNameList []string) (errorPullImageList []string) { func PullFromFullNameList(fullImageNameList []string) (errorPullImageList []string) {
start := time.Now()
for _, fullImageName := range fullImageNameList { for _, fullImageName := range fullImageNameList {
if strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
since := time.Since(start)
if since < 60*time.Second {
time.Sleep(60*time.Second - since)
start = time.Now()
}
}
log.DebugF("start to pull => [%s]", fullImageName) log.DebugF("start to pull => [%s]", fullImageName)
pullResult := PullFromCmiiHarbor(fullImageName) pullResult := PullFromCmiiHarbor(fullImageName)
if pullResult == nil { if pullResult == nil {

View File

@@ -42,16 +42,16 @@ public class TestImageSyncScheduler {
)); ));
ArrayList<String> ImageFullNameList = new ArrayList<>(List.of( ArrayList<String> ImageFullNameList = new ArrayList<>(List.of(
"harbor.cdcyy.com.cn/cmii/cmii-uav-platform:5.5.0-26810-071201" "harbor.cdcyy.com.cn/cmii/cmii-uav-industrial-portfolio:5.7.0-31369-yunnan-082301"
)); ));
Boolean downloadAndCompressOnly = false; Boolean downloadAndCompressOnly = false;
// String projectNamespace = "wdd"; // wdd // String projectNamespace = "wdd"; // wdd
String projectNamespace = "cqlyj"; // 重庆林业局 // String projectNamespace = "cqlyj"; // 重庆林业局
// String projectNamespace = "jlyd"; // 吉林移动 // String projectNamespace = "jlyd"; // 吉林移动
// String projectNamespace = "jxyd"; // 吉林移动 // String projectNamespace = "jxyd"; // 吉林移动
// String projectNamespace = "xmyd"; // 厦门移动 String projectNamespace = "xmyd"; // 厦门移动
// String innerWorkerAgentName = "Chengdu-amd64-65-lapwdd"; //wdd // String innerWorkerAgentName = "Chengdu-amd64-65-lapwdd"; //wdd
String innerWorkerAgentName = "Chengdu-amd64-071-ed6e2b7f"; //prod String innerWorkerAgentName = "Chengdu-amd64-071-ed6e2b7f"; //prod