初始化项目
This commit is contained in:
184
agent-deploy/e_cmii/CmiiEnvConfiguration.go
Normal file
184
agent-deploy/e_cmii/CmiiEnvConfiguration.go
Normal file
@@ -0,0 +1,184 @@
|
||||
package e_cmii
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"wdd.io/agent-deploy/c_middle"
|
||||
"wdd.io/agent-deploy/d_app"
|
||||
"wdd.io/agent-deploy/z_dep"
|
||||
)
|
||||
|
||||
type CmiiEnvConfig struct {
|
||||
c_middle.MySQlConfig
|
||||
c_middle.RedisConfig
|
||||
c_middle.MongoConfig
|
||||
c_middle.RabbitMQConfig
|
||||
c_middle.NacosConfig
|
||||
c_middle.EmqxConfig
|
||||
d_app.CmiiFrontendConfig
|
||||
d_app.CmiiBackendConfig
|
||||
d_app.CmiiSrsConfig
|
||||
}
|
||||
|
||||
var CmiiOutSideConfig = &CmiiEnvConfig{
|
||||
MySQlConfig: c_middle.MySQlConfig{
|
||||
MySQLNodePort: "33306",
|
||||
MySQLRootPassword: "QzfXQhd3bQ",
|
||||
MySQLRootPasswordBase64: base64.StdEncoding.EncodeToString([]byte("QzfXQhd3bQ")),
|
||||
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
|
||||
},
|
||||
RedisConfig: c_middle.RedisConfig{},
|
||||
MongoConfig: c_middle.MongoConfig{
|
||||
MongoPassword: "REdPza8#oVlt",
|
||||
MongoNodePort: "37017",
|
||||
},
|
||||
RabbitMQConfig: c_middle.RabbitMQConfig{
|
||||
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
|
||||
RabbitNodePort: "35672",
|
||||
RabbitDashboardNodePort: "36675",
|
||||
RabbitPassword: "nYcRN91r._hj",
|
||||
RabbitPasswordBase64: "blljUk45MXIuX2hq",
|
||||
},
|
||||
NacosConfig: c_middle.NacosConfig{
|
||||
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
|
||||
NacosNodePort: "38848",
|
||||
},
|
||||
EmqxConfig: c_middle.EmqxConfig{
|
||||
EmqxNodePort: "31883",
|
||||
EmqxDashboardNodePort: "38085",
|
||||
EmqxWebSocketNodePort: "38083",
|
||||
EmqxPassword: "odD8#Ve7.B",
|
||||
},
|
||||
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
|
||||
CmiiBackendConfig: d_app.CmiiBackendConfig{},
|
||||
CmiiSrsConfig: d_app.CmiiSrsConfig{
|
||||
RtmpPort: "31935",
|
||||
WebRTCPort: "30090",
|
||||
SrtPort: "30556",
|
||||
WebApiPort: "30080",
|
||||
MySQLK8sAdminPassword: "fP#UaH6qQ3)8",
|
||||
},
|
||||
}
|
||||
|
||||
var CmiiDevConfig = &CmiiEnvConfig{
|
||||
MySQlConfig: c_middle.MySQlConfig{
|
||||
MySQLNodePort: "33306",
|
||||
MySQLRootPassword: "Gwubc6CxRM",
|
||||
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
RedisConfig: c_middle.RedisConfig{},
|
||||
MongoConfig: c_middle.MongoConfig{
|
||||
MongoPassword: "7(#dD3zcz8",
|
||||
MongoNodePort: "37017",
|
||||
},
|
||||
RabbitMQConfig: c_middle.RabbitMQConfig{
|
||||
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
|
||||
RabbitNodePort: "35672",
|
||||
RabbitDashboardNodePort: "36675",
|
||||
RabbitPassword: "7v&7#w1ef)T-",
|
||||
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
|
||||
},
|
||||
NacosConfig: c_middle.NacosConfig{
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
NacosNodePort: "33848",
|
||||
},
|
||||
EmqxConfig: c_middle.EmqxConfig{
|
||||
EmqxNodePort: "31883",
|
||||
EmqxDashboardNodePort: "38085",
|
||||
EmqxWebSocketNodePort: "38083",
|
||||
EmqxPassword: "4YPk*DS%+5",
|
||||
},
|
||||
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
|
||||
CmiiBackendConfig: d_app.CmiiBackendConfig{},
|
||||
CmiiSrsConfig: d_app.CmiiSrsConfig{
|
||||
RtmpPort: "30935",
|
||||
WebRTCPort: "30090",
|
||||
SrtPort: "30556",
|
||||
WebApiPort: "30557",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
}
|
||||
|
||||
var CmiiDevFlightConfig = &CmiiEnvConfig{
|
||||
MySQlConfig: c_middle.MySQlConfig{
|
||||
MySQLNodePort: "33307",
|
||||
MySQLRootPassword: "Gwubc6CxRM",
|
||||
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
RedisConfig: c_middle.RedisConfig{},
|
||||
MongoConfig: c_middle.MongoConfig{
|
||||
MongoPassword: "7(#dD3zcz8",
|
||||
MongoNodePort: "37018",
|
||||
},
|
||||
RabbitMQConfig: c_middle.RabbitMQConfig{
|
||||
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
|
||||
RabbitNodePort: "35673",
|
||||
RabbitDashboardNodePort: "36676",
|
||||
RabbitPassword: "7v&7#w1ef)T-",
|
||||
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
|
||||
},
|
||||
NacosConfig: c_middle.NacosConfig{
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
NacosNodePort: "33849",
|
||||
},
|
||||
EmqxConfig: c_middle.EmqxConfig{
|
||||
EmqxNodePort: "31884",
|
||||
EmqxDashboardNodePort: "38086",
|
||||
EmqxWebSocketNodePort: "38084",
|
||||
EmqxPassword: "4YPk*DS%+5",
|
||||
},
|
||||
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
|
||||
CmiiBackendConfig: d_app.CmiiBackendConfig{},
|
||||
CmiiSrsConfig: d_app.CmiiSrsConfig{
|
||||
RtmpPort: "30936",
|
||||
WebRTCPort: "30091",
|
||||
SrtPort: "30558",
|
||||
WebApiPort: "30559",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
}
|
||||
|
||||
var CmiiDevOperationConfig = &CmiiEnvConfig{
|
||||
MySQlConfig: c_middle.MySQlConfig{
|
||||
MySQLNodePort: "33308",
|
||||
MySQLRootPassword: "Gwubc6CxRM",
|
||||
MySQLRootPasswordBase64: "R3d1YmM2Q3hSTQ==",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
RedisConfig: c_middle.RedisConfig{},
|
||||
MongoConfig: c_middle.MongoConfig{
|
||||
MongoPassword: "7(#dD3zcz8",
|
||||
MongoNodePort: "37019",
|
||||
},
|
||||
RabbitMQConfig: c_middle.RabbitMQConfig{
|
||||
CommonEnvironmentConfig: z_dep.CommonEnvironmentConfig{},
|
||||
RabbitNodePort: "35674",
|
||||
RabbitDashboardNodePort: "36677",
|
||||
RabbitPassword: "7v&7#w1ef)T-",
|
||||
RabbitPasswordBase64: "N3YmNyN3MWVmKVQt",
|
||||
},
|
||||
NacosConfig: c_middle.NacosConfig{
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
NacosNodePort: "33850",
|
||||
},
|
||||
EmqxConfig: c_middle.EmqxConfig{
|
||||
EmqxNodePort: "31885",
|
||||
EmqxDashboardNodePort: "38087",
|
||||
EmqxWebSocketNodePort: "38085",
|
||||
EmqxPassword: "4YPk*DS%+5",
|
||||
},
|
||||
CmiiFrontendConfig: d_app.CmiiFrontendConfig{},
|
||||
CmiiBackendConfig: d_app.CmiiBackendConfig{},
|
||||
CmiiSrsConfig: d_app.CmiiSrsConfig{
|
||||
RtmpPort: "30937",
|
||||
WebRTCPort: "30092",
|
||||
SrtPort: "30560",
|
||||
WebApiPort: "30561",
|
||||
MySQLK8sAdminPassword: "VFJncwy58^Zm",
|
||||
},
|
||||
}
|
||||
var CmiiIntegrationConfig = &CmiiEnvConfig{}
|
||||
var CmiiUatConfig = &CmiiEnvConfig{}
|
||||
var CmiiValidationConfig = &CmiiEnvConfig{}
|
||||
var CmiiDemoConfig = &CmiiEnvConfig{}
|
||||
148
agent-deploy/e_cmii/ImageDownSync.sh
Normal file
148
agent-deploy/e_cmii/ImageDownSync.sh
Normal file
@@ -0,0 +1,148 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
### 需要修改以下的内容 ###
|
||||
#### 需要修改以下的内容 ###
|
||||
#### 需要修改以下的内容 ###
|
||||
|
||||
cmlc_app_image_list="cmlc-app-images-4.1.6.txt" # 需要修改版本
|
||||
rancher_image_list="kubernetes-images-2.5.7-1.20.4.txt" # 一般不需要修改
|
||||
middleware_image_list="middleware-images.txt" # 一般不需要修改
|
||||
#DockerRegisterDomain="20.47.129.116:8033" # 需要根据实际修改
|
||||
DockerRegisterDomain="harbor.cdcyy.com.cn" # 需要根据实际修改
|
||||
HarborAdminPass=V2ryStr@ngPss # 需要跟第一脚本中的密码保持一致
|
||||
|
||||
#### 需要修改以上的内容 ###
|
||||
#### 需要修改以上的内容 ###
|
||||
#### 需要修改以上的内容 ###
|
||||
|
||||
downloadAllNeededImages() {
|
||||
while [[ $# > 0 ]]; do
|
||||
pulled=""
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
echo "开始下载:${i}"
|
||||
if docker pull "${i}" >/dev/null 2>&1; then
|
||||
echo "Image pull success: ${i}"
|
||||
pulled="${pulled} ${i}"
|
||||
else
|
||||
if docker inspect "${i}" >/dev/null 2>&1; then
|
||||
pulled="${pulled} ${i}"
|
||||
else
|
||||
echo "Image pull failed: ${i}"
|
||||
fi
|
||||
fi
|
||||
echo "-------------------------------------------------"
|
||||
done <"${1}"
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
downloadAllNeededImagesAndCompress() {
|
||||
while [[ $# > 0 ]]; do
|
||||
pulled=""
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
echo "开始下载:${i}"
|
||||
if docker pull "${i}" >/dev/null 2>&1; then
|
||||
echo "Image pull success: ${i}"
|
||||
pulled="${pulled} ${i}"
|
||||
else
|
||||
if docker inspect "${i}" >/dev/null 2>&1; then
|
||||
pulled="${pulled} ${i}"
|
||||
else
|
||||
echo "Image pull failed: ${i}"
|
||||
fi
|
||||
fi
|
||||
echo "-------------------------------------------------"
|
||||
done <"${1}"
|
||||
compressPacName="$(echo ${1} | cut -d"." -f1).tar.gz"
|
||||
|
||||
echo "Creating ${compressPacName} with $(echo ${pulled} | wc -w | tr -d '[:space:]') images"
|
||||
docker save $(echo ${pulled}) | gzip --stdout >${compressPacName}
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
echo "已经完成打包工作!"
|
||||
}
|
||||
|
||||
pushRKEImageToHarbor() {
|
||||
linux_images=()
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
linux_images+=("${i}")
|
||||
done <"${rancher_image_list}"
|
||||
|
||||
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
|
||||
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
|
||||
|
||||
for i in "${linux_images[@]}"; do
|
||||
[ -z "${i}" ] && continue
|
||||
case $i in
|
||||
*/*)
|
||||
image_name="${DockerRegisterDomain}/${i}"
|
||||
;;
|
||||
*)
|
||||
image_name="${DockerRegisterDomain}/rancher/${i}"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "开始镜像至私有仓库推送:${image_name}"
|
||||
docker tag "${i}" "${image_name}"
|
||||
docker push "${image_name}"
|
||||
echo "-------------------------------------------------"
|
||||
done
|
||||
}
|
||||
|
||||
pushCMLCAPPImageToHarbor() {
|
||||
app_images=()
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
app_images+=("${i}")
|
||||
done <"${cmlc_app_image_list}"
|
||||
|
||||
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
|
||||
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
|
||||
for app in "${app_images[@]}"; do
|
||||
[ -z "${app}" ] && continue
|
||||
image_name="${DockerRegisterDomain}/$(echo ${app} | cut -d"/" -f2-8)"
|
||||
echo "开始镜像至私有仓库推送:${image_name}"
|
||||
docker tag "${app}" "${image_name}"
|
||||
docker push "${image_name}"
|
||||
echo "-------------------------------------------------"
|
||||
done
|
||||
}
|
||||
|
||||
pushMiddlewareImageToHarbor() {
|
||||
middleware_image=()
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
middleware_image+=("${i}")
|
||||
done <"${middleware_image_list}"
|
||||
|
||||
# docker login -u admin -p ${HarborAdminPass} ${DockerRegisterDomain}
|
||||
docker login -u rad02_drone -p Drone@1234 harbor.cdcyy.com.cn
|
||||
for app in "${middleware_image[@]}"; do
|
||||
[ -z "${app}" ] && continue
|
||||
case ${app} in
|
||||
*/*/*)
|
||||
image_name="${DockerRegisterDomain}/cmii/$(echo "${app}" | cut -d"/" -f3-8)"
|
||||
;;
|
||||
*/*)
|
||||
image_name="${DockerRegisterDomain}/cmii/$(echo "${app}" | cut -d"/" -f2-8)"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "开始镜像至私有仓库推送:${image_name}"
|
||||
docker tag "${app}" "${image_name}"
|
||||
docker push "${image_name}"
|
||||
echo "-------------------------------------------------"
|
||||
done
|
||||
}
|
||||
|
||||
#downloadAllNeededImagesAndCompress "${middleware_image_list}"
|
||||
downloadAllNeededImages "${middleware_image_list}"
|
||||
|
||||
#pushRKEImageToHarbor
|
||||
#pushCMLCAPPImageToHarbor
|
||||
pushMiddlewareImageToHarbor
|
||||
164
agent-deploy/e_cmii/cmlc-nfs.yaml
Normal file
164
agent-deploy/e_cmii/cmlc-nfs.yaml
Normal file
@@ -0,0 +1,164 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: cmlc-nfs-client-provisioner
|
||||
# replace with namespace where provisioner is deployed
|
||||
namespace: kube-system
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: cmlc-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:
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
verbs:
|
||||
- get
|
||||
- apiGroups:
|
||||
- extensions
|
||||
resourceNames:
|
||||
- nfs-provisioner
|
||||
resources:
|
||||
- podsecuritypolicies
|
||||
verbs:
|
||||
- use
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- endpoints
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
|
||||
---
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cmlc-run-nfs-client-provisioner
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cmlc-nfs-client-provisioner
|
||||
# replace with namespace where provisioner is deployed
|
||||
namespace: kube-system
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: cmlc-nfs-client-provisioner-runner
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
|
||||
---
|
||||
kind: Role
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cmlc-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: cmlc-leader-locking-nfs-client-provisioner
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: cmlc-nfs-client-provisioner
|
||||
# replace with namespace where provisioner is deployed
|
||||
namespace: kube-system
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: cmlc-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-client-provisioner
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: cmlc-nfs-client-provisioner
|
||||
labels:
|
||||
app: cmlc-nfs-client-provisioner
|
||||
# replace with namespace where provisioner is deployed
|
||||
namespace: kube-system
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: cmlc-nfs-client-provisioner
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: cmlc-nfs-client-provisioner
|
||||
spec:
|
||||
serviceAccountName: cmlc-nfs-client-provisioner
|
||||
imagePullSecrets:
|
||||
- name: harborsecret
|
||||
containers:
|
||||
- name: cmlc-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-client-provisioner
|
||||
- name: NFS_SERVER
|
||||
value: yfcsnfs.com
|
||||
- name: NFS_PATH
|
||||
value: /drone/zyly
|
||||
volumes:
|
||||
- name: nfs-client-root
|
||||
nfs:
|
||||
server: yfcsnfs.com
|
||||
path: /drone/zyly
|
||||
9
agent-deploy/e_cmii/harbor-secret.yaml
Normal file
9
agent-deploy/e_cmii/harbor-secret.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
kind: Secret
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: harborsecret
|
||||
namespace: uavcloud-devoperation
|
||||
data:
|
||||
.dockerconfigjson: >-
|
||||
ewoJImF1dGhzIjogewoJCSJoYXJib3ItcWEuc3JlLmNkY3l5LmNuIjogewoJCQkiYXV0aCI6ICJjbUZrTURKZlpISnZibVU2UkhKdmJtVkFNVEl6TkE9PSIKCQl9LAogICAgICAgICAgICAgICAgImhhcmJvci5jZGN5eS5jb20uY24iOiB7CgkJCSJhdXRoIjogImNtRmtNREpmWkhKdmJtVTZSSEp2Ym1WQU1USXpOQT09IgoJCX0KCX0sCgkiSHR0cEhlYWRlcnMiOiB7CgkJIlVzZXItQWdlbnQiOiAiRG9ja2VyLUNsaWVudC8xOS4wMy45IChsaW51eCkiCgl9Cn0=
|
||||
type: kubernetes.io/dockerconfigjson
|
||||
Reference in New Issue
Block a user