diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 713a0b6..a9e45c4 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,15 +4,16 @@
-
-
+
+
+
-
+
-
-
+
+
+
-
@@ -56,42 +57,44 @@
- {
+ "keyToString": {
+ "DefaultGoTemplateProperty": "Go File",
+ "Go Build.agent-wdd运行.executor": "Run",
+ "Go Build.go build agent-wdd.executor": "Run",
+ "Go Test.3580-cmii镜像.executor": "Run",
+ "Go Test.DCU-RKE-35.80.executor": "Run",
+ "Go Test.DCU-中间件.executor": "Run",
+ "Go Test.DCU全部CMII镜像.executor": "Run",
+ "Go Test.TestCmiiEnvDeploy_WddSuperCluster in wdd.io/agent-operator (1).executor": "Run",
+ "Go Test.TestCmiiEnvDeploy_WddSuperCluster in wdd.io/agent-operator.executor": "Run",
+ "Go Test.TestCmiiEnvDeploy_XiongAnKongNengYuan in wdd.io/agent-operator.executor": "Run",
+ "Go Test.TestCmiiEnvDeploy_ZhejiangErjiPingTai in wdd.io/agent-operator.executor": "Run",
+ "Go Test.TestHarborOperator_ArtifactListAll in wdd.io/agent-operator/image (1).executor": "Run",
+ "Go Test.TestHarborOperator_ArtifactListAll in wdd.io/agent-operator/image.executor": "Run",
+ "Go Test.TestHarborOperator_RepoListAll in wdd.io/agent-operator/image.executor": "Run",
+ "Go Test.查询可删除Tag3580.executor": "Run",
+ "Go Test.清理CMII镜像-35.80.executor": "Run",
+ "Go Test.院内Harbor清理-35.80.executor": "Run",
+ "PowerShell.one-build-and-upload.ps1 (1).executor": "Run",
+ "PowerShell.one-build-and-upload.ps1.executor": "Run",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "RunOnceActivity.git.unshallow": "true",
+ "RunOnceActivity.go.formatter.settings.were.checked": "true",
+ "RunOnceActivity.go.migrated.go.modules.settings": "true",
+ "RunOnceActivity.typescript.service.memoryLimit.init": "true",
+ "git-widget-placeholder": "main",
+ "go.import.settings.migrated": "true",
+ "last_opened_file_path": "C:/Users/wddsh/Documents/IdeaProjects/WddSuperAgent/agent-common/SplitProject/监管平台-Doris-k8s",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "Errors",
+ "vue.rearranger.settings.migration": "true"
}
-}]]>
+}
@@ -99,7 +102,7 @@
-
+
@@ -122,17 +125,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -177,6 +169,7 @@
+
@@ -193,6 +186,7 @@
+
@@ -201,7 +195,8 @@
-
+
+
@@ -284,7 +279,14 @@
-
+
+
+
+
+
+
+
+
@@ -310,7 +312,15 @@
1762332282382
-
+
+
+ 1765204179190
+
+
+
+ 1765204179190
+
+
@@ -320,10 +330,8 @@
-
-
-
- true
+
+
diff --git a/.run/DCU-中间件.run.xml b/.run/DCU-中间件.run.xml
new file mode 100644
index 0000000..92dc70a
--- /dev/null
+++ b/.run/DCU-中间件.run.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/agent-common/real_project/CmiiImageListConfig.go b/agent-common/real_project/CmiiImageListConfig.go
index 482f4ed..a942cb0 100644
--- a/agent-common/real_project/CmiiImageListConfig.go
+++ b/agent-common/real_project/CmiiImageListConfig.go
@@ -40,6 +40,20 @@ var CmiiUas21XAImageList = []string{
"harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:pro-2.1.0",
}
+var CmiiUas22ImageList = []string{
+ "harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:2.2.0-pro-20251031",
+ "harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:2.2.0-pro-20251120",
+ "harbor.cdcyy.com.cn/cmii/cmii-uas-perception-live:2.2.0-pro-20251031",
+ "harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:2.2.0-pro-20251104",
+ "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uasms:2.2.0-pro-20251223",
+ "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uas:2.2.0-pro-20251223",
+ "harbor.cdcyy.com.cn/cmii/cmii-uavms-pyfusion:6.3.6",
+ "harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:2.2.0-pro-20251104",
+ "harbor.cdcyy.com.cn/cmii/cmii-inference-hub:2.2.0-pro-20251031",
+ "harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:2.2.0-pro-20251031",
+ "harbor.cdcyy.com.cn/cmii/cmii-live-oerator:5.2.0",
+}
+
var CmiiDorisImageList = []string{
"harbor.cdcyy.com.cn/cmii/doris.fe-amd64:2.1.6",
"harbor.cdcyy.com.cn/cmii/doris.be-amd64:2.1.6",
diff --git a/agent-common/real_project/wdd-rmdc/k8s-backend.yaml b/agent-common/real_project/wdd-rmdc/k8s-backend.yaml
new file mode 100644
index 0000000..51f989d
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-backend.yaml
@@ -0,0 +1,1225 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-sense-adapter
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-sense-adapter
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:pro-2.1.0
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-sense-adapter
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:pro-2.1.0
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-sense-adapter
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-sense-adapter
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-gateway
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 0
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-gateway
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:2.1-test-prof
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-gateway
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:2.1-test-prof
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-gateway
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-gateway
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-lifecycle
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 0
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-lifecycle
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:2.1-test-20250801
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-lifecycle
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:2.1-test-20250801
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-lifecycle
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-lifecycle
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-lifecycle-kny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-lifecycle-kny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle-kny:5.7.0-snapshot
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-lifecycle-kny
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle-kny:5.7.0-snapshot
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-lifecycle-kny
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-lifecycle-kny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-material-warehouse
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-material-warehouse
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:master-2.1-20250704
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-material-warehouse
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:master-2.1-20250704
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-material-warehouse
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-material-warehouse
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uavms-pyfusion
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uavms-pyfusion
+ image: harbor.cdcyy.com.cn/cmii/cmii-uavms-pyfusion:6.3.6
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uavms-pyfusion
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uavms-pyfusion:6.3.6
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uavms-pyfusion
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uavms-pyfusion
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-iot-dispatcher
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-iot-dispatcher
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:6.2.0-focus
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-iot-dispatcher
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:6.2.0-focus
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-iot-dispatcher
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-iot-dispatcher
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
diff --git a/agent-common/real_project/wdd-rmdc/k8s-configmap.yaml b/agent-common/real_project/wdd-rmdc/k8s-configmap.yaml
new file mode 100644
index 0000000..e761d6c
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-configmap.yaml
@@ -0,0 +1,672 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-securityh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "securityh5",
+ AppClientId: "APP_N3ImO0Ubfu9peRHD"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-smauth
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "smauth",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-dikongzhixingh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "dikongzhixingh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-supervisionh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "supervisionh5",
+ AppClientId: "APP_qqSu82THfexI8PLM"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-detection
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "detection",
+ AppClientId: "APP_FDHW2VLVDWPnnOCy"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-media
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "media",
+ AppClientId: "APP_4AU8lbifESQO4FD6"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-security
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "security",
+ AppClientId: "APP_JUSEMc7afyWXxvE7"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-seniclive
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "seniclive",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-threedsimulation
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "threedsimulation",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-visualization
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "visualization",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uas
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uas",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-cmsportal
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "cmsportal",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-logistics
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "logistics",
+ AppClientId: "APP_PvdfRRRBPL8xbIwl"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-oms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "oms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-jiangsuwenlv
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "jiangsuwenlv",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-qingdao
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "qingdao",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uasms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uasms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-blockchain
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "blockchain",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-classification
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "classification",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-supervision
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "supervision",
+ AppClientId: "APP_qqSu82THfexI8PLM"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-pangu
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-ai-brain
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "ai-brain",
+ AppClientId: "APP_rafnuCAmBESIVYMH"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-open
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "open",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-traffic
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "traffic",
+ AppClientId: "APP_Jc8i2wOQ1t73QEJS"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-dispatchh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "dispatchh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-pilot2cloud
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "pilot2cloud",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-smsecret
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "smsecret",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-multiterminal
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "multiterminal",
+ AppClientId: "APP_PvdfRRRBPL8xbIwl"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-splice
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "splice",
+ AppClientId: "APP_zE0M3sTRXrCIJS8Y"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-hljtt
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "hljtt",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uasms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uasms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uas
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uas",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-scanner
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "scanner",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-secenter
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "secenter",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uavmsmanager
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uavmsmanager",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-qinghaitourism
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "qinghaitourism",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-eventsh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "eventsh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-mianyangbackend
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "mianyangbackend",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-flight-control
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "flight-control",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-armypeople
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "armypeople",
+ AppClientId: "APP_UIegse6Lfou9pO1U"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-share
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "share",
+ AppClientId: "APP_4lVSVI0ZGxTssir8"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-renyike
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "renyike",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-awareness
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "awareness",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-base
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "base",
+ AppClientId: "APP_9LY41OaKSqk2btY0"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-emergency
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "emergency",
+ AppClientId: "APP_aGsTAY1uMZrpKdfk"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-mws
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "mws",
+ AppClientId: "APP_uKniXPELlRERBBwK"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-hyper
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "hyper",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-iot
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "iot",
+ AppClientId: "empty"
+ }
diff --git a/agent-common/real_project/wdd-rmdc/k8s-dashboard.yaml b/agent-common/real_project/wdd-rmdc/k8s-dashboard.yaml
new file mode 100644
index 0000000..5131e2d
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-dashboard.yaml
@@ -0,0 +1,309 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: kube-system
+
+---
+
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+kind: Service
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ kubernetes.io/cluster-service: "true"
+ name: kubernetes-dashboard
+ namespace: kube-system
+spec:
+ ports:
+ - port: 443
+ targetPort: 8443
+ nodePort: 39999
+ selector:
+ k8s-app: kubernetes-dashboard
+ type: NodePort
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-certs
+ namespace: kube-system
+type: Opaque
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-csrf
+ namespace: kube-system
+type: Opaque
+data:
+ csrf: ""
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-key-holder
+ namespace: kube-system
+type: Opaque
+
+---
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-settings
+ namespace: kube-system
+
+---
+
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+rules:
+ # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
+ - apiGroups: [""]
+ resources: ["secrets"]
+ resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
+ verbs: ["get", "update", "delete"]
+ # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
+ - apiGroups: [""]
+ resources: ["configmaps"]
+ resourceNames: ["kubernetes-dashboard-settings"]
+ verbs: ["get", "update"]
+ # Allow Dashboard to get metrics.
+ - apiGroups: [""]
+ resources: ["services"]
+ resourceNames: ["heapster", "dashboard-metrics-scraper"]
+ verbs: ["proxy"]
+ - apiGroups: [""]
+ resources: ["services/proxy"]
+ resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
+ verbs: ["get"]
+
+---
+
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+rules:
+ # Allow Metrics Scraper to get metrics from the Metrics server
+ - apiGroups: ["metrics.k8s.io"]
+ resources: ["pods", "nodes"]
+ verbs: ["get", "list", "watch"]
+
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: kubernetes-dashboard
+subjects:
+ - kind: ServiceAccount
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kubernetes-dashboard
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: kubernetes-dashboard
+subjects:
+ - kind: ServiceAccount
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+spec:
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ k8s-app: kubernetes-dashboard
+ template:
+ metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: kubernetes-dashboard
+ image: harbor.cdcyy.com.cn/cmii/dashboard:v2.0.1
+ ports:
+ - containerPort: 8443
+ protocol: TCP
+ args:
+ - --auto-generate-certificates
+ - --namespace=kube-system
+ # Uncomment the following line to manually specify Kubernetes API server Host
+ # If not specified, Dashboard will attempt to auto discover the API server and connect
+ # to it. Uncomment only if the default does not work.
+ # - --apiserver-host=http://my-address:port
+ volumeMounts:
+ - name: kubernetes-dashboard-certs
+ mountPath: /certs
+ # Create on-disk volume to store exec logs
+ - mountPath: /tmp
+ name: tmp-volume
+ livenessProbe:
+ httpGet:
+ scheme: HTTPS
+ path: /
+ port: 8443
+ initialDelaySeconds: 30
+ timeoutSeconds: 30
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsUser: 1001
+ runAsGroup: 2001
+ volumes:
+ - name: kubernetes-dashboard-certs
+ secret:
+ secretName: kubernetes-dashboard-certs
+ - name: tmp-volume
+ emptyDir: {}
+ serviceAccountName: kubernetes-dashboard
+ # Comment the following tolerations if Dashboard must not be deployed on master
+ tolerations:
+ - key: node-role.kubernetes.io/master
+ effect: NoSchedule
+
+---
+
+kind: Service
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ name: dashboard-metrics-scraper
+ namespace: kube-system
+spec:
+ ports:
+ - port: 8000
+ targetPort: 8000
+ selector:
+ k8s-app: dashboard-metrics-scraper
+
+---
+
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ name: dashboard-metrics-scraper
+ namespace: kube-system
+spec:
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ k8s-app: dashboard-metrics-scraper
+ template:
+ metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ annotations:
+ seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
+ spec:
+ containers:
+ - name: dashboard-metrics-scraper
+ image: harbor.cdcyy.com.cn/cmii/metrics-scraper:v1.0.4
+ ports:
+ - containerPort: 8000
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ scheme: HTTP
+ path: /
+ port: 8000
+ initialDelaySeconds: 30
+ timeoutSeconds: 30
+ volumeMounts:
+ - mountPath: /tmp
+ name: tmp-volume
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsUser: 1001
+ runAsGroup: 2001
+ serviceAccountName: kubernetes-dashboard
+ # Comment the following tolerations if Dashboard must not be deployed on master
+ tolerations:
+ - key: node-role.kubernetes.io/master
+ effect: NoSchedule
+ volumes:
+ - name: tmp-volume
+ emptyDir: {}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: admin-user
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: admin-user
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+ - kind: ServiceAccount
+ name: admin-user
+ namespace: kube-system
diff --git a/agent-common/real_project/wdd-rmdc/k8s-emqx.yaml b/agent-common/real_project/wdd-rmdc/k8s-emqx.yaml
new file mode 100644
index 0000000..d4ca9d0
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-emqx.yaml
@@ -0,0 +1,375 @@
+---
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-emqxs-env
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ helm.sh/chart: emqx-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+data:
+ # 集群相关
+ EMQX_CLUSTER__DISCOVERY: "k8s"
+ EMQX_CLUSTER__K8S__APISERVER: "https://kubernetes.default.svc.cluster.local:443"
+ EMQX_CLUSTER__K8S__APP_NAME: "helm-emqxs"
+ EMQX_CLUSTER__K8S__SERVICE_NAME: "helm-emqxs-headless"
+ EMQX_CLUSTER__K8S__ADDRESS_TYPE: "dns"
+ EMQX_CLUSTER__K8S__NAMESPACE: "wdd-rmdc"
+ EMQX_CLUSTER__K8S__SUFFIX: "svc.cluster.local"
+ # 关闭匿名,默认 ACL 不匹配拒绝
+ EMQX_AUTH__ALLOW_ANONYMOUS: "false"
+ EMQX_AUTHZ__NO_MATCH: "deny"
+ # Dashboard 初始管理员密码(只在第一次启动时生效)
+ EMQX_DASHBOARD__DEFAULT_PASSWORD: "odD8#Ve7.B"
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-emqxs-init-script
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+data:
+ init-mqtt-user.sh: |
+ #!/bin/sh
+ set -e
+ DASHBOARD_USER="admin"
+ DASHBOARD_PASS="odD8#Ve7.B"
+ MQTT_USER="admin"
+ MQTT_PASS="odD8#Ve7.B"
+ # 等待 EMQX 本地 API 就绪
+ EMQX_API="http://localhost:18083/api/v5"
+ echo "等待 EMQX API 就绪..."
+ for i in $(seq 1 120); do
+ if curl -s -f -m 5 "${EMQX_API}/status" > /dev/null 2>&1; then
+ echo "EMQX API 已就绪"
+ break
+ fi
+ echo "等待中... ($i/120)"
+ sleep 5
+ done
+ # 修改 Dashboard 管理员密码
+ echo "修改 Dashboard 管理员密码..."
+ /opt/emqx/bin/emqx ctl admins passwd "${DASHBOARD_USER}" "${DASHBOARD_PASS}" || echo "密码可能已设置"
+ echo "Dashboard 密码设置完成"
+ # 获取 Dashboard Token
+ echo "获取 Dashboard Token..."
+ TOKEN=$(curl -s -X POST "${EMQX_API}/login" \
+ -H 'Content-Type: application/json' \
+ -d "{\"username\":\"${DASHBOARD_USER}\",\"password\":\"${DASHBOARD_PASS}\"}" \
+ | grep -o '"token":"[^"]*' | cut -d'"' -f4)
+ if [ -z "$TOKEN" ]; then
+ echo "ERROR: 无法获取 Token"
+ exit 1
+ fi
+ echo "Token 获取成功"
+ # 创建内置数据库认证器(使用 listeners 作用域)
+ echo "检查并创建内置数据库认证器..."
+ # 为 tcp:default listener 添加认证器
+ echo "为 listener tcp:default 配置认证器..."
+ curl -s -X POST "${EMQX_API}/authentication/tcp:default" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "mechanism": "password_based",
+ "backend": "built_in_database",
+ "user_id_type": "username",
+ "password_hash_algorithm": {
+ "name": "sha256",
+ "salt_position": "suffix"
+ }
+ }' 2>/dev/null || echo "tcp:default 认证器可能已存在"
+ # 为 ws:default listener 添加认证器
+ echo "为 listener ws:default 配置认证器..."
+ curl -s -X POST "${EMQX_API}/authentication/ws:default" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "mechanism": "password_based",
+ "backend": "built_in_database",
+ "user_id_type": "username",
+ "password_hash_algorithm": {
+ "name": "sha256",
+ "salt_position": "suffix"
+ }
+ }' 2>/dev/null || echo "ws:default 认证器可能已存在"
+ # 等待认证器创建完成
+ sleep 2
+ # 创建 MQTT 用户
+ echo "创建 MQTT 用户: ${MQTT_USER}..."
+ curl -s -X POST "${EMQX_API}/authentication/password_based:built_in_database/users?listener_id=tcp:default" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d "{\"user_id\":\"${MQTT_USER}\",\"password\":\"${MQTT_PASS}\",\"is_superuser\":true}" \
+ 2>/dev/null || echo "用户可能已存在,尝试更新..."
+ # 尝试更新密码
+ curl -s -X PUT "${EMQX_API}/authentication/password_based:built_in_database/users/${MQTT_USER}?listener_id=tcp:default" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d "{\"password\":\"${MQTT_PASS}\",\"is_superuser\":true}" \
+ 2>/dev/null || true
+ echo "MQTT 用户创建/更新完成"
+ # 创建授权规则
+ echo "配置授权规则..."
+ # 创建内置数据库授权源
+ curl -s -X POST "${EMQX_API}/authorization/sources" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "type": "built_in_database",
+ "enable": true
+ }' 2>/dev/null || echo "授权源可能已存在"
+ sleep 2
+ # 为 admin 用户添加授权规则(使用数组格式)
+ echo "为 ${MQTT_USER} 用户添加 ACL 规则..."
+ curl -s -X POST "${EMQX_API}/authorization/sources/built_in_database/rules/users" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d "[{\"username\":\"${MQTT_USER}\",\"rules\":[{\"action\":\"all\",\"permission\":\"allow\",\"topic\":\"#\"}]}]" \
+ 2>/dev/null && echo "ACL 规则创建成功" || echo "规则可能已存在,尝试更新..."
+ # 尝试更新规则(PUT 请求需要单个对象,不是数组)
+ curl -s -X PUT "${EMQX_API}/authorization/sources/built_in_database/rules/users/${MQTT_USER}" \
+ -H "Authorization: Bearer ${TOKEN}" \
+ -H 'Content-Type: application/json' \
+ -d "{\"rules\":[{\"action\":\"all\",\"permission\":\"allow\",\"topic\":\"#\"}]}" \
+ 2>/dev/null && echo "ACL 规则更新成功" || true
+ echo "ACL 规则配置完成"
+ echo "初始化完成!MQTT 用户: ${MQTT_USER}"
+ echo "可通过以下方式连接:"
+ echo " - MQTT: localhost:1883"
+ echo " - WebSocket: localhost:8083"
+ echo " - Dashboard: http://localhost:18083"
+ echo " - 用户名: ${MQTT_USER}"
+
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ helm.sh/chart: emqx-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ replicas: 1
+ serviceName: helm-emqxs-headless
+ updateStrategy:
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ template:
+ metadata:
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ helm.sh/chart: emqx-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: helm-emqxs
+ containers:
+ - name: helm-emqxs
+ image: harbor.cdcyy.com.cn/cmii/emqx:5.8.8
+ imagePullPolicy: Always
+ ports:
+ - name: mqtt
+ containerPort: 1883
+ - name: mqttssl
+ containerPort: 8883
+ - name: mgmt
+ containerPort: 8081
+ - name: ws
+ containerPort: 8083
+ - name: wss
+ containerPort: 8084
+ - name: dashboard
+ containerPort: 18083
+ - name: ekka
+ containerPort: 4370
+ envFrom:
+ - configMapRef:
+ name: helm-emqxs-env
+ # 添加生命周期钩子
+ lifecycle:
+ postStart:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - |
+ # 后台执行初始化脚本,避免阻塞容器启动
+ nohup /bin/sh /scripts/init-mqtt-user.sh > /tmp/init.log 2>&1 &
+ # 添加健康检查,确保 initContainer 执行时 API 已就绪
+ livenessProbe:
+ httpGet:
+ path: /status
+ port: 18083
+ initialDelaySeconds: 60
+ periodSeconds: 30
+ readinessProbe:
+ httpGet:
+ path: /status
+ port: 18083
+ initialDelaySeconds: 10
+ periodSeconds: 5
+ resources: {}
+ volumeMounts:
+ # 5.x 默认 data 目录,包含所有持久化数据
+ - name: emqx-data
+ mountPath: "/opt/emqx/data"
+ readOnly: false
+ - name: init-script
+ mountPath: /scripts
+ volumes:
+ - name: emqx-data
+ claimName: helm-emqxs
+ - name: init-script
+ configMap:
+ name: helm-emqxs-init-script
+ defaultMode: 0755
+
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+rules:
+- apiGroups: [""]
+ resources:
+ - endpoints
+ verbs:
+ - get
+ - watch
+ - list
+
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+subjects:
+- kind: ServiceAccount
+ name: helm-emqxs
+ namespace: wdd-rmdc
+roleRef:
+ kind: Role
+ name: helm-emqxs
+ apiGroup: rbac.authorization.k8s.io
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ helm.sh/chart: emqx-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: NodePort
+ selector:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ ports:
+ - port: 1883
+ name: mqtt
+ targetPort: 1883
+ nodePort: 31883
+ - port: 18083
+ name: dashboard
+ targetPort: 18083
+ nodePort: 38085
+ - port: 8083
+ name: mqtt-websocket
+ targetPort: 8083
+ nodePort: 38083
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-emqxs-headless
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ helm.sh/chart: emqx-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ cmii.type: middleware
+ cmii.app: helm-emqxs
+ cmii.emqx.architecture: cluster
+ ports:
+ - name: mqtt
+ port: 1883
+ protocol: TCP
+ targetPort: 1883
+ - name: mqttssl
+ port: 8883
+ protocol: TCP
+ targetPort: 8883
+ - name: mgmt
+ port: 8081
+ protocol: TCP
+ targetPort: 8081
+ - name: websocket
+ port: 8083
+ protocol: TCP
+ targetPort: 8083
+ - name: wss
+ port: 8084
+ protocol: TCP
+ targetPort: 8084
+ - name: dashboard
+ port: 18083
+ protocol: TCP
+ targetPort: 18083
+ - name: ekka
+ port: 4370
+ protocol: TCP
+ targetPort: 4370
diff --git a/agent-common/real_project/wdd-rmdc/k8s-frontend.yaml b/agent-common/real_project/wdd-rmdc/k8s-frontend.yaml
new file mode 100644
index 0000000..47f1d27
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-frontend.yaml
@@ -0,0 +1,203 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: nginx-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+data:
+ nginx.conf: |
+ server {
+ listen 9528;
+ server_name localhost;
+ gzip on;
+
+ location / {
+ root /home/cmii-platform/dist;
+ index index.html index.htm;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root html;
+ }
+ }
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-platform-uasmskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ template:
+ metadata:
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-platform-uasmskny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uasmskny:develop-0807
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-platform-uasmskny
+ ports:
+ - name: platform-9528
+ containerPort: 9528
+ protocol: TCP
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 50m
+ memory: 50Mi
+ volumeMounts:
+ - name: nginx-conf
+ mountPath: /etc/nginx/conf.d/nginx.conf
+ subPath: nginx.conf
+ - name: tenant-prefix
+ subPath: ingress-config.js
+ mountPath: /home/cmii-platform/dist/ingress-config.js
+ volumes:
+ - name: nginx-conf
+ configMap:
+ name: nginx-cm
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+ - name: tenant-prefix
+ configMap:
+ name: tenant-prefix-uasms
+ items:
+ - key: ingress-config.js
+ path: ingress-config.js
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-platform-uasmskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ ports:
+ - name: web-svc-port
+ port: 9528
+ protocol: TCP
+ targetPort: 9528
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-platform-uaskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ template:
+ metadata:
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-platform-uaskny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uaskny:5.7.0-snapshot
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-platform-uaskny
+ ports:
+ - name: platform-9528
+ containerPort: 9528
+ protocol: TCP
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 50m
+ memory: 50Mi
+ volumeMounts:
+ - name: nginx-conf
+ mountPath: /etc/nginx/conf.d/nginx.conf
+ subPath: nginx.conf
+ - name: tenant-prefix
+ subPath: ingress-config.js
+ mountPath: /home/cmii-platform/dist/ingress-config.js
+ volumes:
+ - name: nginx-conf
+ configMap:
+ name: nginx-cm
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+ - name: tenant-prefix
+ configMap:
+ name: tenant-prefix-uas
+ items:
+ - key: ingress-config.js
+ path: ingress-config.js
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-platform-uaskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ ports:
+ - name: web-svc-port
+ port: 9528
+ protocol: TCP
+ targetPort: 9528
diff --git a/agent-common/real_project/wdd-rmdc/k8s-ingress.yaml b/agent-common/real_project/wdd-rmdc/k8s-ingress.yaml
new file mode 100644
index 0000000..3bb4a4c
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-ingress.yaml
@@ -0,0 +1,826 @@
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: frontend-applications-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: frontend
+ octopus.control: all-ingress-config-wdd
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$1
+ nginx.ingress.kubernetes.io/configuration-snippet: |
+ rewrite ^(/supervision)$ $1/ redirect;
+ rewrite ^(/supervisionh5)$ $1/ redirect;
+ rewrite ^(/pangu)$ $1/ redirect;
+ rewrite ^(/ai-brain)$ $1/ redirect;
+ rewrite ^(/armypeople)$ $1/ redirect;
+ rewrite ^(/awareness)$ $1/ redirect;
+ rewrite ^(/base)$ $1/ redirect;
+ rewrite ^(/blockchain)$ $1/ redirect;
+ rewrite ^(/classification)$ $1/ redirect;
+ rewrite ^(/cmsportal)$ $1/ redirect;
+ rewrite ^(/detection)$ $1/ redirect;
+ rewrite ^(/dikongzhixingh5)$ $1/ redirect;
+ rewrite ^(/dispatchh5)$ $1/ redirect;
+ rewrite ^(/emergency)$ $1/ redirect;
+ rewrite ^(/eventsh5)$ $1/ redirect;
+ rewrite ^(/flight-control)$ $1/ redirect;
+ rewrite ^(/hljtt)$ $1/ redirect;
+ rewrite ^(/hyper)$ $1/ redirect;
+ rewrite ^(/iot)$ $1/ redirect;
+ rewrite ^(/jiangsuwenlv)$ $1/ redirect;
+ rewrite ^(/logistics)$ $1/ redirect;
+ rewrite ^(/media)$ $1/ redirect;
+ rewrite ^(/mianyangbackend)$ $1/ redirect;
+ rewrite ^(/multiterminal)$ $1/ redirect;
+ rewrite ^(/mws)$ $1/ redirect;
+ rewrite ^(/oms)$ $1/ redirect;
+ rewrite ^(/open)$ $1/ redirect;
+ rewrite ^(/pilot2cloud)$ $1/ redirect;
+ rewrite ^(/qingdao)$ $1/ redirect;
+ rewrite ^(/qinghaitourism)$ $1/ redirect;
+ rewrite ^(/renyike)$ $1/ redirect;
+ rewrite ^(/scanner)$ $1/ redirect;
+ rewrite ^(/security)$ $1/ redirect;
+ rewrite ^(/securityh5)$ $1/ redirect;
+ rewrite ^(/seniclive)$ $1/ redirect;
+ rewrite ^(/share)$ $1/ redirect;
+ rewrite ^(/smauth)$ $1/ redirect;
+ rewrite ^(/smsecret)$ $1/ redirect;
+ rewrite ^(/splice)$ $1/ redirect;
+ rewrite ^(/threedsimulation)$ $1/ redirect;
+ rewrite ^(/traffic)$ $1/ redirect;
+ rewrite ^(/uas)$ $1/ redirect;
+ rewrite ^(/uas)$ $1/ redirect;
+ rewrite ^(/uasms)$ $1/ redirect;
+ rewrite ^(/uasms)$ $1/ redirect;
+ rewrite ^(/visualization)$ $1/ redirect;
+ rewrite ^(/uavmsmanager)$ $1/ redirect;
+ rewrite ^(/secenter)$ $1/ redirect;
+spec:
+ rules:
+ - host: fake-domain.wdd-rmdc.io
+ http:
+ paths:
+ - path: /rmdc/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform
+ servicePort: 9528
+ - path: /rmdc/supervision/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-platform-supervision
+ servicePort: 9528
+ - path: /rmdc/supervisionh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-platform-supervisionh5
+ servicePort: 9528
+ - path: /rmdc/pangu/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform
+ servicePort: 9528
+ - path: /rmdc/ai-brain/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-ai-brain
+ servicePort: 9528
+ - path: /rmdc/armypeople/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-armypeople
+ servicePort: 9528
+ - path: /rmdc/awareness/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-awareness
+ servicePort: 9528
+ - path: /rmdc/base/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-base
+ servicePort: 9528
+ - path: /rmdc/blockchain/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-blockchain
+ servicePort: 9528
+ - path: /rmdc/classification/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-classification
+ servicePort: 9528
+ - path: /rmdc/cmsportal/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-cms-portal
+ servicePort: 9528
+ - path: /rmdc/detection/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-detection
+ servicePort: 9528
+ - path: /rmdc/dikongzhixingh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-dikongzhixingh5
+ servicePort: 9528
+ - path: /rmdc/dispatchh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-dispatchh5
+ servicePort: 9528
+ - path: /rmdc/emergency/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-emergency-rescue
+ servicePort: 9528
+ - path: /rmdc/eventsh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-eventsh5
+ servicePort: 9528
+ - path: /rmdc/flight-control/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-flight-control
+ servicePort: 9528
+ - path: /rmdc/hljtt/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-hljtt
+ servicePort: 9528
+ - path: /rmdc/hyper/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-hyperspectral
+ servicePort: 9528
+ - path: /rmdc/iot/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-iot-manager
+ servicePort: 9528
+ - path: /rmdc/jiangsuwenlv/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-jiangsuwenlv
+ servicePort: 9528
+ - path: /rmdc/logistics/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-logistics
+ servicePort: 9528
+ - path: /rmdc/media/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-media
+ servicePort: 9528
+ - path: /rmdc/mianyangbackend/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-mianyangbackend
+ servicePort: 9528
+ - path: /rmdc/multiterminal/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-multiterminal
+ servicePort: 9528
+ - path: /rmdc/mws/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-mws
+ servicePort: 9528
+ - path: /rmdc/oms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-oms
+ servicePort: 9528
+ - path: /rmdc/open/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-open
+ servicePort: 9528
+ - path: /rmdc/pilot2cloud/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-pilot2-to-cloud
+ servicePort: 9528
+ - path: /rmdc/qingdao/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-qingdao
+ servicePort: 9528
+ - path: /rmdc/qinghaitourism/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-qinghaitourism
+ servicePort: 9528
+ - path: /rmdc/renyike/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-renyike
+ servicePort: 9528
+ - path: /rmdc/scanner/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-scanner
+ servicePort: 9528
+ - path: /rmdc/security/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-security
+ servicePort: 9528
+ - path: /rmdc/securityh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-securityh5
+ servicePort: 9528
+ - path: /rmdc/seniclive/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-seniclive
+ servicePort: 9528
+ - path: /rmdc/share/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-share
+ servicePort: 9528
+ - path: /rmdc/smauth/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-smauth
+ servicePort: 9528
+ - path: /rmdc/smsecret/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-smsecret
+ servicePort: 9528
+ - path: /rmdc/splice/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-splice
+ servicePort: 9528
+ - path: /rmdc/threedsimulation/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-threedsimulation
+ servicePort: 9528
+ - path: /rmdc/traffic/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-traffic
+ servicePort: 9528
+ - path: /rmdc/uas/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uas
+ servicePort: 9528
+ - path: /rmdc/uas/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uaskny
+ servicePort: 9528
+ - path: /rmdc/uasms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uasms
+ servicePort: 9528
+ - path: /rmdc/uasms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uasmskny
+ servicePort: 9528
+ - path: /rmdc/visualization/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-visualization
+ servicePort: 9528
+ - path: /rmdc/uavmsmanager/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-platform-manager
+ servicePort: 9528
+ - path: /rmdc/secenter/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-platform-security-center
+ servicePort: 9528
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: backend-applications-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: backend
+ octopus.control: all-ingress-config-wdd
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+spec:
+ rules:
+ - host: cmii-admin-data.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-data
+ servicePort: 8080
+ - host: cmii-admin-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-gateway
+ servicePort: 8080
+ - host: cmii-admin-user.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-user
+ servicePort: 8080
+ - host: cmii-app-release.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-app-release
+ servicePort: 8080
+ - host: cmii-open-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-open-gateway
+ servicePort: 8080
+ - host: cmii-sky-converge.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-sky-converge
+ servicePort: 8080
+ - host: cmii-suav-supervision.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-supervision
+ servicePort: 8080
+ - host: cmii-uas-datahub.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-datahub
+ servicePort: 8080
+ - host: cmii-uas-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-gateway
+ servicePort: 8080
+ - host: cmii-uas-lifecycle.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-lifecycle
+ servicePort: 8080
+ - host: cmii-uav-advanced5g.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-advanced5g
+ servicePort: 8080
+ - host: cmii-uav-airspace.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-airspace
+ servicePort: 8080
+ - host: cmii-uav-alarm.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-alarm
+ servicePort: 8080
+ - host: cmii-uav-autowaypoint.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-autowaypoint
+ servicePort: 8080
+ - host: cmii-uav-brain.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-brain
+ servicePort: 8080
+ - host: cmii-uav-bridge.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-bridge
+ servicePort: 8080
+ - host: cmii-uav-cloud-live.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-cloud-live
+ servicePort: 8080
+ - host: cmii-uav-clusters.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-clusters
+ servicePort: 8080
+ - host: cmii-uav-cms.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-cms
+ servicePort: 8080
+ - host: cmii-uav-data-post-process.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-data-post-process
+ servicePort: 8080
+ - host: cmii-uav-depotautoreturn.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-depotautoreturn
+ servicePort: 8080
+ - host: cmii-uav-developer.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-developer
+ servicePort: 8080
+ - host: cmii-uav-device.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-device
+ servicePort: 8080
+ - host: cmii-uav-emergency.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-emergency
+ servicePort: 8080
+ - host: cmii-uav-fwdd.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-fwdd
+ servicePort: 8080
+ - host: cmii-uav-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gateway
+ servicePort: 8080
+ - host: cmii-uav-gis-server.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gis-server
+ servicePort: 8080
+ - host: cmii-uav-grid-datasource.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-datasource
+ servicePort: 8080
+ - host: cmii-uav-grid-engine.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-engine
+ servicePort: 8080
+ - host: cmii-uav-grid-manage.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-manage
+ servicePort: 8080
+ - host: cmii-uav-industrial-portfolio.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-industrial-portfolio
+ servicePort: 8080
+ - host: cmii-uav-integration.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-integration
+ servicePort: 8080
+ - host: cmii-uav-iot-dispatcher.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-iot-dispatcher
+ servicePort: 8080
+ - host: cmii-uav-iot-manager.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-iot-manager
+ servicePort: 8080
+ - host: cmii-uav-kpi-monitor.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-kpi-monitor
+ servicePort: 8080
+ - host: cmii-uav-logger.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-logger
+ servicePort: 8080
+ - host: cmii-uav-material-warehouse.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-material-warehouse
+ servicePort: 8080
+ - host: cmii-uav-mission.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-mission
+ servicePort: 8080
+ - host: cmii-uav-mqtthandler.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-mqtthandler
+ servicePort: 8080
+ - host: cmii-uav-multilink.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-multilink
+ servicePort: 8080
+ - host: cmii-uav-notice.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-notice
+ servicePort: 8080
+ - host: cmii-uav-oauth.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-oauth
+ servicePort: 8080
+ - host: cmii-uav-process.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-process
+ servicePort: 8080
+ - host: cmii-uav-sec-awareness.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sec-awareness
+ servicePort: 8080
+ - host: cmii-uav-security-trace.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-security-trace
+ servicePort: 8080
+ - host: cmii-uav-sense-adapter.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sense-adapter
+ servicePort: 8080
+ - host: cmii-uav-surveillance.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-surveillance
+ servicePort: 8080
+ - host: cmii-uav-sync.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sync
+ servicePort: 8080
+ - host: cmii-uav-tcp-server.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-tcp-server
+ servicePort: 8080
+ - host: cmii-uav-threedsimulation.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-threedsimulation
+ servicePort: 8080
+ - host: cmii-uav-tower.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-tower
+ servicePort: 8080
+ - host: cmii-uav-user.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-user
+ servicePort: 8080
+ - host: cmii-uav-watchdog.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-watchdog
+ servicePort: 8080
+ - host: cmii-uav-waypoint.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-waypoint
+ servicePort: 8080
+ - host: cmii-uavms-pyfusion.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-pyfusion
+ servicePort: 8080
+ - host: cmii-uavms-security-center.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-security-center
+ servicePort: 8080
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: all-gateways-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: api-gateway
+ octopus.control: all-ingress-config-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$1
+ nginx.ingress.kubernetes.io/configuration-snippet: |
+ proxy_set_header upgradePrefix $http_upgrade;
+ proxy_set_header Connection "upgradePrefix";
+spec:
+ rules:
+ - host: fake-domain.wdd-rmdc.io
+ http:
+ paths:
+ - path: /rmdc/oms/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-gateway
+ servicePort: 8080
+ - path: /rmdc/open/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-open-gateway
+ servicePort: 8080
+ - path: /rmdc/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gateway
+ servicePort: 8080
+ - path: /rmdc/uas/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-gateway
+ servicePort: 8080
+ - path: /rmdc/converge/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-sky-converge
+ servicePort: 8080
diff --git a/agent-common/real_project/wdd-rmdc/k8s-mongo.yaml b/agent-common/real_project/wdd-rmdc/k8s-mongo.yaml
new file mode 100644
index 0000000..f0bca2e
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-mongo.yaml
@@ -0,0 +1,78 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: NodePort
+ selector:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ ports:
+ - port: 27017
+ name: server-27017
+ targetPort: 27017
+ nodePort: 37017
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ serviceName: helm-mongo
+ replicas: 1
+ selector:
+ matchLabels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ template:
+ metadata:
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ pod.alpha.kubernetes.io/initialized: "true"
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ containers:
+ - name: helm-mongo
+ image: harbor.cdcyy.com.cn/cmii/mongo:5.0
+ resources: {}
+ ports:
+ - containerPort: 27017
+ name: mongo27017
+ protocol: TCP
+ env:
+ - name: MONGO_INITDB_ROOT_USERNAME
+ value: cmlc
+ - name: MONGO_INITDB_ROOT_PASSWORD
+ value: REdPza8#oVlt
+ volumeMounts:
+ - name: mongo-data
+ mountPath: /data/db
+ readOnly: false
+ subPath: default/helm-mongo/data/db
+ volumes:
+ - name: mongo-data
+ persistentVolumeClaim:
+ claimName: helm-mongo
+---
diff --git a/agent-common/real_project/wdd-rmdc/k8s-mysql.yaml b/agent-common/real_project/wdd-rmdc/k8s-mysql.yaml
new file mode 100644
index 0000000..fce445d
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-mysql.yaml
@@ -0,0 +1,410 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ annotations: {}
+secrets:
+ - name: helm-mysql
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+type: Opaque
+data:
+ mysql-root-password: "UXpmWFFoZDNiUQ=="
+ mysql-password: "S0F0cm5PckFKNw=="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: primary
+data:
+ my.cnf: |-
+
+ [mysqld]
+ port=3306
+ basedir=/opt/bitnami/mysql
+ datadir=/bitnami/mysql/data
+ pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ log-error=/bitnami/mysql/data/error.log
+ general_log_file = /bitnami/mysql/data/general.log
+ slow_query_log_file = /bitnami/mysql/data/slow.log
+ innodb_data_file_path = ibdata1:512M:autoextend
+ innodb_buffer_pool_size = 512M
+ innodb_buffer_pool_instances = 2
+ innodb_log_file_size = 512M
+ innodb_log_files_in_group = 4
+ innodb_log_files_in_group = 4
+ log-bin = /bitnami/mysql/data/mysql-bin
+ max_binlog_size=1G
+ transaction_isolation = REPEATABLE-READ
+ default_storage_engine = innodb
+ character-set-server = utf8mb4
+ collation-server=utf8mb4_bin
+ binlog_format = ROW
+ binlog_rows_query_log_events=on
+ binlog_cache_size=4M
+ binlog_expire_logs_seconds = 1296000
+ max_binlog_cache_size=2G
+ gtid_mode = on
+ enforce_gtid_consistency = 1
+ sync_binlog = 1
+ innodb_flush_log_at_trx_commit = 1
+ innodb_flush_method = O_DIRECT
+ log_slave_updates=1
+ relay_log_recovery = 1
+ relay-log-purge = 1
+ default_time_zone = '+08:00'
+ lower_case_table_names=1
+ log_bin_trust_function_creators=1
+ group_concat_max_len=67108864
+ innodb_io_capacity = 4000
+ innodb_io_capacity_max = 8000
+ innodb_flush_sync = 0
+ innodb_flush_neighbors = 0
+ innodb_write_io_threads = 8
+ innodb_read_io_threads = 8
+ innodb_purge_threads = 4
+ innodb_page_cleaners = 4
+ innodb_open_files = 65535
+ innodb_max_dirty_pages_pct = 50
+ innodb_lru_scan_depth = 4000
+ innodb_checksum_algorithm = crc32
+ innodb_lock_wait_timeout = 10
+ innodb_rollback_on_timeout = 1
+ innodb_print_all_deadlocks = 1
+ innodb_file_per_table = 1
+ innodb_online_alter_log_max_size = 4G
+ innodb_stats_on_metadata = 0
+ innodb_thread_concurrency = 0
+ innodb_sync_spin_loops = 100
+ innodb_spin_wait_delay = 30
+ lock_wait_timeout = 3600
+ slow_query_log = 1
+ long_query_time = 10
+ log_queries_not_using_indexes =1
+ log_throttle_queries_not_using_indexes = 60
+ min_examined_row_limit = 100
+ log_slow_admin_statements = 1
+ log_slow_slave_statements = 1
+ default_authentication_plugin=mysql_native_password
+ skip-name-resolve=1
+ explicit_defaults_for_timestamp=1
+ plugin_dir=/opt/bitnami/mysql/plugin
+ max_allowed_packet=128M
+ max_connections = 2000
+ max_connect_errors = 1000000
+ table_definition_cache=2000
+ table_open_cache_instances=64
+ tablespace_definition_cache=1024
+ thread_cache_size=256
+ interactive_timeout = 600
+ wait_timeout = 600
+ tmpdir=/opt/bitnami/mysql/tmp
+ max_allowed_packet=32M
+ bind-address=0.0.0.0
+ performance_schema = 1
+ performance_schema_instrument = '%memory%=on'
+ performance_schema_instrument = '%lock%=on'
+ innodb_monitor_enable=ALL
+
+ [mysql]
+ no-auto-rehash
+
+ [mysqldump]
+ quick
+ max_allowed_packet = 32M
+
+ [client]
+ port=3306
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ default-character-set=UTF8
+ plugin_dir=/opt/bitnami/mysql/plugin
+
+ [manager]
+ port=3306
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-mysql-init-scripts
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: primary
+data:
+ create_users_grants_core.sql: |-
+ create user zyly@'%' identified by 'Cmii@451315';
+ grant select on *.* to zyly@'%';
+ create user zyly_qc@'%' identified by 'Uh)E_owCyb16';
+ grant all on *.* to zyly_qc@'%';
+ create user k8s_admin@'%' identified by 'fP#UaH6qQ3)8';
+ grant all on *.* to k8s_admin@'%';
+ create user audit_dba@'%' identified by 'PjCzqiBmJaTpgkoYXynH';
+ grant all on *.* to audit_dba@'%';
+ create user db_backup@'%' identified by 'RU5Pu(4FGdT9';
+ GRANT SELECT, RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT, EVENT on *.* to db_backup@'%';
+ create user monitor@'%' identified by 'PL3#nGtrWbf-';
+ grant REPLICATION CLIENT on *.* to monitor@'%';
+ flush privileges;
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: cmii-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/component: primary
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.app: mysql
+ cmii.type: middleware
+ octopus.control: mysql-db-wdd
+spec:
+ ports:
+ - name: mysql
+ protocol: TCP
+ port: 13306
+ targetPort: mysql
+ selector:
+ app.kubernetes.io/component: primary
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.app: mysql
+ cmii.type: middleware
+ type: ClusterIP
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mysql-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ annotations: {}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ publishNotReadyAddresses: true
+ ports:
+ - name: mysql
+ port: 3306
+ targetPort: mysql
+ selector:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ annotations: {}
+spec:
+ type: NodePort
+ ports:
+ - name: mysql
+ port: 3306
+ protocol: TCP
+ targetPort: mysql
+ nodePort: 33306
+ selector:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ serviceName: helm-mysql
+ updateStrategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ annotations:
+ checksum/configuration: 6b60fa0f3a846a6ada8effdc4f823cf8003d42a8c8f630fe8b1b66d3454082dd
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: helm-mysql
+ affinity: {}
+ nodeSelector:
+ mysql-deploy: "true"
+ securityContext:
+ fsGroup: 1001
+ initContainers:
+ - name: change-volume-permissions
+ image: harbor.cdcyy.com.cn/cmii/bitnami-shell:11-debian-11-r136
+ imagePullPolicy: "Always"
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ chown -R 1001:1001 /bitnami/mysql
+ securityContext:
+ runAsUser: 0
+ volumeMounts:
+ - name: mysql-data
+ mountPath: /bitnami/mysql
+ containers:
+ - name: mysql
+ image: harbor.cdcyy.com.cn/cmii/mysql:8.1.0-debian-11-r42
+ imagePullPolicy: "IfNotPresent"
+ securityContext:
+ runAsUser: 1001
+ env:
+ - name: BITNAMI_DEBUG
+ value: "true"
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-mysql
+ key: mysql-root-password
+ - name: MYSQL_DATABASE
+ value: "cmii"
+ ports:
+ - name: mysql
+ containerPort: 3306
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 3
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ readinessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 3
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ startupProbe:
+ failureThreshold: 60
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: mysql-data
+ mountPath: /bitnami/mysql
+ - name: custom-init-scripts
+ mountPath: /docker-entrypoint-initdb.d
+ - name: config
+ mountPath: /opt/bitnami/mysql/conf/my.cnf
+ subPath: my.cnf
+ volumes:
+ - name: config
+ configMap:
+ name: helm-mysql
+ - name: custom-init-scripts
+ configMap:
+ name: helm-mysql-init-scripts
+ - name: mysql-data
+ hostPath:
+ path: /var/lib/docker/mysql-pv/wdd-rmdc/
diff --git a/agent-common/real_project/wdd-rmdc/k8s-nacos.yaml b/agent-common/real_project/wdd-rmdc/k8s-nacos.yaml
new file mode 100644
index 0000000..b207543
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-nacos.yaml
@@ -0,0 +1,130 @@
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-nacos-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+data:
+ mysql.db.name: "cmii_nacos_config"
+ mysql.db.host: "helm-mysql"
+ mysql.port: "3306"
+ mysql.user: "k8s_admin"
+ mysql.password: "fP#UaH6qQ3)8"
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-nacos
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: NodePort
+ selector:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ ports:
+ - port: 8848
+ name: server
+ targetPort: 8848
+ nodePort: 38848
+ - port: 9848
+ name: server12
+ targetPort: 9848
+ - port: 9849
+ name: server23
+ targetPort: 9849
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-nacos
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+spec:
+ serviceName: helm-nacos
+ replicas: 1
+ selector:
+ matchLabels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ template:
+ metadata:
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ pod.alpha.kubernetes.io/initialized: "true"
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ containers:
+ - name: nacos-server
+ image: harbor.cdcyy.com.cn/cmii/nacos-server:v2.1.2
+ ports:
+ - containerPort: 8848
+ name: dashboard
+ - containerPort: 9848
+ name: tcp-9848
+ - containerPort: 9849
+ name: tcp-9849
+ env:
+ - name: NACOS_AUTH_ENABLE
+ value: "false"
+ - name: NACOS_REPLICAS
+ value: "1"
+ - name: MYSQL_SERVICE_DB_NAME
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.db.name
+ - name: MYSQL_SERVICE_PORT
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.port
+ - name: MYSQL_SERVICE_USER
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.user
+ - name: MYSQL_SERVICE_PASSWORD
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.password
+ - name: MYSQL_SERVICE_HOST
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.db.host
+ - name: NACOS_SERVER_PORT
+ value: "8848"
+ - name: NACOS_APPLICATION_PORT
+ value: "8848"
+ - name: PREFER_HOST_MODE
+ value: "hostname"
+ - name: MODE
+ value: standalone
+ - name: SPRING_DATASOURCE_PLATFORM
+ value: mysql
+---
diff --git a/agent-common/real_project/wdd-rmdc/k8s-nfs-test.yaml b/agent-common/real_project/wdd-rmdc/k8s-nfs-test.yaml
new file mode 100644
index 0000000..532b564
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-nfs-test.yaml
@@ -0,0 +1,38 @@
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: test-claim
+ annotations:
+ volume.beta.kubernetes.io/storage-class: "nfs-prod-distribute" #与nfs-StorageClass.yaml metadata.name保持一致
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: nfs-prod-distribute
+ resources:
+ requests:
+ storage: 1Mi
+---
+kind: Pod
+apiVersion: v1
+metadata:
+ name: test-pod
+spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: test-pod
+ image: harbor.cdcyy.com.cn/cmii/busybox:latest
+ command:
+ - "/bin/sh"
+ args:
+ - "-c"
+ - "touch /mnt/NFS-CREATE-SUCCESS && exit 0 || exit 1" #创建一个SUCCESS文件后退出
+ volumeMounts:
+ - name: nfs-pvc
+ mountPath: "/mnt"
+ restartPolicy: "Never"
+ volumes:
+ - name: nfs-pvc
+ persistentVolumeClaim:
+ claimName: test-claim #与PVC名称保持一致
diff --git a/agent-common/real_project/wdd-rmdc/k8s-nfs.yaml b/agent-common/real_project/wdd-rmdc/k8s-nfs.yaml
new file mode 100644
index 0000000..484a20a
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-nfs.yaml
@@ -0,0 +1,114 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system #根据实际环境设定namespace,下面类同
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: nfs-client-provisioner-runner
+rules:
+ - apiGroups: [""]
+ resources: ["persistentvolumes"]
+ verbs: ["get", "list", "watch", "create", "delete"]
+ - apiGroups: [""]
+ resources: ["persistentvolumeclaims"]
+ verbs: ["get", "list", "watch", "update"]
+ - apiGroups: ["storage.k8s.io"]
+ resources: ["storageclasses"]
+ verbs: ["get", "list", "watch"]
+ - apiGroups: [""]
+ resources: ["events"]
+ verbs: ["create", "update", "patch"]
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: run-nfs-client-provisioner
+subjects:
+ - kind: ServiceAccount
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+roleRef:
+ kind: ClusterRole
+# name: nfs-client-provisioner-runner
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: leader-locking-nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+rules:
+ - apiGroups: [""]
+ resources: ["endpoints"]
+ verbs: ["get", "list", "watch", "create", "update", "patch"]
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: leader-locking-nfs-client-provisioner
+subjects:
+ - kind: ServiceAccount
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+roleRef:
+ kind: Role
+ name: leader-locking-nfs-client-provisioner
+ apiGroup: rbac.authorization.k8s.io
+
+---
+apiVersion: storage.k8s.io/v1
+kind: StorageClass
+metadata:
+ name: nfs-prod-distribute
+provisioner: cmlc-nfs-storage #这里的名称要和provisioner配置文件中的环境变量PROVISIONER_NAME保持一致parameters: archiveOnDelete: "false"
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nfs-client-provisioner
+ labels:
+ app: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system #与RBAC文件中的namespace保持一致
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: nfs-client-provisioner
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: nfs-client-provisioner
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: nfs-client-provisioner
+ containers:
+ - name: nfs-client-provisioner
+ image: harbor.cdcyy.com.cn/cmii/nfs-subdir-external-provisioner:v4.0.2
+ volumeMounts:
+ - name: nfs-client-root
+ mountPath: /persistentvolumes
+ env:
+ - name: PROVISIONER_NAME
+ value: cmlc-nfs-storage
+ - name: NFS_SERVER
+ value: 192.168.0.6
+ - name: NFS_PATH
+ value: /var/lib/docker/nfs_data
+ volumes:
+ - name: nfs-client-root
+ nfs:
+ server: 192.168.0.6
+ path: /var/lib/docker/nfs_data
diff --git a/agent-common/real_project/wdd-rmdc/k8s-pvc.yaml b/agent-common/real_project/wdd-rmdc/k8s-pvc.yaml
new file mode 100644
index 0000000..ce7c964
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-pvc.yaml
@@ -0,0 +1,76 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: nfs-backend-log-pvc
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: nfs-backend-log-pvc
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 100Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-emqxs
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 20Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-mongo
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 30Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-rabbitmq
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 20Gi
diff --git a/agent-common/real_project/wdd-rmdc/k8s-rabbitmq.yaml b/agent-common/real_project/wdd-rmdc/k8s-rabbitmq.yaml
new file mode 100644
index 0000000..5bd188b
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-rabbitmq.yaml
@@ -0,0 +1,328 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+automountServiceAccountToken: true
+secrets:
+ - name: helm-rabbitmq
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+type: Opaque
+data:
+ rabbitmq-password: "blljUk45MXIuX2hq"
+ rabbitmq-erlang-cookie: "emFBRmt1ZU1xMkJieXZvdHRYbWpoWk52UThuVXFzcTU="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-rabbitmq-config
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+data:
+ rabbitmq.conf: |-
+ ## Username and password
+ ##
+ default_user = admin
+ default_pass = nYcRN91r._hj
+ ## Clustering
+ ##
+ cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
+ cluster_formation.k8s.host = kubernetes.default.svc.cluster.local
+ cluster_formation.node_cleanup.interval = 10
+ cluster_formation.node_cleanup.only_log_warning = true
+ cluster_partition_handling = autoheal
+ # queue master locator
+ queue_master_locator = min-masters
+ # enable guest user
+ loopback_users.guest = false
+ #default_vhost = default-vhost
+ #disk_free_limit.absolute = 50MB
+ #load_definitions = /app/load_definition.json
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-rabbitmq-endpoint-reader
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+rules:
+ - apiGroups: [""]
+ resources: ["endpoints"]
+ verbs: ["get"]
+ - apiGroups: [""]
+ resources: ["events"]
+ verbs: ["create"]
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-rabbitmq-endpoint-reader
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+subjects:
+ - kind: ServiceAccount
+ name: helm-rabbitmq
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: helm-rabbitmq-endpoint-reader
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-rabbitmq-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ clusterIP: None
+ ports:
+ - name: epmd
+ port: 4369
+ targetPort: epmd
+ - name: amqp
+ port: 5672
+ targetPort: amqp
+ - name: dist
+ port: 25672
+ targetPort: dist
+ - name: dashboard
+ port: 15672
+ targetPort: stats
+ selector:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+ publishNotReadyAddresses: true
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ type: NodePort
+ ports:
+ - name: amqp
+ port: 5672
+ targetPort: amqp
+ nodePort: 35672
+ - name: dashboard
+ port: 15672
+ targetPort: dashboard
+ nodePort: 36675
+ selector:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ serviceName: helm-rabbitmq-headless
+ podManagementPolicy: OrderedReady
+ replicas: 1
+ updateStrategy:
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+ annotations:
+ checksum/config: d6c2caa9572f64a06d9f7daa34c664a186b4778cd1697ef8e59663152fc628f1
+ checksum/secret: d764e7b3d999e7324d1afdfec6140092a612f04b6e0306818675815cec2f454f
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: helm-rabbitmq
+ affinity: {}
+ securityContext:
+ fsGroup: 5001
+ runAsUser: 5001
+ terminationGracePeriodSeconds: 120
+ initContainers:
+ - name: volume-permissions
+ image: harbor.cdcyy.com.cn/cmii/bitnami-shell:11-debian-11-r136
+ imagePullPolicy: "Always"
+ command:
+ - /bin/bash
+ args:
+ - -ec
+ - |
+ mkdir -p "/bitnami/rabbitmq/mnesia"
+ chown -R "5001:5001" "/bitnami/rabbitmq/mnesia"
+ securityContext:
+ runAsUser: 0
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: data
+ mountPath: /bitnami/rabbitmq/mnesia
+ containers:
+ - name: rabbitmq
+ image: harbor.cdcyy.com.cn/cmii/rabbitmq:3.9.12-debian-10-r3
+ imagePullPolicy: "Always"
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: MY_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: K8S_SERVICE_NAME
+ value: "helm-rabbitmq-headless"
+ - name: K8S_ADDRESS_TYPE
+ value: hostname
+ - name: RABBITMQ_FORCE_BOOT
+ value: "no"
+ - name: RABBITMQ_NODE_NAME
+ value: "rabbit@$(MY_POD_NAME).$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE).svc.cluster.local"
+ - name: K8S_HOSTNAME_SUFFIX
+ value: ".$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE).svc.cluster.local"
+ - name: RABBITMQ_MNESIA_DIR
+ value: "/bitnami/rabbitmq/mnesia/$(RABBITMQ_NODE_NAME)"
+ - name: RABBITMQ_LDAP_ENABLE
+ value: "no"
+ - name: RABBITMQ_LOGS
+ value: "-"
+ - name: RABBITMQ_ULIMIT_NOFILES
+ value: "65536"
+ - name: RABBITMQ_USE_LONGNAME
+ value: "true"
+ - name: RABBITMQ_ERL_COOKIE
+ valueFrom:
+ secretKeyRef:
+ name: helm-rabbitmq
+ key: rabbitmq-erlang-cookie
+ - name: RABBITMQ_LOAD_DEFINITIONS
+ value: "no"
+ - name: RABBITMQ_SECURE_PASSWORD
+ value: "yes"
+ - name: RABBITMQ_USERNAME
+ value: "admin"
+ - name: RABBITMQ_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-rabbitmq
+ key: rabbitmq-password
+ - name: RABBITMQ_PLUGINS
+ value: "rabbitmq_management, rabbitmq_peer_discovery_k8s, rabbitmq_shovel, rabbitmq_shovel_management, rabbitmq_auth_backend_ldap"
+ ports:
+ - name: amqp
+ containerPort: 5672
+ - name: dist
+ containerPort: 25672
+ - name: dashboard
+ containerPort: 15672
+ - name: epmd
+ containerPort: 4369
+ livenessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - rabbitmq-diagnostics -q ping
+ initialDelaySeconds: 120
+ periodSeconds: 30
+ timeoutSeconds: 20
+ successThreshold: 1
+ failureThreshold: 6
+ readinessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - rabbitmq-diagnostics -q check_running && rabbitmq-diagnostics -q check_local_alarms
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ lifecycle:
+ preStop:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ if [[ -f /opt/bitnami/scripts/rabbitmq/nodeshutdown.sh ]]; then
+ /opt/bitnami/scripts/rabbitmq/nodeshutdown.sh -t "120" -d "false"
+ else
+ rabbitmqctl stop_app
+ fi
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: configuration
+ mountPath: /bitnami/rabbitmq/conf
+ - name: data
+ mountPath: /bitnami/rabbitmq/mnesia
+ volumes:
+ - name: configuration
+ configMap:
+ name: helm-rabbitmq-config
+ items:
+ - key: rabbitmq.conf
+ path: rabbitmq.conf
+ - name: data
+ persistentVolumeClaim:
+ claimName: helm-rabbitmq
diff --git a/agent-common/real_project/wdd-rmdc/k8s-redis.yaml b/agent-common/real_project/wdd-rmdc/k8s-redis.yaml
new file mode 100644
index 0000000..89c4981
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-redis.yaml
@@ -0,0 +1,585 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: true
+metadata:
+ name: helm-redis
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-redis
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+type: Opaque
+data:
+ redis-password: "TWNhY2hlQDQ1MjI="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-configuration
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ redis.conf: |-
+ # User-supplied common configuration:
+ # Enable AOF https://redis.io/topics/persistence#append-only-file
+ appendonly yes
+ # Disable RDB persistence, AOF persistence already enabled.
+ save ""
+ # End of common configuration
+ master.conf: |-
+ dir /data
+ # User-supplied master configuration:
+ rename-command FLUSHDB ""
+ rename-command FLUSHALL ""
+ # End of master configuration
+ replica.conf: |-
+ dir /data
+ slave-read-only yes
+ # User-supplied replica configuration:
+ rename-command FLUSHDB ""
+ rename-command FLUSHALL ""
+ # End of replica configuration
+---
+# Source: outside-deploy/charts/redis-db/templates/health-configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-health
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ ping_readiness_local.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h localhost \
+ -p $REDIS_PORT \
+ ping
+ )
+ if [ "$response" != "PONG" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_liveness_local.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h localhost \
+ -p $REDIS_PORT \
+ ping
+ )
+ if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_readiness_master.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h $REDIS_MASTER_HOST \
+ -p $REDIS_MASTER_PORT_NUMBER \
+ ping
+ )
+ if [ "$response" != "PONG" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_liveness_master.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h $REDIS_MASTER_HOST \
+ -p $REDIS_MASTER_PORT_NUMBER \
+ ping
+ )
+ if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_readiness_local_and_master.sh: |-
+ script_dir="$(dirname "$0")"
+ exit_status=0
+ "$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
+ "$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
+ exit $exit_status
+ ping_liveness_local_and_master.sh: |-
+ script_dir="$(dirname "$0")"
+ exit_status=0
+ "$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
+ "$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
+ exit $exit_status
+---
+# Source: outside-deploy/charts/redis-db/templates/scripts-configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-scripts
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ start-master.sh: |
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
+ fi
+ if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
+ fi
+ ARGS=("--port" "${REDIS_PORT}")
+ ARGS+=("--requirepass" "${REDIS_PASSWORD}")
+ ARGS+=("--masterauth" "${REDIS_PASSWORD}")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
+ exec redis-server "${ARGS[@]}"
+ start-replica.sh: |
+ #!/bin/bash
+
+ get_port() {
+ hostname="$1"
+ type="$2"
+
+ port_var=$(echo "${hostname^^}_SERVICE_PORT_$type" | sed "s/-/_/g")
+ port=${!port_var}
+
+ if [ -z "$port" ]; then
+ case $type in
+ "SENTINEL")
+ echo 26379
+ ;;
+ "REDIS")
+ echo 6379
+ ;;
+ esac
+ else
+ echo $port
+ fi
+ }
+
+ get_full_hostname() {
+ hostname="$1"
+ echo "${hostname}.${HEADLESS_SERVICE}"
+ }
+
+ REDISPORT=$(get_port "$HOSTNAME" "REDIS")
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ if [[ ! -f /opt/bitnami/redis/etc/replica.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf
+ fi
+ if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
+ fi
+
+ echo "" >> /opt/bitnami/redis/etc/replica.conf
+ echo "replica-announce-port $REDISPORT" >> /opt/bitnami/redis/etc/replica.conf
+ echo "replica-announce-ip $(get_full_hostname "$HOSTNAME")" >> /opt/bitnami/redis/etc/replica.conf
+ ARGS=("--port" "${REDIS_PORT}")
+ ARGS+=("--slaveof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}")
+ ARGS+=("--requirepass" "${REDIS_PASSWORD}")
+ ARGS+=("--masterauth" "${REDIS_MASTER_PASSWORD}")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf")
+ exec redis-server "${ARGS[@]}"
+---
+# Source: outside-deploy/charts/redis-db/templates/headless-svc.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+---
+# Source: outside-deploy/charts/redis-db/templates/master/service.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-master
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+spec:
+ type: ClusterIP
+
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ nodePort: null
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+---
+# Source: outside-deploy/charts/redis-db/templates/replicas/service.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-replicas
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+spec:
+ type: ClusterIP
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ nodePort: null
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/component: replica
+---
+# Source: outside-deploy/charts/redis-db/templates/master/statefulset.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-redis-master
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+ serviceName: helm-redis-headless
+ updateStrategy:
+ rollingUpdate: {}
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+ annotations:
+ checksum/configmap: b64aa5db67e6e63811f3c1095b9fce34d83c86a471fccdda0e48eedb53a179b0
+ checksum/health: 6e0a6330e5ac63e565ae92af1444527d72d8897f91266f333555b3d323570623
+ checksum/scripts: b88df93710b7c42a76006e20218f05c6e500e6cc2affd4bb1985832f03166e98
+ checksum/secret: 43f1b0e20f9cb2de936bd182bc3683b720fc3cf4f4e76cb23c06a52398a50e8d
+ spec:
+ affinity: {}
+ securityContext:
+ fsGroup: 1001
+ serviceAccountName: helm-redis
+ imagePullSecrets:
+ - name: harborsecret
+ terminationGracePeriodSeconds: 30
+ containers:
+ - name: redis
+ image: harbor.cdcyy.com.cn/cmii/redis:6.2.6-debian-10-r0
+ imagePullPolicy: "Always"
+ securityContext:
+ runAsUser: 1001
+ command:
+ - /bin/bash
+ args:
+ - -c
+ - /opt/bitnami/scripts/start-scripts/start-master.sh
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: REDIS_REPLICATION_MODE
+ value: master
+ - name: ALLOW_EMPTY_PASSWORD
+ value: "no"
+ - name: REDIS_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_TLS_ENABLED
+ value: "no"
+ - name: REDIS_PORT
+ value: "6379"
+ ports:
+ - name: redis
+ containerPort: 6379
+ livenessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ # One second longer than command timeout should prevent generation of zombie processes.
+ timeoutSeconds: 6
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_liveness_local.sh 5
+ readinessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 2
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_readiness_local.sh 1
+ resources:
+ limits:
+ cpu: "2"
+ memory: 8Gi
+ requests:
+ cpu: "2"
+ memory: 8Gi
+ volumeMounts:
+ - name: start-scripts
+ mountPath: /opt/bitnami/scripts/start-scripts
+ - name: health
+ mountPath: /health
+ - name: redis-data
+ mountPath: /data
+ subPath:
+ - name: config
+ mountPath: /opt/bitnami/redis/mounted-etc
+ - name: redis-tmp-conf
+ mountPath: /opt/bitnami/redis/etc/
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: start-scripts
+ configMap:
+ name: helm-redis-scripts
+ defaultMode: 0755
+ - name: health
+ configMap:
+ name: helm-redis-health
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: helm-redis-configuration
+ - name: redis-tmp-conf
+ emptyDir: {}
+ - name: tmp
+ emptyDir: {}
+ - name: redis-data
+ emptyDir: {}
+---
+# Source: outside-deploy/charts/redis-db/templates/replicas/statefulset.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-redis-replicas
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/component: replica
+ serviceName: helm-redis-headless
+ updateStrategy:
+ rollingUpdate: {}
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+ annotations:
+ checksum/configmap: b64aa5db67e6e63811f3c1095b9fce34d83c86a471fccdda0e48eedb53a179b0
+ checksum/health: 6e0a6330e5ac63e565ae92af1444527d72d8897f91266f333555b3d323570623
+ checksum/scripts: b88df93710b7c42a76006e20218f05c6e500e6cc2affd4bb1985832f03166e98
+ checksum/secret: 43f1b0e20f9cb2de936bd182bc3683b720fc3cf4f4e76cb23c06a52398a50e8d
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ securityContext:
+ fsGroup: 1001
+ serviceAccountName: helm-redis
+ terminationGracePeriodSeconds: 30
+ containers:
+ - name: redis
+ image: harbor.cdcyy.com.cn/cmii/redis:6.2.6-debian-10-r0
+ imagePullPolicy: "Always"
+ securityContext:
+ runAsUser: 1001
+ command:
+ - /bin/bash
+ args:
+ - -c
+ - /opt/bitnami/scripts/start-scripts/start-replica.sh
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: REDIS_REPLICATION_MODE
+ value: slave
+ - name: REDIS_MASTER_HOST
+ value: helm-redis-master-0.helm-redis-headless.wdd-rmdc.svc.cluster.local
+ - name: REDIS_MASTER_PORT_NUMBER
+ value: "6379"
+ - name: ALLOW_EMPTY_PASSWORD
+ value: "no"
+ - name: REDIS_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_MASTER_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_TLS_ENABLED
+ value: "no"
+ - name: REDIS_PORT
+ value: "6379"
+ ports:
+ - name: redis
+ containerPort: 6379
+ livenessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 6
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_liveness_local_and_master.sh 5
+ readinessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 2
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_readiness_local_and_master.sh 1
+ resources:
+ limits:
+ cpu: "2"
+ memory: 8Gi
+ requests:
+ cpu: "2"
+ memory: 8Gi
+ volumeMounts:
+ - name: start-scripts
+ mountPath: /opt/bitnami/scripts/start-scripts
+ - name: health
+ mountPath: /health
+ - name: redis-data
+ mountPath: /data
+ subPath:
+ - name: config
+ mountPath: /opt/bitnami/redis/mounted-etc
+ - name: redis-tmp-conf
+ mountPath: /opt/bitnami/redis/etc
+ volumes:
+ - name: start-scripts
+ configMap:
+ name: helm-redis-scripts
+ defaultMode: 0755
+ - name: health
+ configMap:
+ name: helm-redis-health
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: helm-redis-configuration
+ - name: redis-tmp-conf
+ emptyDir: {}
+ - name: redis-data
+ emptyDir: {}
+
diff --git a/agent-common/real_project/wdd-rmdc/k8s-srs.yaml b/agent-common/real_project/wdd-rmdc/k8s-srs.yaml
new file mode 100644
index 0000000..ddc3a76
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/k8s-srs.yaml
@@ -0,0 +1,496 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: helm-live-srs-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: live-srs
+ cmii.type: live
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ helm.sh/chart: cmlc-live-srs-rtc-2.0.0
+data:
+ srs.rtc.conf: |-
+ listen 31935;
+ max_connections 4096;
+ srs_log_tank console;
+ srs_log_level info;
+ srs_log_file /home/srs.log;
+ daemon off;
+ http_api {
+ enabled on;
+ listen 1985;
+ crossdomain on;
+ }
+ stats {
+ network 0;
+ }
+ http_server {
+ enabled on;
+ listen 8080;
+ dir /home/hls;
+ }
+ srt_server {
+ enabled on;
+ listen 30556;
+ maxbw 1000000000;
+ connect_timeout 4000;
+ peerlatency 600;
+ recvlatency 600;
+ }
+ rtc_server {
+ enabled on;
+ listen 30090;
+ candidate $CANDIDATE;
+ }
+ vhost __defaultVhost__ {
+ http_hooks {
+ enabled on;
+ on_publish http://helm-live-op-svc-v2:8080/hooks/on_push;
+ }
+ http_remux {
+ enabled on;
+ }
+ rtc {
+ enabled on;
+ rtmp_to_rtc on;
+ rtc_to_rtmp on;
+ keep_bframe off;
+ }
+ tcp_nodelay on;
+ min_latency on;
+ play {
+ gop_cache off;
+ mw_latency 100;
+ mw_msgs 10;
+ }
+ publish {
+ firstpkt_timeout 8000;
+ normal_timeout 4000;
+ mr on;
+ }
+ dvr {
+ enabled off;
+ dvr_path /home/dvr/[app]/[stream]/[2006][01]/[timestamp].mp4;
+ dvr_plan session;
+ }
+ hls {
+ enabled on;
+ hls_path /home/hls;
+ hls_fragment 10;
+ hls_window 60;
+ hls_m3u8_file [app]/[stream].m3u8;
+ hls_ts_file [app]/[stream]/[2006][01][02]/[timestamp]-[duration].ts;
+ hls_cleanup on;
+ hls_entry_prefix http://192.168.40.50:8088;
+ }
+ }
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srs-svc-exporter
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: rtmp
+ protocol: TCP
+ port: 31935
+ targetPort: 31935
+ nodePort: 31935
+ - name: rtc
+ protocol: UDP
+ port: 30090
+ targetPort: 30090
+ nodePort: 30090
+ - name: rtc-tcp
+ protocol: TCP
+ port: 30090
+ targetPort: 30090
+ nodePort: 30090
+ - name: srt
+ protocol: UDP
+ port: 30556
+ targetPort: 30556
+ nodePort: 30556
+ - name: api
+ protocol: TCP
+ port: 1985
+ targetPort: 1985
+ nodePort: 30080
+ selector:
+ srs-role: rtc
+ type: NodePort
+ sessionAffinity: None
+ externalTrafficPolicy: Cluster
+
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srs-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: http
+ protocol: TCP
+ port: 8080
+ targetPort: 8080
+ - name: api
+ protocol: TCP
+ port: 1985
+ targetPort: 1985
+ selector:
+ srs-role: rtc
+ type: ClusterIP
+ sessionAffinity: None
+
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srsrtc-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: rtmp
+ protocol: TCP
+ port: 31935
+ targetPort: 31935
+ selector:
+ srs-role: rtc
+ type: ClusterIP
+ sessionAffinity: None
+
+---
+kind: StatefulSet
+apiVersion: apps/v1
+metadata:
+ name: helm-live-srs-rtc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-srs
+ cmii.type: live
+ helm.sh/chart: cmlc-live-srs-rtc-2.0.0
+ srs-role: rtc
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ srs-role: rtc
+ template:
+ metadata:
+ labels:
+ srs-role: rtc
+ spec:
+ volumes:
+ - name: srs-conf-file
+ configMap:
+ name: helm-live-srs-cm
+ items:
+ - key: srs.rtc.conf
+ path: docker.conf
+ defaultMode: 420
+ - name: srs-vol
+ emptyDir:
+ sizeLimit: 8Gi
+ containers:
+ - name: srs-rtc
+ image: harbor.cdcyy.com.cn/cmii/srs:v5.0.195
+ ports:
+ - name: srs-rtmp
+ containerPort: 31935
+ protocol: TCP
+ - name: srs-api
+ containerPort: 1985
+ protocol: TCP
+ - name: srs-flv
+ containerPort: 8080
+ protocol: TCP
+ - name: srs-webrtc
+ containerPort: 30090
+ protocol: UDP
+ - name: srs-webrtc-tcp
+ containerPort: 30090
+ protocol: TCP
+ - name: srs-srt
+ containerPort: 30556
+ protocol: UDP
+ env:
+ - name: CANDIDATE
+ value: 192.168.40.50
+ resources:
+ limits:
+ cpu: 2000m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-conf-file
+ mountPath: /usr/local/srs/conf/docker.conf
+ subPath: docker.conf
+ - name: srs-vol
+ mountPath: /home/dvr
+ subPath: wdd-rmdc/helm-live/dvr
+ - name: srs-vol
+ mountPath: /home/hls
+ subPath: wdd-rmdc/helm-live/hls
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ imagePullPolicy: Always
+ - name: oss-adaptor
+ image: harbor.cdcyy.com.cn/cmii/cmii-srs-oss-adaptor:2023-SA-skip-CHL
+ env:
+ - name: OSS_ENDPOINT
+ value: 'http://helm-minio:9000'
+ - name: OSS_AK
+ value: cmii
+ - name: OSS_SK
+ value: 'B#923fC7mk'
+ - name: OSS_BUCKET
+ value: live-cluster-hls
+ - name: SRS_OP
+ value: 'http://helm-live-op-svc-v2:8080'
+ - name: MYSQL_ENDPOINT
+ value: 'helm-mysql:3306'
+ - name: MYSQL_USERNAME
+ value: k8s_admin
+ - name: MYSQL_PASSWORD
+ value: fP#UaH6qQ3)8
+ - name: MYSQL_DATABASE
+ value: cmii_live_srs_op
+ - name: MYSQL_TABLE
+ value: live_segment
+ - name: LOG_LEVEL
+ value: info
+ - name: OSS_META
+ value: 'yes'
+ resources:
+ limits:
+ cpu: 2000m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-vol
+ mountPath: /cmii/share/hls
+ subPath: wdd-rmdc/helm-live/hls
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ imagePullPolicy: Always
+ restartPolicy: Always
+ terminationGracePeriodSeconds: 30
+ dnsPolicy: ClusterFirst
+ securityContext: {}
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ schedulerName: default-scheduler
+ serviceName: helm-live-srsrtc-svc
+ podManagementPolicy: OrderedReady
+ updateStrategy:
+ type: RollingUpdate
+ rollingUpdate:
+ partition: 0
+ revisionHistoryLimit: 10
+---
+# live-srs部分
+---
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ name: helm-live-op-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-engine
+ cmii.type: live
+ helm.sh/chart: cmlc-live-live-op-2.0.0
+ live-role: op-v2
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ live-role: op-v2
+ template:
+ metadata:
+ labels:
+ live-role: op-v2
+ spec:
+ volumes:
+ - name: srs-conf-file
+ configMap:
+ name: helm-live-op-cm-v2
+ items:
+ - key: live.op.conf
+ path: bootstrap.yaml
+ defaultMode: 420
+ containers:
+ - name: helm-live-op-v2
+ image: harbor.cdcyy.com.cn/cmii/cmii-live-operator:5.2.0
+ ports:
+ - name: operator
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ cpu: 4800m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-conf-file
+ mountPath: /cmii/bootstrap.yaml
+ subPath: bootstrap.yaml
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: 8080
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: 8080
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ 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: 25%
+ maxSurge: 25%
+ revisionHistoryLimit: 10
+ progressDeadlineSeconds: 600
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-op-svc-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - protocol: TCP
+ port: 8080
+ targetPort: 8080
+ nodePort: 30333
+ selector:
+ live-role: op-v2
+ type: NodePort
+ sessionAffinity: None
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-op-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - protocol: TCP
+ port: 8080
+ targetPort: 8080
+ selector:
+ live-role: op
+ type: ClusterIP
+ sessionAffinity: None
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: helm-live-op-cm-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-engine
+ cmii.type: live
+data:
+ live.op.conf: |-
+ server:
+ port: 8080
+ spring:
+ main:
+ allow-bean-definition-overriding: true
+ allow-circular-references: true
+ application:
+ name: cmii-live-operator
+ platform:
+ info:
+ name: cmii-live-operator
+ description: cmii-live-operator
+ version: base-1.0
+ scanPackage: com.cmii.live.op
+ cloud:
+ nacos:
+ config:
+ username: nacos
+ password: KingKong@95461234
+ server-addr: helm-nacos:8848
+ extension-configs:
+ - data-id: cmii-live-operator.yml
+ group: base-1.0
+ refresh: true
+ shared-configs:
+ - data-id: cmii-backend-system.yml
+ group: base-1.0
+ refresh: true
+ discovery:
+ enabled: false
+
+ live:
+ engine:
+ type: srs
+ endpoint: 'http://helm-live-srs-svc:1985'
+ proto:
+ rtmp: 'rtmp://192.168.40.50:31935'
+ rtsp: 'rtsp://192.168.40.50:30554'
+ srt: 'srt://192.168.40.50:30556'
+ flv: 'http://192.168.40.50:30500'
+ hls: 'http://192.168.40.50:30500'
+ rtc: 'webrtc://192.168.40.50:30080'
+ replay: 'https://192.168.40.50:30333'
+ minio:
+ endpoint: http://helm-minio:9000
+ access-key: cmii
+ secret-key: B#923fC7mk
+ bucket: live-cluster-hls
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-backend.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-backend.yaml
new file mode 100644
index 0000000..0d869b4
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-backend.yaml
@@ -0,0 +1,1225 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-lifecycle-kny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-lifecycle-kny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle-kny:5.7.0-snapshot
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-lifecycle-kny
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle-kny:5.7.0-snapshot
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle-kny
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-lifecycle-kny
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-lifecycle-kny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle-kny
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-material-warehouse
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-material-warehouse
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:master-2.1-20250704
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-material-warehouse
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:master-2.1-20250704
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-material-warehouse
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-material-warehouse
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-material-warehouse
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-material-warehouse
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uavms-pyfusion
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uavms-pyfusion
+ image: harbor.cdcyy.com.cn/cmii/cmii-uavms-pyfusion:6.3.6
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uavms-pyfusion
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uavms-pyfusion:6.3.6
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uavms-pyfusion
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uavms-pyfusion
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uavms-pyfusion
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uavms-pyfusion
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-iot-dispatcher
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-iot-dispatcher
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:6.2.0-focus
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-iot-dispatcher
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:6.2.0-focus
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-iot-dispatcher
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-iot-dispatcher
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-iot-dispatcher
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-iot-dispatcher
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-sense-adapter
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-sense-adapter
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:pro-2.1.0
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-sense-adapter
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:pro-2.1.0
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uav-sense-adapter
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uav-sense-adapter
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-sense-adapter
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uav-sense-adapter
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-gateway
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 0
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-gateway
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:2.1-test-prof
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-gateway
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:2.1-test-prof
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-gateway
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-gateway
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-gateway
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-gateway
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uas-lifecycle
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 0
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ template:
+ metadata:
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: uavcloud.env
+ operator: In
+ values:
+ - rmdc
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uas-lifecycle
+ image: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:2.1-test-20250801
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uas-lifecycle
+ - name: CUST_JAVA_OPTS
+ value: "-Xms200m -Xmx1500m -Dlog4j2.formatMsgNoLookups=true"
+ - name: NACOS_REGISTRY
+ value: "helm-nacos:8848"
+ - name: NACOS_DISCOVERY_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: NACOS_DISCOVERY_PORT
+ value: "8080"
+ - name: BIZ_CONFIG_GROUP
+ value: base-1.0
+ - name: SYS_CONFIG_GROUP
+ value: base-1.0
+ - name: NACOS_USERNAME
+ value: "developer"
+ - name: NACOS_PASSWORD
+ value: "Deve@9128201"
+ - name: IMAGE_NAME
+ value: harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:2.1-test-20250801
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ - name: NODE_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+ - name: LIMIT_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: limits.cpu
+ - name: LIMIT_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: limits.memory
+ - name: REQUEST_CPU
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: requests.cpu
+ - name: REQUEST_MEMORY
+ valueFrom:
+ resourceFieldRef:
+ containerName: cmii-uas-lifecycle
+ resource: requests.memory
+ ports:
+ - name: pod-port
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ memory: 2Gi
+ cpu: "2"
+ requests:
+ memory: 200Mi
+ cpu: 200m
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ startupProbe:
+ httpGet:
+ path: /cmii/health
+ port: pod-port
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 3
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 5
+ volumeMounts:
+ - name: nfs-backend-log-volume
+ mountPath: /cmii/logs
+ readOnly: false
+ subPath: wdd-rmdc/cmii-uas-lifecycle
+ volumes:
+ - name: nfs-backend-log-volume
+ persistentVolumeClaim:
+ claimName: nfs-backend-log-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uas-lifecycle
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ octopus/control: backend-app-1.0.0
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: backend
+ cmii.app: cmii-uas-lifecycle
+ ports:
+ - name: backend-tcp
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-configmap.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-configmap.yaml
new file mode 100644
index 0000000..e63d368
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-configmap.yaml
@@ -0,0 +1,672 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-armypeople
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "armypeople",
+ AppClientId: "APP_UIegse6Lfou9pO1U"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-cmsportal
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "cmsportal",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-open
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "open",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-hyper
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "hyper",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-eventsh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "eventsh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-pangu
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-base
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "base",
+ AppClientId: "APP_9LY41OaKSqk2btY0"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-logistics
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "logistics",
+ AppClientId: "APP_PvdfRRRBPL8xbIwl"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-splice
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "splice",
+ AppClientId: "APP_zE0M3sTRXrCIJS8Y"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-qingdao
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "qingdao",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-hljtt
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "hljtt",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-visualization
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "visualization",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-flight-control
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "flight-control",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-supervision
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "supervision",
+ AppClientId: "APP_qqSu82THfexI8PLM"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-detection
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "detection",
+ AppClientId: "APP_FDHW2VLVDWPnnOCy"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-mws
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "mws",
+ AppClientId: "APP_uKniXPELlRERBBwK"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-securityh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "securityh5",
+ AppClientId: "APP_N3ImO0Ubfu9peRHD"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-share
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "share",
+ AppClientId: "APP_4lVSVI0ZGxTssir8"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-threedsimulation
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "threedsimulation",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-qinghaitourism
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "qinghaitourism",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-dispatchh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "dispatchh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-seniclive
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "seniclive",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uasms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uasms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uas
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uas",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-scanner
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "scanner",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-blockchain
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "blockchain",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uavmsmanager
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uavmsmanager",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-awareness
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "awareness",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-iot
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "iot",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-supervisionh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "supervisionh5",
+ AppClientId: "APP_qqSu82THfexI8PLM"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-media
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "media",
+ AppClientId: "APP_4AU8lbifESQO4FD6"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-multiterminal
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "multiterminal",
+ AppClientId: "APP_PvdfRRRBPL8xbIwl"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uasms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uasms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-uas
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "uas",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-classification
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "classification",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-pilot2cloud
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "pilot2cloud",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-smsecret
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "smsecret",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-secenter
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "secenter",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-dikongzhixingh5
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "dikongzhixingh5",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-ai-brain
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "ai-brain",
+ AppClientId: "APP_rafnuCAmBESIVYMH"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-emergency
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "emergency",
+ AppClientId: "APP_aGsTAY1uMZrpKdfk"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-security
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "security",
+ AppClientId: "APP_JUSEMc7afyWXxvE7"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-traffic
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "traffic",
+ AppClientId: "APP_Jc8i2wOQ1t73QEJS"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-renyike
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "renyike",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-oms
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "oms",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-jiangsuwenlv
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "jiangsuwenlv",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-smauth
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "smauth",
+ AppClientId: "empty"
+ }
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: tenant-prefix-mianyangbackend
+ namespace: wdd-rmdc
+data:
+ ingress-config.js: |-
+ var __GlobalIngressConfig = {
+ TenantEnvironment: "rmdc",
+ CloudHOST: "192.168.40.50:8088",
+ ApplicationShortName: "mianyangbackend",
+ AppClientId: "empty"
+ }
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-dashboard.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-dashboard.yaml
new file mode 100644
index 0000000..5131e2d
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-dashboard.yaml
@@ -0,0 +1,309 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: kube-system
+
+---
+
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+kind: Service
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ kubernetes.io/cluster-service: "true"
+ name: kubernetes-dashboard
+ namespace: kube-system
+spec:
+ ports:
+ - port: 443
+ targetPort: 8443
+ nodePort: 39999
+ selector:
+ k8s-app: kubernetes-dashboard
+ type: NodePort
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-certs
+ namespace: kube-system
+type: Opaque
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-csrf
+ namespace: kube-system
+type: Opaque
+data:
+ csrf: ""
+
+---
+
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-key-holder
+ namespace: kube-system
+type: Opaque
+
+---
+
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-settings
+ namespace: kube-system
+
+---
+
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+rules:
+ # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
+ - apiGroups: [""]
+ resources: ["secrets"]
+ resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
+ verbs: ["get", "update", "delete"]
+ # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
+ - apiGroups: [""]
+ resources: ["configmaps"]
+ resourceNames: ["kubernetes-dashboard-settings"]
+ verbs: ["get", "update"]
+ # Allow Dashboard to get metrics.
+ - apiGroups: [""]
+ resources: ["services"]
+ resourceNames: ["heapster", "dashboard-metrics-scraper"]
+ verbs: ["proxy"]
+ - apiGroups: [""]
+ resources: ["services/proxy"]
+ resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
+ verbs: ["get"]
+
+---
+
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+rules:
+ # Allow Metrics Scraper to get metrics from the Metrics server
+ - apiGroups: ["metrics.k8s.io"]
+ resources: ["pods", "nodes"]
+ verbs: ["get", "list", "watch"]
+
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: kubernetes-dashboard
+subjects:
+ - kind: ServiceAccount
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: kubernetes-dashboard
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: kubernetes-dashboard
+subjects:
+ - kind: ServiceAccount
+ name: kubernetes-dashboard
+ namespace: kube-system
+
+---
+
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard
+ namespace: kube-system
+spec:
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ k8s-app: kubernetes-dashboard
+ template:
+ metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: kubernetes-dashboard
+ image: harbor.cdcyy.com.cn/cmii/dashboard:v2.0.1
+ ports:
+ - containerPort: 8443
+ protocol: TCP
+ args:
+ - --auto-generate-certificates
+ - --namespace=kube-system
+ # Uncomment the following line to manually specify Kubernetes API server Host
+ # If not specified, Dashboard will attempt to auto discover the API server and connect
+ # to it. Uncomment only if the default does not work.
+ # - --apiserver-host=http://my-address:port
+ volumeMounts:
+ - name: kubernetes-dashboard-certs
+ mountPath: /certs
+ # Create on-disk volume to store exec logs
+ - mountPath: /tmp
+ name: tmp-volume
+ livenessProbe:
+ httpGet:
+ scheme: HTTPS
+ path: /
+ port: 8443
+ initialDelaySeconds: 30
+ timeoutSeconds: 30
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsUser: 1001
+ runAsGroup: 2001
+ volumes:
+ - name: kubernetes-dashboard-certs
+ secret:
+ secretName: kubernetes-dashboard-certs
+ - name: tmp-volume
+ emptyDir: {}
+ serviceAccountName: kubernetes-dashboard
+ # Comment the following tolerations if Dashboard must not be deployed on master
+ tolerations:
+ - key: node-role.kubernetes.io/master
+ effect: NoSchedule
+
+---
+
+kind: Service
+apiVersion: v1
+metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ name: dashboard-metrics-scraper
+ namespace: kube-system
+spec:
+ ports:
+ - port: 8000
+ targetPort: 8000
+ selector:
+ k8s-app: dashboard-metrics-scraper
+
+---
+
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ name: dashboard-metrics-scraper
+ namespace: kube-system
+spec:
+ replicas: 1
+ revisionHistoryLimit: 10
+ selector:
+ matchLabels:
+ k8s-app: dashboard-metrics-scraper
+ template:
+ metadata:
+ labels:
+ k8s-app: dashboard-metrics-scraper
+ annotations:
+ seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
+ spec:
+ containers:
+ - name: dashboard-metrics-scraper
+ image: harbor.cdcyy.com.cn/cmii/metrics-scraper:v1.0.4
+ ports:
+ - containerPort: 8000
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ scheme: HTTP
+ path: /
+ port: 8000
+ initialDelaySeconds: 30
+ timeoutSeconds: 30
+ volumeMounts:
+ - mountPath: /tmp
+ name: tmp-volume
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsUser: 1001
+ runAsGroup: 2001
+ serviceAccountName: kubernetes-dashboard
+ # Comment the following tolerations if Dashboard must not be deployed on master
+ tolerations:
+ - key: node-role.kubernetes.io/master
+ effect: NoSchedule
+ volumes:
+ - name: tmp-volume
+ emptyDir: {}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: admin-user
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: admin-user
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+ - kind: ServiceAccount
+ name: admin-user
+ namespace: kube-system
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-frontend.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-frontend.yaml
new file mode 100644
index 0000000..47f1d27
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-frontend.yaml
@@ -0,0 +1,203 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: nginx-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+data:
+ nginx.conf: |
+ server {
+ listen 9528;
+ server_name localhost;
+ gzip on;
+
+ location / {
+ root /home/cmii-platform/dist;
+ index index.html index.htm;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root html;
+ }
+ }
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-platform-uasmskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ template:
+ metadata:
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-platform-uasmskny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uasmskny:develop-0807
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-platform-uasmskny
+ ports:
+ - name: platform-9528
+ containerPort: 9528
+ protocol: TCP
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 50m
+ memory: 50Mi
+ volumeMounts:
+ - name: nginx-conf
+ mountPath: /etc/nginx/conf.d/nginx.conf
+ subPath: nginx.conf
+ - name: tenant-prefix
+ subPath: ingress-config.js
+ mountPath: /home/cmii-platform/dist/ingress-config.js
+ volumes:
+ - name: nginx-conf
+ configMap:
+ name: nginx-cm
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+ - name: tenant-prefix
+ configMap:
+ name: tenant-prefix-uasms
+ items:
+ - key: ingress-config.js
+ path: ingress-config.js
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-platform-uasmskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uasmskny
+ ports:
+ - name: web-svc-port
+ port: 9528
+ protocol: TCP
+ targetPort: 9528
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cmii-uav-platform-uaskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/app-version: base-1.0
+spec:
+ replicas: 1
+ strategy:
+ rollingUpdate:
+ maxUnavailable: 1
+ selector:
+ matchLabels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ template:
+ metadata:
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: cmii-uav-platform-uaskny
+ image: harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uaskny:5.7.0-snapshot
+ imagePullPolicy: Always
+ env:
+ - name: K8S_NAMESPACE
+ value: wdd-rmdc
+ - name: APPLICATION_NAME
+ value: cmii-uav-platform-uaskny
+ ports:
+ - name: platform-9528
+ containerPort: 9528
+ protocol: TCP
+ resources:
+ limits:
+ cpu: "1"
+ memory: 1Gi
+ requests:
+ cpu: 50m
+ memory: 50Mi
+ volumeMounts:
+ - name: nginx-conf
+ mountPath: /etc/nginx/conf.d/nginx.conf
+ subPath: nginx.conf
+ - name: tenant-prefix
+ subPath: ingress-config.js
+ mountPath: /home/cmii-platform/dist/ingress-config.js
+ volumes:
+ - name: nginx-conf
+ configMap:
+ name: nginx-cm
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+ - name: tenant-prefix
+ configMap:
+ name: tenant-prefix-uas
+ items:
+ - key: ingress-config.js
+ path: ingress-config.js
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cmii-uav-platform-uaskny
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ octopus.control: frontend-app-wdd
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: ClusterIP
+ selector:
+ cmii.type: frontend
+ cmii.app: cmii-uav-platform-uaskny
+ ports:
+ - name: web-svc-port
+ port: 9528
+ protocol: TCP
+ targetPort: 9528
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-ingress.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-ingress.yaml
new file mode 100644
index 0000000..3bb4a4c
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-ingress.yaml
@@ -0,0 +1,826 @@
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: frontend-applications-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: frontend
+ octopus.control: all-ingress-config-wdd
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$1
+ nginx.ingress.kubernetes.io/configuration-snippet: |
+ rewrite ^(/supervision)$ $1/ redirect;
+ rewrite ^(/supervisionh5)$ $1/ redirect;
+ rewrite ^(/pangu)$ $1/ redirect;
+ rewrite ^(/ai-brain)$ $1/ redirect;
+ rewrite ^(/armypeople)$ $1/ redirect;
+ rewrite ^(/awareness)$ $1/ redirect;
+ rewrite ^(/base)$ $1/ redirect;
+ rewrite ^(/blockchain)$ $1/ redirect;
+ rewrite ^(/classification)$ $1/ redirect;
+ rewrite ^(/cmsportal)$ $1/ redirect;
+ rewrite ^(/detection)$ $1/ redirect;
+ rewrite ^(/dikongzhixingh5)$ $1/ redirect;
+ rewrite ^(/dispatchh5)$ $1/ redirect;
+ rewrite ^(/emergency)$ $1/ redirect;
+ rewrite ^(/eventsh5)$ $1/ redirect;
+ rewrite ^(/flight-control)$ $1/ redirect;
+ rewrite ^(/hljtt)$ $1/ redirect;
+ rewrite ^(/hyper)$ $1/ redirect;
+ rewrite ^(/iot)$ $1/ redirect;
+ rewrite ^(/jiangsuwenlv)$ $1/ redirect;
+ rewrite ^(/logistics)$ $1/ redirect;
+ rewrite ^(/media)$ $1/ redirect;
+ rewrite ^(/mianyangbackend)$ $1/ redirect;
+ rewrite ^(/multiterminal)$ $1/ redirect;
+ rewrite ^(/mws)$ $1/ redirect;
+ rewrite ^(/oms)$ $1/ redirect;
+ rewrite ^(/open)$ $1/ redirect;
+ rewrite ^(/pilot2cloud)$ $1/ redirect;
+ rewrite ^(/qingdao)$ $1/ redirect;
+ rewrite ^(/qinghaitourism)$ $1/ redirect;
+ rewrite ^(/renyike)$ $1/ redirect;
+ rewrite ^(/scanner)$ $1/ redirect;
+ rewrite ^(/security)$ $1/ redirect;
+ rewrite ^(/securityh5)$ $1/ redirect;
+ rewrite ^(/seniclive)$ $1/ redirect;
+ rewrite ^(/share)$ $1/ redirect;
+ rewrite ^(/smauth)$ $1/ redirect;
+ rewrite ^(/smsecret)$ $1/ redirect;
+ rewrite ^(/splice)$ $1/ redirect;
+ rewrite ^(/threedsimulation)$ $1/ redirect;
+ rewrite ^(/traffic)$ $1/ redirect;
+ rewrite ^(/uas)$ $1/ redirect;
+ rewrite ^(/uas)$ $1/ redirect;
+ rewrite ^(/uasms)$ $1/ redirect;
+ rewrite ^(/uasms)$ $1/ redirect;
+ rewrite ^(/visualization)$ $1/ redirect;
+ rewrite ^(/uavmsmanager)$ $1/ redirect;
+ rewrite ^(/secenter)$ $1/ redirect;
+spec:
+ rules:
+ - host: fake-domain.wdd-rmdc.io
+ http:
+ paths:
+ - path: /rmdc/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform
+ servicePort: 9528
+ - path: /rmdc/supervision/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-platform-supervision
+ servicePort: 9528
+ - path: /rmdc/supervisionh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-platform-supervisionh5
+ servicePort: 9528
+ - path: /rmdc/pangu/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform
+ servicePort: 9528
+ - path: /rmdc/ai-brain/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-ai-brain
+ servicePort: 9528
+ - path: /rmdc/armypeople/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-armypeople
+ servicePort: 9528
+ - path: /rmdc/awareness/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-awareness
+ servicePort: 9528
+ - path: /rmdc/base/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-base
+ servicePort: 9528
+ - path: /rmdc/blockchain/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-blockchain
+ servicePort: 9528
+ - path: /rmdc/classification/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-classification
+ servicePort: 9528
+ - path: /rmdc/cmsportal/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-cms-portal
+ servicePort: 9528
+ - path: /rmdc/detection/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-detection
+ servicePort: 9528
+ - path: /rmdc/dikongzhixingh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-dikongzhixingh5
+ servicePort: 9528
+ - path: /rmdc/dispatchh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-dispatchh5
+ servicePort: 9528
+ - path: /rmdc/emergency/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-emergency-rescue
+ servicePort: 9528
+ - path: /rmdc/eventsh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-eventsh5
+ servicePort: 9528
+ - path: /rmdc/flight-control/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-flight-control
+ servicePort: 9528
+ - path: /rmdc/hljtt/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-hljtt
+ servicePort: 9528
+ - path: /rmdc/hyper/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-hyperspectral
+ servicePort: 9528
+ - path: /rmdc/iot/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-iot-manager
+ servicePort: 9528
+ - path: /rmdc/jiangsuwenlv/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-jiangsuwenlv
+ servicePort: 9528
+ - path: /rmdc/logistics/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-logistics
+ servicePort: 9528
+ - path: /rmdc/media/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-media
+ servicePort: 9528
+ - path: /rmdc/mianyangbackend/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-mianyangbackend
+ servicePort: 9528
+ - path: /rmdc/multiterminal/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-multiterminal
+ servicePort: 9528
+ - path: /rmdc/mws/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-mws
+ servicePort: 9528
+ - path: /rmdc/oms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-oms
+ servicePort: 9528
+ - path: /rmdc/open/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-open
+ servicePort: 9528
+ - path: /rmdc/pilot2cloud/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-pilot2-to-cloud
+ servicePort: 9528
+ - path: /rmdc/qingdao/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-qingdao
+ servicePort: 9528
+ - path: /rmdc/qinghaitourism/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-qinghaitourism
+ servicePort: 9528
+ - path: /rmdc/renyike/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-renyike
+ servicePort: 9528
+ - path: /rmdc/scanner/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-scanner
+ servicePort: 9528
+ - path: /rmdc/security/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-security
+ servicePort: 9528
+ - path: /rmdc/securityh5/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-securityh5
+ servicePort: 9528
+ - path: /rmdc/seniclive/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-seniclive
+ servicePort: 9528
+ - path: /rmdc/share/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-share
+ servicePort: 9528
+ - path: /rmdc/smauth/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-smauth
+ servicePort: 9528
+ - path: /rmdc/smsecret/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-smsecret
+ servicePort: 9528
+ - path: /rmdc/splice/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-splice
+ servicePort: 9528
+ - path: /rmdc/threedsimulation/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-threedsimulation
+ servicePort: 9528
+ - path: /rmdc/traffic/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-traffic
+ servicePort: 9528
+ - path: /rmdc/uas/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uas
+ servicePort: 9528
+ - path: /rmdc/uas/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uaskny
+ servicePort: 9528
+ - path: /rmdc/uasms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uasms
+ servicePort: 9528
+ - path: /rmdc/uasms/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-uasmskny
+ servicePort: 9528
+ - path: /rmdc/visualization/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-platform-visualization
+ servicePort: 9528
+ - path: /rmdc/uavmsmanager/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-platform-manager
+ servicePort: 9528
+ - path: /rmdc/secenter/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-platform-security-center
+ servicePort: 9528
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: backend-applications-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: backend
+ octopus.control: all-ingress-config-wdd
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+spec:
+ rules:
+ - host: cmii-admin-data.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-data
+ servicePort: 8080
+ - host: cmii-admin-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-gateway
+ servicePort: 8080
+ - host: cmii-admin-user.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-user
+ servicePort: 8080
+ - host: cmii-app-release.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-app-release
+ servicePort: 8080
+ - host: cmii-open-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-open-gateway
+ servicePort: 8080
+ - host: cmii-sky-converge.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-sky-converge
+ servicePort: 8080
+ - host: cmii-suav-supervision.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-suav-supervision
+ servicePort: 8080
+ - host: cmii-uas-datahub.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-datahub
+ servicePort: 8080
+ - host: cmii-uas-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-gateway
+ servicePort: 8080
+ - host: cmii-uas-lifecycle.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-lifecycle
+ servicePort: 8080
+ - host: cmii-uav-advanced5g.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-advanced5g
+ servicePort: 8080
+ - host: cmii-uav-airspace.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-airspace
+ servicePort: 8080
+ - host: cmii-uav-alarm.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-alarm
+ servicePort: 8080
+ - host: cmii-uav-autowaypoint.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-autowaypoint
+ servicePort: 8080
+ - host: cmii-uav-brain.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-brain
+ servicePort: 8080
+ - host: cmii-uav-bridge.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-bridge
+ servicePort: 8080
+ - host: cmii-uav-cloud-live.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-cloud-live
+ servicePort: 8080
+ - host: cmii-uav-clusters.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-clusters
+ servicePort: 8080
+ - host: cmii-uav-cms.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-cms
+ servicePort: 8080
+ - host: cmii-uav-data-post-process.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-data-post-process
+ servicePort: 8080
+ - host: cmii-uav-depotautoreturn.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-depotautoreturn
+ servicePort: 8080
+ - host: cmii-uav-developer.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-developer
+ servicePort: 8080
+ - host: cmii-uav-device.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-device
+ servicePort: 8080
+ - host: cmii-uav-emergency.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-emergency
+ servicePort: 8080
+ - host: cmii-uav-fwdd.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-fwdd
+ servicePort: 8080
+ - host: cmii-uav-gateway.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gateway
+ servicePort: 8080
+ - host: cmii-uav-gis-server.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gis-server
+ servicePort: 8080
+ - host: cmii-uav-grid-datasource.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-datasource
+ servicePort: 8080
+ - host: cmii-uav-grid-engine.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-engine
+ servicePort: 8080
+ - host: cmii-uav-grid-manage.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-grid-manage
+ servicePort: 8080
+ - host: cmii-uav-industrial-portfolio.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-industrial-portfolio
+ servicePort: 8080
+ - host: cmii-uav-integration.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-integration
+ servicePort: 8080
+ - host: cmii-uav-iot-dispatcher.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-iot-dispatcher
+ servicePort: 8080
+ - host: cmii-uav-iot-manager.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-iot-manager
+ servicePort: 8080
+ - host: cmii-uav-kpi-monitor.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-kpi-monitor
+ servicePort: 8080
+ - host: cmii-uav-logger.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-logger
+ servicePort: 8080
+ - host: cmii-uav-material-warehouse.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-material-warehouse
+ servicePort: 8080
+ - host: cmii-uav-mission.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-mission
+ servicePort: 8080
+ - host: cmii-uav-mqtthandler.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-mqtthandler
+ servicePort: 8080
+ - host: cmii-uav-multilink.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-multilink
+ servicePort: 8080
+ - host: cmii-uav-notice.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-notice
+ servicePort: 8080
+ - host: cmii-uav-oauth.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-oauth
+ servicePort: 8080
+ - host: cmii-uav-process.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-process
+ servicePort: 8080
+ - host: cmii-uav-sec-awareness.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sec-awareness
+ servicePort: 8080
+ - host: cmii-uav-security-trace.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-security-trace
+ servicePort: 8080
+ - host: cmii-uav-sense-adapter.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sense-adapter
+ servicePort: 8080
+ - host: cmii-uav-surveillance.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-surveillance
+ servicePort: 8080
+ - host: cmii-uav-sync.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-sync
+ servicePort: 8080
+ - host: cmii-uav-tcp-server.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-tcp-server
+ servicePort: 8080
+ - host: cmii-uav-threedsimulation.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-threedsimulation
+ servicePort: 8080
+ - host: cmii-uav-tower.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-tower
+ servicePort: 8080
+ - host: cmii-uav-user.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-user
+ servicePort: 8080
+ - host: cmii-uav-watchdog.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-watchdog
+ servicePort: 8080
+ - host: cmii-uav-waypoint.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-waypoint
+ servicePort: 8080
+ - host: cmii-uavms-pyfusion.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-pyfusion
+ servicePort: 8080
+ - host: cmii-uavms-security-center.uavcloud-rmdc.io
+ http:
+ paths:
+ - path: /
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uavms-security-center
+ servicePort: 8080
+---
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: all-gateways-ingress
+ namespace: wdd-rmdc
+ labels:
+ type: api-gateway
+ octopus.control: all-ingress-config-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/enable-cors: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$1
+ nginx.ingress.kubernetes.io/configuration-snippet: |
+ proxy_set_header upgradePrefix $http_upgrade;
+ proxy_set_header Connection "upgradePrefix";
+spec:
+ rules:
+ - host: fake-domain.wdd-rmdc.io
+ http:
+ paths:
+ - path: /rmdc/oms/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-admin-gateway
+ servicePort: 8080
+ - path: /rmdc/open/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-open-gateway
+ servicePort: 8080
+ - path: /rmdc/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uav-gateway
+ servicePort: 8080
+ - path: /rmdc/uas/api/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-uas-gateway
+ servicePort: 8080
+ - path: /rmdc/converge/?(.*)
+ pathType: ImplementationSpecific
+ backend:
+ serviceName: cmii-sky-converge
+ servicePort: 8080
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-mongo.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-mongo.yaml
new file mode 100644
index 0000000..f0bca2e
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-mongo.yaml
@@ -0,0 +1,78 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: NodePort
+ selector:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ ports:
+ - port: 27017
+ name: server-27017
+ targetPort: 27017
+ nodePort: 37017
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+spec:
+ serviceName: helm-mongo
+ replicas: 1
+ selector:
+ matchLabels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ template:
+ metadata:
+ labels:
+ cmii.app: helm-mongo
+ cmii.type: middleware
+ helm.sh/chart: mongo-1.1.0
+ app.kubernetes.io/managed-by: octopus-control
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ pod.alpha.kubernetes.io/initialized: "true"
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ containers:
+ - name: helm-mongo
+ image: harbor.cdcyy.com.cn/cmii/mongo:5.0
+ resources: {}
+ ports:
+ - containerPort: 27017
+ name: mongo27017
+ protocol: TCP
+ env:
+ - name: MONGO_INITDB_ROOT_USERNAME
+ value: cmlc
+ - name: MONGO_INITDB_ROOT_PASSWORD
+ value: REdPza8#oVlt
+ volumeMounts:
+ - name: mongo-data
+ mountPath: /data/db
+ readOnly: false
+ subPath: default/helm-mongo/data/db
+ volumes:
+ - name: mongo-data
+ persistentVolumeClaim:
+ claimName: helm-mongo
+---
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-mysql.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-mysql.yaml
new file mode 100644
index 0000000..fce445d
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-mysql.yaml
@@ -0,0 +1,410 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ annotations: {}
+secrets:
+ - name: helm-mysql
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+type: Opaque
+data:
+ mysql-root-password: "UXpmWFFoZDNiUQ=="
+ mysql-password: "S0F0cm5PckFKNw=="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: primary
+data:
+ my.cnf: |-
+
+ [mysqld]
+ port=3306
+ basedir=/opt/bitnami/mysql
+ datadir=/bitnami/mysql/data
+ pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ log-error=/bitnami/mysql/data/error.log
+ general_log_file = /bitnami/mysql/data/general.log
+ slow_query_log_file = /bitnami/mysql/data/slow.log
+ innodb_data_file_path = ibdata1:512M:autoextend
+ innodb_buffer_pool_size = 512M
+ innodb_buffer_pool_instances = 2
+ innodb_log_file_size = 512M
+ innodb_log_files_in_group = 4
+ innodb_log_files_in_group = 4
+ log-bin = /bitnami/mysql/data/mysql-bin
+ max_binlog_size=1G
+ transaction_isolation = REPEATABLE-READ
+ default_storage_engine = innodb
+ character-set-server = utf8mb4
+ collation-server=utf8mb4_bin
+ binlog_format = ROW
+ binlog_rows_query_log_events=on
+ binlog_cache_size=4M
+ binlog_expire_logs_seconds = 1296000
+ max_binlog_cache_size=2G
+ gtid_mode = on
+ enforce_gtid_consistency = 1
+ sync_binlog = 1
+ innodb_flush_log_at_trx_commit = 1
+ innodb_flush_method = O_DIRECT
+ log_slave_updates=1
+ relay_log_recovery = 1
+ relay-log-purge = 1
+ default_time_zone = '+08:00'
+ lower_case_table_names=1
+ log_bin_trust_function_creators=1
+ group_concat_max_len=67108864
+ innodb_io_capacity = 4000
+ innodb_io_capacity_max = 8000
+ innodb_flush_sync = 0
+ innodb_flush_neighbors = 0
+ innodb_write_io_threads = 8
+ innodb_read_io_threads = 8
+ innodb_purge_threads = 4
+ innodb_page_cleaners = 4
+ innodb_open_files = 65535
+ innodb_max_dirty_pages_pct = 50
+ innodb_lru_scan_depth = 4000
+ innodb_checksum_algorithm = crc32
+ innodb_lock_wait_timeout = 10
+ innodb_rollback_on_timeout = 1
+ innodb_print_all_deadlocks = 1
+ innodb_file_per_table = 1
+ innodb_online_alter_log_max_size = 4G
+ innodb_stats_on_metadata = 0
+ innodb_thread_concurrency = 0
+ innodb_sync_spin_loops = 100
+ innodb_spin_wait_delay = 30
+ lock_wait_timeout = 3600
+ slow_query_log = 1
+ long_query_time = 10
+ log_queries_not_using_indexes =1
+ log_throttle_queries_not_using_indexes = 60
+ min_examined_row_limit = 100
+ log_slow_admin_statements = 1
+ log_slow_slave_statements = 1
+ default_authentication_plugin=mysql_native_password
+ skip-name-resolve=1
+ explicit_defaults_for_timestamp=1
+ plugin_dir=/opt/bitnami/mysql/plugin
+ max_allowed_packet=128M
+ max_connections = 2000
+ max_connect_errors = 1000000
+ table_definition_cache=2000
+ table_open_cache_instances=64
+ tablespace_definition_cache=1024
+ thread_cache_size=256
+ interactive_timeout = 600
+ wait_timeout = 600
+ tmpdir=/opt/bitnami/mysql/tmp
+ max_allowed_packet=32M
+ bind-address=0.0.0.0
+ performance_schema = 1
+ performance_schema_instrument = '%memory%=on'
+ performance_schema_instrument = '%lock%=on'
+ innodb_monitor_enable=ALL
+
+ [mysql]
+ no-auto-rehash
+
+ [mysqldump]
+ quick
+ max_allowed_packet = 32M
+
+ [client]
+ port=3306
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ default-character-set=UTF8
+ plugin_dir=/opt/bitnami/mysql/plugin
+
+ [manager]
+ port=3306
+ socket=/opt/bitnami/mysql/tmp/mysql.sock
+ pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-mysql-init-scripts
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: primary
+data:
+ create_users_grants_core.sql: |-
+ create user zyly@'%' identified by 'Cmii@451315';
+ grant select on *.* to zyly@'%';
+ create user zyly_qc@'%' identified by 'Uh)E_owCyb16';
+ grant all on *.* to zyly_qc@'%';
+ create user k8s_admin@'%' identified by 'fP#UaH6qQ3)8';
+ grant all on *.* to k8s_admin@'%';
+ create user audit_dba@'%' identified by 'PjCzqiBmJaTpgkoYXynH';
+ grant all on *.* to audit_dba@'%';
+ create user db_backup@'%' identified by 'RU5Pu(4FGdT9';
+ GRANT SELECT, RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT, EVENT on *.* to db_backup@'%';
+ create user monitor@'%' identified by 'PL3#nGtrWbf-';
+ grant REPLICATION CLIENT on *.* to monitor@'%';
+ flush privileges;
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: cmii-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/component: primary
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.app: mysql
+ cmii.type: middleware
+ octopus.control: mysql-db-wdd
+spec:
+ ports:
+ - name: mysql
+ protocol: TCP
+ port: 13306
+ targetPort: mysql
+ selector:
+ app.kubernetes.io/component: primary
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.app: mysql
+ cmii.type: middleware
+ type: ClusterIP
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mysql-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ annotations: {}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ publishNotReadyAddresses: true
+ ports:
+ - name: mysql
+ port: 3306
+ targetPort: mysql
+ selector:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ annotations: {}
+spec:
+ type: NodePort
+ ports:
+ - name: mysql
+ port: 3306
+ protocol: TCP
+ targetPort: mysql
+ nodePort: 33306
+ selector:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-mysql
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: mysql-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ serviceName: helm-mysql
+ updateStrategy:
+ type: RollingUpdate
+ template:
+ metadata:
+ annotations:
+ checksum/configuration: 6b60fa0f3a846a6ada8effdc4f823cf8003d42a8c8f630fe8b1b66d3454082dd
+ labels:
+ app.kubernetes.io/name: mysql-db
+ octopus.control: mysql-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: mysql
+ app.kubernetes.io/component: primary
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: helm-mysql
+ affinity: {}
+ nodeSelector:
+ mysql-deploy: "true"
+ securityContext:
+ fsGroup: 1001
+ initContainers:
+ - name: change-volume-permissions
+ image: harbor.cdcyy.com.cn/cmii/bitnami-shell:11-debian-11-r136
+ imagePullPolicy: "Always"
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ chown -R 1001:1001 /bitnami/mysql
+ securityContext:
+ runAsUser: 0
+ volumeMounts:
+ - name: mysql-data
+ mountPath: /bitnami/mysql
+ containers:
+ - name: mysql
+ image: harbor.cdcyy.com.cn/cmii/mysql:8.1.0-debian-11-r42
+ imagePullPolicy: "IfNotPresent"
+ securityContext:
+ runAsUser: 1001
+ env:
+ - name: BITNAMI_DEBUG
+ value: "true"
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-mysql
+ key: mysql-root-password
+ - name: MYSQL_DATABASE
+ value: "cmii"
+ ports:
+ - name: mysql
+ containerPort: 3306
+ livenessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 3
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ readinessProbe:
+ failureThreshold: 5
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 3
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ startupProbe:
+ failureThreshold: 60
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ password_aux="${MYSQL_ROOT_PASSWORD:-}"
+ if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+ password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+ fi
+ mysqladmin status -uroot -p"${password_aux}"
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: mysql-data
+ mountPath: /bitnami/mysql
+ - name: custom-init-scripts
+ mountPath: /docker-entrypoint-initdb.d
+ - name: config
+ mountPath: /opt/bitnami/mysql/conf/my.cnf
+ subPath: my.cnf
+ volumes:
+ - name: config
+ configMap:
+ name: helm-mysql
+ - name: custom-init-scripts
+ configMap:
+ name: helm-mysql-init-scripts
+ - name: mysql-data
+ hostPath:
+ path: /var/lib/docker/mysql-pv/wdd-rmdc/
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-nacos.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-nacos.yaml
new file mode 100644
index 0000000..b207543
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-nacos.yaml
@@ -0,0 +1,130 @@
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-nacos-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+data:
+ mysql.db.name: "cmii_nacos_config"
+ mysql.db.host: "helm-mysql"
+ mysql.port: "3306"
+ mysql.user: "k8s_admin"
+ mysql.password: "fP#UaH6qQ3)8"
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-nacos
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+spec:
+ type: NodePort
+ selector:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ ports:
+ - port: 8848
+ name: server
+ targetPort: 8848
+ nodePort: 38848
+ - port: 9848
+ name: server12
+ targetPort: 9848
+ - port: 9849
+ name: server23
+ targetPort: 9849
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-nacos
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: Helm
+ app.kubernetes.io/version: base-1.0
+spec:
+ serviceName: helm-nacos
+ replicas: 1
+ selector:
+ matchLabels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ template:
+ metadata:
+ labels:
+ cmii.app: helm-nacos
+ cmii.type: middleware
+ octopus.control: nacos-wdd
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/version: base-1.0
+ annotations:
+ pod.alpha.kubernetes.io/initialized: "true"
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ containers:
+ - name: nacos-server
+ image: harbor.cdcyy.com.cn/cmii/nacos-server:v2.1.2
+ ports:
+ - containerPort: 8848
+ name: dashboard
+ - containerPort: 9848
+ name: tcp-9848
+ - containerPort: 9849
+ name: tcp-9849
+ env:
+ - name: NACOS_AUTH_ENABLE
+ value: "false"
+ - name: NACOS_REPLICAS
+ value: "1"
+ - name: MYSQL_SERVICE_DB_NAME
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.db.name
+ - name: MYSQL_SERVICE_PORT
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.port
+ - name: MYSQL_SERVICE_USER
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.user
+ - name: MYSQL_SERVICE_PASSWORD
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.password
+ - name: MYSQL_SERVICE_HOST
+ valueFrom:
+ configMapKeyRef:
+ name: helm-nacos-cm
+ key: mysql.db.host
+ - name: NACOS_SERVER_PORT
+ value: "8848"
+ - name: NACOS_APPLICATION_PORT
+ value: "8848"
+ - name: PREFER_HOST_MODE
+ value: "hostname"
+ - name: MODE
+ value: standalone
+ - name: SPRING_DATASOURCE_PLATFORM
+ value: mysql
+---
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-nfs-test.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-nfs-test.yaml
new file mode 100644
index 0000000..532b564
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-nfs-test.yaml
@@ -0,0 +1,38 @@
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: test-claim
+ annotations:
+ volume.beta.kubernetes.io/storage-class: "nfs-prod-distribute" #与nfs-StorageClass.yaml metadata.name保持一致
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: nfs-prod-distribute
+ resources:
+ requests:
+ storage: 1Mi
+---
+kind: Pod
+apiVersion: v1
+metadata:
+ name: test-pod
+spec:
+ imagePullSecrets:
+ - name: harborsecret
+ containers:
+ - name: test-pod
+ image: harbor.cdcyy.com.cn/cmii/busybox:latest
+ command:
+ - "/bin/sh"
+ args:
+ - "-c"
+ - "touch /mnt/NFS-CREATE-SUCCESS && exit 0 || exit 1" #创建一个SUCCESS文件后退出
+ volumeMounts:
+ - name: nfs-pvc
+ mountPath: "/mnt"
+ restartPolicy: "Never"
+ volumes:
+ - name: nfs-pvc
+ persistentVolumeClaim:
+ claimName: test-claim #与PVC名称保持一致
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-nfs.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-nfs.yaml
new file mode 100644
index 0000000..484a20a
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-nfs.yaml
@@ -0,0 +1,114 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system #根据实际环境设定namespace,下面类同
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: nfs-client-provisioner-runner
+rules:
+ - apiGroups: [""]
+ resources: ["persistentvolumes"]
+ verbs: ["get", "list", "watch", "create", "delete"]
+ - apiGroups: [""]
+ resources: ["persistentvolumeclaims"]
+ verbs: ["get", "list", "watch", "update"]
+ - apiGroups: ["storage.k8s.io"]
+ resources: ["storageclasses"]
+ verbs: ["get", "list", "watch"]
+ - apiGroups: [""]
+ resources: ["events"]
+ verbs: ["create", "update", "patch"]
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: run-nfs-client-provisioner
+subjects:
+ - kind: ServiceAccount
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+roleRef:
+ kind: ClusterRole
+# name: nfs-client-provisioner-runner
+ name: cluster-admin
+ apiGroup: rbac.authorization.k8s.io
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: leader-locking-nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+rules:
+ - apiGroups: [""]
+ resources: ["endpoints"]
+ verbs: ["get", "list", "watch", "create", "update", "patch"]
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: leader-locking-nfs-client-provisioner
+subjects:
+ - kind: ServiceAccount
+ name: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system
+roleRef:
+ kind: Role
+ name: leader-locking-nfs-client-provisioner
+ apiGroup: rbac.authorization.k8s.io
+
+---
+apiVersion: storage.k8s.io/v1
+kind: StorageClass
+metadata:
+ name: nfs-prod-distribute
+provisioner: cmlc-nfs-storage #这里的名称要和provisioner配置文件中的环境变量PROVISIONER_NAME保持一致parameters: archiveOnDelete: "false"
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: nfs-client-provisioner
+ labels:
+ app: nfs-client-provisioner
+ # replace with namespace where provisioner is deployed
+ namespace: kube-system #与RBAC文件中的namespace保持一致
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: nfs-client-provisioner
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: nfs-client-provisioner
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: nfs-client-provisioner
+ containers:
+ - name: nfs-client-provisioner
+ image: harbor.cdcyy.com.cn/cmii/nfs-subdir-external-provisioner:v4.0.2
+ volumeMounts:
+ - name: nfs-client-root
+ mountPath: /persistentvolumes
+ env:
+ - name: PROVISIONER_NAME
+ value: cmlc-nfs-storage
+ - name: NFS_SERVER
+ value: 192.168.0.6
+ - name: NFS_PATH
+ value: /var/lib/docker/nfs_data
+ volumes:
+ - name: nfs-client-root
+ nfs:
+ server: 192.168.0.6
+ path: /var/lib/docker/nfs_data
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-pvc.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-pvc.yaml
new file mode 100644
index 0000000..ce7c964
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-pvc.yaml
@@ -0,0 +1,76 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: nfs-backend-log-pvc
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: nfs-backend-log-pvc
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 100Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-emqxs
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-emqxs
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 20Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-mongo
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-mongo
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 30Gi
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ cmii.type: middleware-base
+ cmii.app: helm-rabbitmq
+ helm.sh/chart: all-persistence-volume-claims-1.1.0
+ app.kubernetes.io/version: base-1.0
+spec:
+ storageClassName: nfs-prod-distribute
+ accessModes:
+ - ReadWriteMany
+ volumeMode: Filesystem
+ resources:
+ requests:
+ storage: 20Gi
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-rabbitmq.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-rabbitmq.yaml
new file mode 100644
index 0000000..5bd188b
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-rabbitmq.yaml
@@ -0,0 +1,328 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+automountServiceAccountToken: true
+secrets:
+ - name: helm-rabbitmq
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+type: Opaque
+data:
+ rabbitmq-password: "blljUk45MXIuX2hq"
+ rabbitmq-erlang-cookie: "emFBRmt1ZU1xMkJieXZvdHRYbWpoWk52UThuVXFzcTU="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-rabbitmq-config
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+data:
+ rabbitmq.conf: |-
+ ## Username and password
+ ##
+ default_user = admin
+ default_pass = nYcRN91r._hj
+ ## Clustering
+ ##
+ cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
+ cluster_formation.k8s.host = kubernetes.default.svc.cluster.local
+ cluster_formation.node_cleanup.interval = 10
+ cluster_formation.node_cleanup.only_log_warning = true
+ cluster_partition_handling = autoheal
+ # queue master locator
+ queue_master_locator = min-masters
+ # enable guest user
+ loopback_users.guest = false
+ #default_vhost = default-vhost
+ #disk_free_limit.absolute = 50MB
+ #load_definitions = /app/load_definition.json
+---
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-rabbitmq-endpoint-reader
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+rules:
+ - apiGroups: [""]
+ resources: ["endpoints"]
+ verbs: ["get"]
+ - apiGroups: [""]
+ resources: ["events"]
+ verbs: ["create"]
+---
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: helm-rabbitmq-endpoint-reader
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+subjects:
+ - kind: ServiceAccount
+ name: helm-rabbitmq
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: helm-rabbitmq-endpoint-reader
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-rabbitmq-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ clusterIP: None
+ ports:
+ - name: epmd
+ port: 4369
+ targetPort: epmd
+ - name: amqp
+ port: 5672
+ targetPort: amqp
+ - name: dist
+ port: 25672
+ targetPort: dist
+ - name: dashboard
+ port: 15672
+ targetPort: stats
+ selector:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+ publishNotReadyAddresses: true
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ type: NodePort
+ ports:
+ - name: amqp
+ port: 5672
+ targetPort: amqp
+ nodePort: 35672
+ - name: dashboard
+ port: 15672
+ targetPort: dashboard
+ nodePort: 36675
+ selector:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-rabbitmq
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+spec:
+ serviceName: helm-rabbitmq-headless
+ podManagementPolicy: OrderedReady
+ replicas: 1
+ updateStrategy:
+ type: RollingUpdate
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: helm-rabbitmq
+ app.kubernetes.io/release: wdd-rmdc
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: helm-rabbitmq
+ helm.sh/chart: rabbitmq-8.26.1
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: rabbitmq
+ annotations:
+ checksum/config: d6c2caa9572f64a06d9f7daa34c664a186b4778cd1697ef8e59663152fc628f1
+ checksum/secret: d764e7b3d999e7324d1afdfec6140092a612f04b6e0306818675815cec2f454f
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ serviceAccountName: helm-rabbitmq
+ affinity: {}
+ securityContext:
+ fsGroup: 5001
+ runAsUser: 5001
+ terminationGracePeriodSeconds: 120
+ initContainers:
+ - name: volume-permissions
+ image: harbor.cdcyy.com.cn/cmii/bitnami-shell:11-debian-11-r136
+ imagePullPolicy: "Always"
+ command:
+ - /bin/bash
+ args:
+ - -ec
+ - |
+ mkdir -p "/bitnami/rabbitmq/mnesia"
+ chown -R "5001:5001" "/bitnami/rabbitmq/mnesia"
+ securityContext:
+ runAsUser: 0
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: data
+ mountPath: /bitnami/rabbitmq/mnesia
+ containers:
+ - name: rabbitmq
+ image: harbor.cdcyy.com.cn/cmii/rabbitmq:3.9.12-debian-10-r3
+ imagePullPolicy: "Always"
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: MY_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: MY_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: K8S_SERVICE_NAME
+ value: "helm-rabbitmq-headless"
+ - name: K8S_ADDRESS_TYPE
+ value: hostname
+ - name: RABBITMQ_FORCE_BOOT
+ value: "no"
+ - name: RABBITMQ_NODE_NAME
+ value: "rabbit@$(MY_POD_NAME).$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE).svc.cluster.local"
+ - name: K8S_HOSTNAME_SUFFIX
+ value: ".$(K8S_SERVICE_NAME).$(MY_POD_NAMESPACE).svc.cluster.local"
+ - name: RABBITMQ_MNESIA_DIR
+ value: "/bitnami/rabbitmq/mnesia/$(RABBITMQ_NODE_NAME)"
+ - name: RABBITMQ_LDAP_ENABLE
+ value: "no"
+ - name: RABBITMQ_LOGS
+ value: "-"
+ - name: RABBITMQ_ULIMIT_NOFILES
+ value: "65536"
+ - name: RABBITMQ_USE_LONGNAME
+ value: "true"
+ - name: RABBITMQ_ERL_COOKIE
+ valueFrom:
+ secretKeyRef:
+ name: helm-rabbitmq
+ key: rabbitmq-erlang-cookie
+ - name: RABBITMQ_LOAD_DEFINITIONS
+ value: "no"
+ - name: RABBITMQ_SECURE_PASSWORD
+ value: "yes"
+ - name: RABBITMQ_USERNAME
+ value: "admin"
+ - name: RABBITMQ_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-rabbitmq
+ key: rabbitmq-password
+ - name: RABBITMQ_PLUGINS
+ value: "rabbitmq_management, rabbitmq_peer_discovery_k8s, rabbitmq_shovel, rabbitmq_shovel_management, rabbitmq_auth_backend_ldap"
+ ports:
+ - name: amqp
+ containerPort: 5672
+ - name: dist
+ containerPort: 25672
+ - name: dashboard
+ containerPort: 15672
+ - name: epmd
+ containerPort: 4369
+ livenessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - rabbitmq-diagnostics -q ping
+ initialDelaySeconds: 120
+ periodSeconds: 30
+ timeoutSeconds: 20
+ successThreshold: 1
+ failureThreshold: 6
+ readinessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - rabbitmq-diagnostics -q check_running && rabbitmq-diagnostics -q check_local_alarms
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ lifecycle:
+ preStop:
+ exec:
+ command:
+ - /bin/bash
+ - -ec
+ - |
+ if [[ -f /opt/bitnami/scripts/rabbitmq/nodeshutdown.sh ]]; then
+ /opt/bitnami/scripts/rabbitmq/nodeshutdown.sh -t "120" -d "false"
+ else
+ rabbitmqctl stop_app
+ fi
+ resources:
+ limits: {}
+ requests: {}
+ volumeMounts:
+ - name: configuration
+ mountPath: /bitnami/rabbitmq/conf
+ - name: data
+ mountPath: /bitnami/rabbitmq/mnesia
+ volumes:
+ - name: configuration
+ configMap:
+ name: helm-rabbitmq-config
+ items:
+ - key: rabbitmq.conf
+ path: rabbitmq.conf
+ - name: data
+ persistentVolumeClaim:
+ claimName: helm-rabbitmq
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-redis.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-redis.yaml
new file mode 100644
index 0000000..89c4981
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-redis.yaml
@@ -0,0 +1,585 @@
+---
+apiVersion: v1
+kind: ServiceAccount
+automountServiceAccountToken: true
+metadata:
+ name: helm-redis
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: helm-redis
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+type: Opaque
+data:
+ redis-password: "TWNhY2hlQDQ1MjI="
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-configuration
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ redis.conf: |-
+ # User-supplied common configuration:
+ # Enable AOF https://redis.io/topics/persistence#append-only-file
+ appendonly yes
+ # Disable RDB persistence, AOF persistence already enabled.
+ save ""
+ # End of common configuration
+ master.conf: |-
+ dir /data
+ # User-supplied master configuration:
+ rename-command FLUSHDB ""
+ rename-command FLUSHALL ""
+ # End of master configuration
+ replica.conf: |-
+ dir /data
+ slave-read-only yes
+ # User-supplied replica configuration:
+ rename-command FLUSHDB ""
+ rename-command FLUSHALL ""
+ # End of replica configuration
+---
+# Source: outside-deploy/charts/redis-db/templates/health-configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-health
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ ping_readiness_local.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h localhost \
+ -p $REDIS_PORT \
+ ping
+ )
+ if [ "$response" != "PONG" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_liveness_local.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h localhost \
+ -p $REDIS_PORT \
+ ping
+ )
+ if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_readiness_master.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h $REDIS_MASTER_HOST \
+ -p $REDIS_MASTER_PORT_NUMBER \
+ ping
+ )
+ if [ "$response" != "PONG" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_liveness_master.sh: |-
+ #!/bin/bash
+
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD"
+ response=$(
+ timeout -s 3 $1 \
+ redis-cli \
+ -h $REDIS_MASTER_HOST \
+ -p $REDIS_MASTER_PORT_NUMBER \
+ ping
+ )
+ if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
+ echo "$response"
+ exit 1
+ fi
+ ping_readiness_local_and_master.sh: |-
+ script_dir="$(dirname "$0")"
+ exit_status=0
+ "$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
+ "$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
+ exit $exit_status
+ ping_liveness_local_and_master.sh: |-
+ script_dir="$(dirname "$0")"
+ exit_status=0
+ "$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
+ "$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
+ exit $exit_status
+---
+# Source: outside-deploy/charts/redis-db/templates/scripts-configmap.yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: helm-redis-scripts
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+data:
+ start-master.sh: |
+ #!/bin/bash
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
+ fi
+ if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
+ fi
+ ARGS=("--port" "${REDIS_PORT}")
+ ARGS+=("--requirepass" "${REDIS_PASSWORD}")
+ ARGS+=("--masterauth" "${REDIS_PASSWORD}")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
+ exec redis-server "${ARGS[@]}"
+ start-replica.sh: |
+ #!/bin/bash
+
+ get_port() {
+ hostname="$1"
+ type="$2"
+
+ port_var=$(echo "${hostname^^}_SERVICE_PORT_$type" | sed "s/-/_/g")
+ port=${!port_var}
+
+ if [ -z "$port" ]; then
+ case $type in
+ "SENTINEL")
+ echo 26379
+ ;;
+ "REDIS")
+ echo 6379
+ ;;
+ esac
+ else
+ echo $port
+ fi
+ }
+
+ get_full_hostname() {
+ hostname="$1"
+ echo "${hostname}.${HEADLESS_SERVICE}"
+ }
+
+ REDISPORT=$(get_port "$HOSTNAME" "REDIS")
+
+ [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")"
+ [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")"
+ if [[ ! -f /opt/bitnami/redis/etc/replica.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf
+ fi
+ if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
+ cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
+ fi
+
+ echo "" >> /opt/bitnami/redis/etc/replica.conf
+ echo "replica-announce-port $REDISPORT" >> /opt/bitnami/redis/etc/replica.conf
+ echo "replica-announce-ip $(get_full_hostname "$HOSTNAME")" >> /opt/bitnami/redis/etc/replica.conf
+ ARGS=("--port" "${REDIS_PORT}")
+ ARGS+=("--slaveof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}")
+ ARGS+=("--requirepass" "${REDIS_PASSWORD}")
+ ARGS+=("--masterauth" "${REDIS_MASTER_PASSWORD}")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
+ ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf")
+ exec redis-server "${ARGS[@]}"
+---
+# Source: outside-deploy/charts/redis-db/templates/headless-svc.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-headless
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+---
+# Source: outside-deploy/charts/redis-db/templates/master/service.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-master
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+spec:
+ type: ClusterIP
+
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ nodePort: null
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+---
+# Source: outside-deploy/charts/redis-db/templates/replicas/service.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: helm-redis-replicas
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+spec:
+ type: ClusterIP
+ ports:
+ - name: tcp-redis
+ port: 6379
+ targetPort: redis
+ nodePort: null
+ selector:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/component: replica
+---
+# Source: outside-deploy/charts/redis-db/templates/master/statefulset.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-redis-master
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+ serviceName: helm-redis-headless
+ updateStrategy:
+ rollingUpdate: {}
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ cmii.type: middleware
+ cmii.app: redis
+ app.kubernetes.io/component: master
+ annotations:
+ checksum/configmap: b64aa5db67e6e63811f3c1095b9fce34d83c86a471fccdda0e48eedb53a179b0
+ checksum/health: 6e0a6330e5ac63e565ae92af1444527d72d8897f91266f333555b3d323570623
+ checksum/scripts: b88df93710b7c42a76006e20218f05c6e500e6cc2affd4bb1985832f03166e98
+ checksum/secret: 43f1b0e20f9cb2de936bd182bc3683b720fc3cf4f4e76cb23c06a52398a50e8d
+ spec:
+ affinity: {}
+ securityContext:
+ fsGroup: 1001
+ serviceAccountName: helm-redis
+ imagePullSecrets:
+ - name: harborsecret
+ terminationGracePeriodSeconds: 30
+ containers:
+ - name: redis
+ image: harbor.cdcyy.com.cn/cmii/redis:6.2.6-debian-10-r0
+ imagePullPolicy: "Always"
+ securityContext:
+ runAsUser: 1001
+ command:
+ - /bin/bash
+ args:
+ - -c
+ - /opt/bitnami/scripts/start-scripts/start-master.sh
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: REDIS_REPLICATION_MODE
+ value: master
+ - name: ALLOW_EMPTY_PASSWORD
+ value: "no"
+ - name: REDIS_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_TLS_ENABLED
+ value: "no"
+ - name: REDIS_PORT
+ value: "6379"
+ ports:
+ - name: redis
+ containerPort: 6379
+ livenessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ # One second longer than command timeout should prevent generation of zombie processes.
+ timeoutSeconds: 6
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_liveness_local.sh 5
+ readinessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 2
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_readiness_local.sh 1
+ resources:
+ limits:
+ cpu: "2"
+ memory: 8Gi
+ requests:
+ cpu: "2"
+ memory: 8Gi
+ volumeMounts:
+ - name: start-scripts
+ mountPath: /opt/bitnami/scripts/start-scripts
+ - name: health
+ mountPath: /health
+ - name: redis-data
+ mountPath: /data
+ subPath:
+ - name: config
+ mountPath: /opt/bitnami/redis/mounted-etc
+ - name: redis-tmp-conf
+ mountPath: /opt/bitnami/redis/etc/
+ - name: tmp
+ mountPath: /tmp
+ volumes:
+ - name: start-scripts
+ configMap:
+ name: helm-redis-scripts
+ defaultMode: 0755
+ - name: health
+ configMap:
+ name: helm-redis-health
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: helm-redis-configuration
+ - name: redis-tmp-conf
+ emptyDir: {}
+ - name: tmp
+ emptyDir: {}
+ - name: redis-data
+ emptyDir: {}
+---
+# Source: outside-deploy/charts/redis-db/templates/replicas/statefulset.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: helm-redis-replicas
+ namespace: wdd-rmdc
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: redis-db
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/component: replica
+ serviceName: helm-redis-headless
+ updateStrategy:
+ rollingUpdate: {}
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: redis-db
+ octopus.control: redis-db-wdd
+ app.kubernetes.io/release: wdd-rmdc
+ app.kubernetes.io/managed-by: octopus
+ app.kubernetes.io/component: replica
+ annotations:
+ checksum/configmap: b64aa5db67e6e63811f3c1095b9fce34d83c86a471fccdda0e48eedb53a179b0
+ checksum/health: 6e0a6330e5ac63e565ae92af1444527d72d8897f91266f333555b3d323570623
+ checksum/scripts: b88df93710b7c42a76006e20218f05c6e500e6cc2affd4bb1985832f03166e98
+ checksum/secret: 43f1b0e20f9cb2de936bd182bc3683b720fc3cf4f4e76cb23c06a52398a50e8d
+ spec:
+ imagePullSecrets:
+ - name: harborsecret
+ securityContext:
+ fsGroup: 1001
+ serviceAccountName: helm-redis
+ terminationGracePeriodSeconds: 30
+ containers:
+ - name: redis
+ image: harbor.cdcyy.com.cn/cmii/redis:6.2.6-debian-10-r0
+ imagePullPolicy: "Always"
+ securityContext:
+ runAsUser: 1001
+ command:
+ - /bin/bash
+ args:
+ - -c
+ - /opt/bitnami/scripts/start-scripts/start-replica.sh
+ env:
+ - name: BITNAMI_DEBUG
+ value: "false"
+ - name: REDIS_REPLICATION_MODE
+ value: slave
+ - name: REDIS_MASTER_HOST
+ value: helm-redis-master-0.helm-redis-headless.wdd-rmdc.svc.cluster.local
+ - name: REDIS_MASTER_PORT_NUMBER
+ value: "6379"
+ - name: ALLOW_EMPTY_PASSWORD
+ value: "no"
+ - name: REDIS_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_MASTER_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: helm-redis
+ key: redis-password
+ - name: REDIS_TLS_ENABLED
+ value: "no"
+ - name: REDIS_PORT
+ value: "6379"
+ ports:
+ - name: redis
+ containerPort: 6379
+ livenessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 6
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_liveness_local_and_master.sh 5
+ readinessProbe:
+ initialDelaySeconds: 20
+ periodSeconds: 5
+ timeoutSeconds: 2
+ successThreshold: 1
+ failureThreshold: 5
+ exec:
+ command:
+ - sh
+ - -c
+ - /health/ping_readiness_local_and_master.sh 1
+ resources:
+ limits:
+ cpu: "2"
+ memory: 8Gi
+ requests:
+ cpu: "2"
+ memory: 8Gi
+ volumeMounts:
+ - name: start-scripts
+ mountPath: /opt/bitnami/scripts/start-scripts
+ - name: health
+ mountPath: /health
+ - name: redis-data
+ mountPath: /data
+ subPath:
+ - name: config
+ mountPath: /opt/bitnami/redis/mounted-etc
+ - name: redis-tmp-conf
+ mountPath: /opt/bitnami/redis/etc
+ volumes:
+ - name: start-scripts
+ configMap:
+ name: helm-redis-scripts
+ defaultMode: 0755
+ - name: health
+ configMap:
+ name: helm-redis-health
+ defaultMode: 0755
+ - name: config
+ configMap:
+ name: helm-redis-configuration
+ - name: redis-tmp-conf
+ emptyDir: {}
+ - name: redis-data
+ emptyDir: {}
+
diff --git a/agent-common/real_project/wdd-rmdc/old/k8s-srs.yaml b/agent-common/real_project/wdd-rmdc/old/k8s-srs.yaml
new file mode 100644
index 0000000..ddc3a76
--- /dev/null
+++ b/agent-common/real_project/wdd-rmdc/old/k8s-srs.yaml
@@ -0,0 +1,496 @@
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: helm-live-srs-cm
+ namespace: wdd-rmdc
+ labels:
+ cmii.app: live-srs
+ cmii.type: live
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ helm.sh/chart: cmlc-live-srs-rtc-2.0.0
+data:
+ srs.rtc.conf: |-
+ listen 31935;
+ max_connections 4096;
+ srs_log_tank console;
+ srs_log_level info;
+ srs_log_file /home/srs.log;
+ daemon off;
+ http_api {
+ enabled on;
+ listen 1985;
+ crossdomain on;
+ }
+ stats {
+ network 0;
+ }
+ http_server {
+ enabled on;
+ listen 8080;
+ dir /home/hls;
+ }
+ srt_server {
+ enabled on;
+ listen 30556;
+ maxbw 1000000000;
+ connect_timeout 4000;
+ peerlatency 600;
+ recvlatency 600;
+ }
+ rtc_server {
+ enabled on;
+ listen 30090;
+ candidate $CANDIDATE;
+ }
+ vhost __defaultVhost__ {
+ http_hooks {
+ enabled on;
+ on_publish http://helm-live-op-svc-v2:8080/hooks/on_push;
+ }
+ http_remux {
+ enabled on;
+ }
+ rtc {
+ enabled on;
+ rtmp_to_rtc on;
+ rtc_to_rtmp on;
+ keep_bframe off;
+ }
+ tcp_nodelay on;
+ min_latency on;
+ play {
+ gop_cache off;
+ mw_latency 100;
+ mw_msgs 10;
+ }
+ publish {
+ firstpkt_timeout 8000;
+ normal_timeout 4000;
+ mr on;
+ }
+ dvr {
+ enabled off;
+ dvr_path /home/dvr/[app]/[stream]/[2006][01]/[timestamp].mp4;
+ dvr_plan session;
+ }
+ hls {
+ enabled on;
+ hls_path /home/hls;
+ hls_fragment 10;
+ hls_window 60;
+ hls_m3u8_file [app]/[stream].m3u8;
+ hls_ts_file [app]/[stream]/[2006][01][02]/[timestamp]-[duration].ts;
+ hls_cleanup on;
+ hls_entry_prefix http://192.168.40.50:8088;
+ }
+ }
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srs-svc-exporter
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: rtmp
+ protocol: TCP
+ port: 31935
+ targetPort: 31935
+ nodePort: 31935
+ - name: rtc
+ protocol: UDP
+ port: 30090
+ targetPort: 30090
+ nodePort: 30090
+ - name: rtc-tcp
+ protocol: TCP
+ port: 30090
+ targetPort: 30090
+ nodePort: 30090
+ - name: srt
+ protocol: UDP
+ port: 30556
+ targetPort: 30556
+ nodePort: 30556
+ - name: api
+ protocol: TCP
+ port: 1985
+ targetPort: 1985
+ nodePort: 30080
+ selector:
+ srs-role: rtc
+ type: NodePort
+ sessionAffinity: None
+ externalTrafficPolicy: Cluster
+
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srs-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: http
+ protocol: TCP
+ port: 8080
+ targetPort: 8080
+ - name: api
+ protocol: TCP
+ port: 1985
+ targetPort: 1985
+ selector:
+ srs-role: rtc
+ type: ClusterIP
+ sessionAffinity: None
+
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-srsrtc-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - name: rtmp
+ protocol: TCP
+ port: 31935
+ targetPort: 31935
+ selector:
+ srs-role: rtc
+ type: ClusterIP
+ sessionAffinity: None
+
+---
+kind: StatefulSet
+apiVersion: apps/v1
+metadata:
+ name: helm-live-srs-rtc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-srs
+ cmii.type: live
+ helm.sh/chart: cmlc-live-srs-rtc-2.0.0
+ srs-role: rtc
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ srs-role: rtc
+ template:
+ metadata:
+ labels:
+ srs-role: rtc
+ spec:
+ volumes:
+ - name: srs-conf-file
+ configMap:
+ name: helm-live-srs-cm
+ items:
+ - key: srs.rtc.conf
+ path: docker.conf
+ defaultMode: 420
+ - name: srs-vol
+ emptyDir:
+ sizeLimit: 8Gi
+ containers:
+ - name: srs-rtc
+ image: harbor.cdcyy.com.cn/cmii/srs:v5.0.195
+ ports:
+ - name: srs-rtmp
+ containerPort: 31935
+ protocol: TCP
+ - name: srs-api
+ containerPort: 1985
+ protocol: TCP
+ - name: srs-flv
+ containerPort: 8080
+ protocol: TCP
+ - name: srs-webrtc
+ containerPort: 30090
+ protocol: UDP
+ - name: srs-webrtc-tcp
+ containerPort: 30090
+ protocol: TCP
+ - name: srs-srt
+ containerPort: 30556
+ protocol: UDP
+ env:
+ - name: CANDIDATE
+ value: 192.168.40.50
+ resources:
+ limits:
+ cpu: 2000m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-conf-file
+ mountPath: /usr/local/srs/conf/docker.conf
+ subPath: docker.conf
+ - name: srs-vol
+ mountPath: /home/dvr
+ subPath: wdd-rmdc/helm-live/dvr
+ - name: srs-vol
+ mountPath: /home/hls
+ subPath: wdd-rmdc/helm-live/hls
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ imagePullPolicy: Always
+ - name: oss-adaptor
+ image: harbor.cdcyy.com.cn/cmii/cmii-srs-oss-adaptor:2023-SA-skip-CHL
+ env:
+ - name: OSS_ENDPOINT
+ value: 'http://helm-minio:9000'
+ - name: OSS_AK
+ value: cmii
+ - name: OSS_SK
+ value: 'B#923fC7mk'
+ - name: OSS_BUCKET
+ value: live-cluster-hls
+ - name: SRS_OP
+ value: 'http://helm-live-op-svc-v2:8080'
+ - name: MYSQL_ENDPOINT
+ value: 'helm-mysql:3306'
+ - name: MYSQL_USERNAME
+ value: k8s_admin
+ - name: MYSQL_PASSWORD
+ value: fP#UaH6qQ3)8
+ - name: MYSQL_DATABASE
+ value: cmii_live_srs_op
+ - name: MYSQL_TABLE
+ value: live_segment
+ - name: LOG_LEVEL
+ value: info
+ - name: OSS_META
+ value: 'yes'
+ resources:
+ limits:
+ cpu: 2000m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-vol
+ mountPath: /cmii/share/hls
+ subPath: wdd-rmdc/helm-live/hls
+ terminationMessagePath: /dev/termination-log
+ terminationMessagePolicy: File
+ imagePullPolicy: Always
+ restartPolicy: Always
+ terminationGracePeriodSeconds: 30
+ dnsPolicy: ClusterFirst
+ securityContext: {}
+ imagePullSecrets:
+ - name: harborsecret
+ affinity: {}
+ schedulerName: default-scheduler
+ serviceName: helm-live-srsrtc-svc
+ podManagementPolicy: OrderedReady
+ updateStrategy:
+ type: RollingUpdate
+ rollingUpdate:
+ partition: 0
+ revisionHistoryLimit: 10
+---
+# live-srs部分
+---
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+ name: helm-live-op-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-engine
+ cmii.type: live
+ helm.sh/chart: cmlc-live-live-op-2.0.0
+ live-role: op-v2
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ live-role: op-v2
+ template:
+ metadata:
+ labels:
+ live-role: op-v2
+ spec:
+ volumes:
+ - name: srs-conf-file
+ configMap:
+ name: helm-live-op-cm-v2
+ items:
+ - key: live.op.conf
+ path: bootstrap.yaml
+ defaultMode: 420
+ containers:
+ - name: helm-live-op-v2
+ image: harbor.cdcyy.com.cn/cmii/cmii-live-operator:5.2.0
+ ports:
+ - name: operator
+ containerPort: 8080
+ protocol: TCP
+ resources:
+ limits:
+ cpu: 4800m
+ memory: 4Gi
+ requests:
+ cpu: 100m
+ memory: 256Mi
+ volumeMounts:
+ - name: srs-conf-file
+ mountPath: /cmii/bootstrap.yaml
+ subPath: bootstrap.yaml
+ livenessProbe:
+ httpGet:
+ path: /cmii/health
+ port: 8080
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /cmii/health
+ port: 8080
+ scheme: HTTP
+ initialDelaySeconds: 60
+ timeoutSeconds: 5
+ periodSeconds: 20
+ successThreshold: 1
+ failureThreshold: 3
+ 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: 25%
+ maxSurge: 25%
+ revisionHistoryLimit: 10
+ progressDeadlineSeconds: 600
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-op-svc-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - protocol: TCP
+ port: 8080
+ targetPort: 8080
+ nodePort: 30333
+ selector:
+ live-role: op-v2
+ type: NodePort
+ sessionAffinity: None
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: helm-live-op-svc
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+spec:
+ ports:
+ - protocol: TCP
+ port: 8080
+ targetPort: 8080
+ selector:
+ live-role: op
+ type: ClusterIP
+ sessionAffinity: None
+---
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: helm-live-op-cm-v2
+ namespace: wdd-rmdc
+ labels:
+ octopus.control: wdd
+ app.kubernetes.io/managed-by: octopus
+ cmii.app: live-engine
+ cmii.type: live
+data:
+ live.op.conf: |-
+ server:
+ port: 8080
+ spring:
+ main:
+ allow-bean-definition-overriding: true
+ allow-circular-references: true
+ application:
+ name: cmii-live-operator
+ platform:
+ info:
+ name: cmii-live-operator
+ description: cmii-live-operator
+ version: base-1.0
+ scanPackage: com.cmii.live.op
+ cloud:
+ nacos:
+ config:
+ username: nacos
+ password: KingKong@95461234
+ server-addr: helm-nacos:8848
+ extension-configs:
+ - data-id: cmii-live-operator.yml
+ group: base-1.0
+ refresh: true
+ shared-configs:
+ - data-id: cmii-backend-system.yml
+ group: base-1.0
+ refresh: true
+ discovery:
+ enabled: false
+
+ live:
+ engine:
+ type: srs
+ endpoint: 'http://helm-live-srs-svc:1985'
+ proto:
+ rtmp: 'rtmp://192.168.40.50:31935'
+ rtsp: 'rtsp://192.168.40.50:30554'
+ srt: 'srt://192.168.40.50:30556'
+ flv: 'http://192.168.40.50:30500'
+ hls: 'http://192.168.40.50:30500'
+ rtc: 'webrtc://192.168.40.50:30080'
+ replay: 'https://192.168.40.50:30333'
+ minio:
+ endpoint: http://helm-minio:9000
+ access-key: cmii
+ secret-key: B#923fC7mk
+ bucket: live-cluster-hls
diff --git a/agent-deploy/d_app/CmiiImageConfig.go b/agent-deploy/d_app/CmiiImageConfig.go
index 4a3e6ce..8a540f0 100644
--- a/agent-deploy/d_app/CmiiImageConfig.go
+++ b/agent-deploy/d_app/CmiiImageConfig.go
@@ -157,35 +157,35 @@ var CmiiGISAppMap = map[string]string{
}
var MiddlewareAmd64 = []string{
- "bitnami/redis:6.2.6-debian-10-r0",
- "bitnami/redis:6.2.14-debian-11-r1",
- "bitnami/mysql:8.0.35-debian-11-r1",
- "bitnami/mysql:8.1.0-debian-11-r42",
- "simonrupf/chronyd:0.4.3",
- "bitnami/bitnami-shell:10-debian-10-r140",
- "bitnami/bitnami-shell:11-debian-11-r136",
- "bitnami/rabbitmq:3.9.12-debian-10-r3",
- "bitnami/rabbitmq:3.11.26-debian-11-r2",
- "ossrs/srs:v4.0.136",
- "ossrs/srs:v5.0.195",
- "ossrs/srs:v4.0-r3",
- "emqx/emqx:4.4.19",
+ "harbor.cdcyy.com.cn/cmii/redis:6.2.14-debian-11-r1",
+ "harbor.cdcyy.com.cn/cmii/mysql:8.0.35-debian-11-r1",
+ "harbor.cdcyy.com.cn/cmii/mysql:8.1.0-debian-11-r42",
+ "harbor.cdcyy.com.cn/cmii/chronyd:0.4.3",
+ "harbor.cdcyy.com.cn/cmii/bitnami-shell:10-debian-10-r140",
+ "harbor.cdcyy.com.cn/cmii/bitnami-shell:11-debian-11-r136",
+ "harbor.cdcyy.com.cn/cmii/rabbitmq:3.9.12-debian-10-r3",
+ "harbor.cdcyy.com.cn/cmii/rabbitmq:3.11.26-debian-11-r2",
+ "docker.m.daocloud.io/ossrs/srs:v4.0.136",
+ "harbor.cdcyy.com.cn/cmii/srs:v5.0.195",
+ "docker.m.daocloud.io/ossrs/srs:v4.0-r3",
+ "docker.m.daocloud.io/emqx/emqx:4.4.19",
"harbor.cdcyy.com.cn/cmii/emqx:5.5.8",
- "nacos/nacos-server:v2.1.2",
- "nacos/nacos-server:v2.1.2-slim",
- "library/mongo:5.0",
- "library/rabbitmq:3.9-management",
- "bitnami/minio:2022.5.4",
- "bitnami/minio:2023.5.4",
- "minio/minio:RELEASE.2023-06-02T23-17-26Z",
- "kubernetesui/dashboard:v2.0.1",
- "kubernetesui/metrics-scraper:v1.0.4",
- "library/nginx:1.21.3",
- "library/redis:6.0.20-alpine",
- "dyrnq/nfs-subdir-external-provisioner:v4.0.2",
- "jerrychina2020/rke-tools:v0.175-linux",
- "jerrychina2020/rke-tools:v0.175",
- "library/busybox:latest",
+ "docker.m.daocloud.io/nacos/nacos-server:v2.1.2",
+ "docker.m.daocloud.io/nacos/nacos-server:v2.1.2-slim",
+ "docker.m.daocloud.io/library/mongo:5.0",
+ "docker.m.daocloud.io/library/rabbitmq:3.9-management",
+ "docker.m.daocloud.io/bitnami/minio:2022.5.4",
+ "harbor.cdcyy.com.cn/cmii/minio:2023.5.4",
+ "docker.m.daocloud.io/minio/minio:RELEASE.2023-06-02T23-17-26Z",
+ "docker.m.daocloud.io/kubernetesui/dashboard:v2.0.1",
+ "docker.m.daocloud.io/kubernetesui/dashboard:v2.7.0",
+ "docker.m.daocloud.io/kubernetesui/metrics-scraper:v1.0.4",
+ "docker.m.daocloud.io/kubernetesui/metrics-scraper:v1.0.8",
+ "docker.m.daocloud.io/library/nginx:1.21.3",
+ "docker.m.daocloud.io/library/redis:6.0.20-alpine",
+ "harbor.cdcyy.com.cn/cmii/nfs-subdir-external-provisioner:v4.0.2",
+ "docker.m.daocloud.io/jerrychina2020/rke-tools:v0.175-linux",
+ "docker.m.daocloud.io/jerrychina2020/rke-tools:v0.175",
"harbor.cdcyy.com.cn/cmii/busybox:1.37",
"harbor.cdcyy.com.cn/cmii/doris.be-ubuntu:2.1.6",
"harbor.cdcyy.com.cn/cmii/doris.fe-ubuntu:2.1.6",
@@ -195,28 +195,28 @@ var MiddlewareAmd64 = []string{
}
var Rancher13014Amd64 = []string{
- "rancher/mirrored-coreos-etcd:v3.5.12",
- "rancher/rke-tools:v0.1.114",
- "rancher/mirrored-k8s-dns-kube-dns:1.23.0",
- "rancher/mirrored-k8s-dns-dnsmasq-nanny:1.23.0",
- "rancher/mirrored-k8s-dns-sidecar:1.23.0",
- "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
- "rancher/mirrored-coredns-coredns:1.11.1",
- "rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
- "rancher/mirrored-k8s-dns-node-cache:1.23.0",
- "rancher/hyperkube:v1.30.14-rancher1",
- "rancher/mirrored-flannel-flannel:v0.25.1",
- "rancher/flannel-cni:v1.4.1-rancher1",
- "rancher/mirrored-calico-node:v3.28.1",
- "rancher/calico-cni:v3.28.1-rancher1",
- "rancher/mirrored-calico-kube-controllers:v3.28.1",
- "rancher/mirrored-calico-ctl:v3.28.1",
- "rancher/mirrored-calico-pod2daemon-flexvol:v3.28.1",
- "rancher/mirrored-pause:3.7",
- "rancher/nginx-ingress-controller:nginx-1.11.5-rancher1",
- "rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher2",
- "rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.5.2",
- "rancher/mirrored-metrics-server:v0.7.1",
+ "docker.m.daocloud.io/rancher/mirrored-coreos-etcd:v3.5.12",
+ "docker.m.daocloud.io/rancher/rke-tools:v0.1.114",
+ "docker.m.daocloud.io/rancher/mirrored-k8s-dns-kube-dns:1.23.0",
+ "docker.m.daocloud.io/rancher/mirrored-k8s-dns-dnsmasq-nanny:1.23.0",
+ "docker.m.daocloud.io/rancher/mirrored-k8s-dns-sidecar:1.23.0",
+ "docker.m.daocloud.io/rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
+ "docker.m.daocloud.io/rancher/mirrored-coredns-coredns:1.11.1",
+ "docker.m.daocloud.io/rancher/mirrored-cluster-proportional-autoscaler:v1.9.0",
+ "docker.m.daocloud.io/rancher/mirrored-k8s-dns-node-cache:1.23.0",
+ "docker.m.daocloud.io/rancher/hyperkube:v1.30.14-rancher1",
+ "docker.m.daocloud.io/rancher/mirrored-flannel-flannel:v0.25.1",
+ "docker.m.daocloud.io/rancher/flannel-cni:v1.4.1-rancher1",
+ "docker.m.daocloud.io/rancher/mirrored-calico-node:v3.28.1",
+ "docker.m.daocloud.io/rancher/calico-cni:v3.28.1-rancher1",
+ "docker.m.daocloud.io/rancher/mirrored-calico-kube-controllers:v3.28.1",
+ "docker.m.daocloud.io/rancher/mirrored-calico-ctl:v3.28.1",
+ "docker.m.daocloud.io/rancher/mirrored-calico-pod2daemon-flexvol:v3.28.1",
+ "docker.m.daocloud.io/rancher/mirrored-pause:3.7",
+ "docker.m.daocloud.io/rancher/nginx-ingress-controller:nginx-1.11.5-rancher1",
+ "docker.m.daocloud.io/rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher2",
+ "docker.m.daocloud.io/rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.5.2",
+ "docker.m.daocloud.io/rancher/mirrored-metrics-server:v0.7.1",
}
var Rancher1204Amd64 = []string{
diff --git a/agent-operator/CmiiImageSyncOperator_test.go b/agent-operator/CmiiImageSyncOperator_test.go
index 91e7418..2f42499 100644
--- a/agent-operator/CmiiImageSyncOperator_test.go
+++ b/agent-operator/CmiiImageSyncOperator_test.go
@@ -24,7 +24,7 @@ func TestFetchDependencyRepos_Middle(t *testing.T) {
func TestFetchDependencyRepos_RKE(t *testing.T) {
- errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList := C_DownloadCompressUploadDependency(true, false, true)
+ errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList := C_DownloadCompressUploadDependency(true, true, true)
utils.BeautifulPrintListWithTitle(errorPullImageList, "errorPullImageList")
utils.BeautifulPrintListWithTitle(errorGzipImageList, "errorGzipImageList")
@@ -52,7 +52,7 @@ func TestPullFromEntityAndSyncConditionally(t *testing.T) {
// 全部镜像列表
fullImageList := []string{}
- fullImageList = append(fullImageList, real_project.CmiiUas21XAImageList...)
+ fullImageList = append(fullImageList, real_project.CmiiUas22ImageList...)
fullImageList = append(fullImageList, real_project.CmiiSRSImageList...)
//fullImageList = append(fullImageList, real_project.CmiiDorisImageList...)
diff --git a/agent-operator/image/ImageOperator.go b/agent-operator/image/ImageOperator.go
index fea4ce7..a010fa1 100644
--- a/agent-operator/image/ImageOperator.go
+++ b/agent-operator/image/ImageOperator.go
@@ -13,7 +13,6 @@ import (
"regexp"
"strconv"
"strings"
- "time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
@@ -265,17 +264,22 @@ func TagFromListAndPushToCHarbor(referenceImageList []string, targetHarborHost s
return errorPushImageNameList
}
-func PullFromCmiiHarbor(imageName string) (pullResult io.ReadCloser) {
- pullResult, err := apiClient.ImagePull(context.TODO(), imageName, types.ImagePullOptions{
- All: false,
- RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
- PrivilegeFunc: func() (string, error) {
- return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
- },
- Platform: "amd64",
- })
+func PullFromDockerHub(imageName string) (pullResult io.ReadCloser) {
+
+ var imagePullOptions types.ImagePullOptions
+ if strings.HasPrefix(imageName, image2.CmiiHarborPrefix) {
+ imagePullOptions = types.ImagePullOptions{
+ All: false,
+ RegistryAuth: "eyAidXNlcm5hbWUiOiAicmFkMDJfZHJvbmUiLCAicGFzc3dvcmQiOiAiRHJvbmVAMTIzNCIsICJlbWFpbCI6ICJpY2VAcXEuY29tIiB9Cg==",
+ PrivilegeFunc: func() (string, error) {
+ return "authorization: Basic cmFkMDJfZHJvbmU6RHJvbmVAMTIzNA==", nil
+ },
+ }
+ }
+
+ pullResult, err := apiClient.ImagePull(context.TODO(), imageName, imagePullOptions)
if err != nil {
- log.ErrorF("[ImagePullFromCmiiHarbor]- image pull of %s ,error => %s", imageName, err.Error())
+ log.ErrorF("[PullFromDockerHub]- image pull of %s ,error => %s", imageName, err.Error())
return nil
}
@@ -305,7 +309,7 @@ func PullCmiiFromFileJson(filePathName string) {
}
for image, tag := range resultMap {
- pullResult := PullFromCmiiHarbor(image + ":" + tag)
+ pullResult := PullFromDockerHub(image + ":" + tag)
if pullResult == nil {
continue
}
@@ -327,19 +331,19 @@ func PullCmiiFromFileJson(filePathName string) {
// PullFromFullNameList 根据镜像名列表拉取全部的镜像
func PullFromFullNameList(fullImageNameList []string) (errorPullImageList []string) {
- start := time.Now()
+ //start := time.Now()
for _, fullImageName := range fullImageNameList {
- if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
- since := time.Since(start)
- if since < 60*time.Second {
- duration := 60*time.Second - since
- log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
- time.Sleep(duration)
- start = time.Now()
- }
- }
+ //if !strings.HasPrefix(fullImageName, "harbor.cdcyy.com.cn") {
+ // since := time.Since(start)
+ // if since < 90*time.Second {
+ // duration := 90*time.Second - since
+ // log.DebugF("PullFromFullNameList - wait for %s !", duration.String())
+ // time.Sleep(duration)
+ // start = time.Now()
+ // }
+ //}
log.DebugF("start to pull => [%s]", fullImageName)
- pullResult := PullFromCmiiHarbor(fullImageName)
+ pullResult := PullFromDockerHub(fullImageName)
if pullResult == nil {
errorPullImageList = append(errorPullImageList, fullImageName)
continue
diff --git a/agent-operator/image/ImageOperator_test.go b/agent-operator/image/ImageOperator_test.go
index 0ec0520..e93cb61 100644
--- a/agent-operator/image/ImageOperator_test.go
+++ b/agent-operator/image/ImageOperator_test.go
@@ -56,7 +56,7 @@ func TestImageDelete(t *testing.T) {
func TestImagePullFromCmiiHarbor(t *testing.T) {
image := "harbor.cdcyy.com.cn/cmii/cmii-uav-gateway:4.1.6-beta"
- pullFromCmiiHarbor := PullFromCmiiHarbor(image)
+ pullFromCmiiHarbor := PullFromDockerHub(image)
defer pullFromCmiiHarbor.Close()
scanner := bufio.NewScanner(pullFromCmiiHarbor)
@@ -162,7 +162,7 @@ func TestSaveSpecificImageToGzipFile(t *testing.T) {
}
for _, imageFullName := range imageFullNameList {
- result := PullFromCmiiHarbor(imageFullName)
+ result := PullFromDockerHub(imageFullName)
if result == nil {
log.ErrorF("image pull error ! => %s", imageFullName)
return
diff --git a/agent-wdd/0-设计规范/todo.md b/agent-wdd/0-设计规范/todo.md
new file mode 100644
index 0000000..319d4da
--- /dev/null
+++ b/agent-wdd/0-设计规范/todo.md
@@ -0,0 +1,11 @@
+
+
+
+我有一个ubuntu22.04的系统,目前只有 10.22.57.8 可以访问公网,能够连接使用APT工具。请你分析我该采用何种方式才能让其他不能访问主机的服务器例如10.22.57.5安装软件
+1. 采用APT离线下载的方式
+2. 采用APT网络代理的方式
+请给出建议的方式,并给出相应的操作过程
+
+
+1. 部署过程中的中间状态检测
+2. APT工具代理
\ No newline at end of file