Browse Source

添加离线版本

master
lucas2 3 years ago
parent
commit
99dc1ce32a
  1. 2
      本地化下沉-打包/offline离线安装脚本/appImage_tars/readme.txt
  2. 98
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-dac.yaml
  3. 43
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-prometheus.yaml
  4. 67
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-webapi.yaml
  5. 52
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-z-proxy.yaml
  6. 43
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-rpc.yaml
  7. 49
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/2-anxin_config/local-config-center.yaml
  8. 45
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/3-et/local-et.yaml
  9. 49
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/4-report/local-report.yaml
  10. 44
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/5-alarm/local-alarm.yaml
  11. 77
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/local-webapi.yaml
  12. 69
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/local-webconsole.yaml
  13. BIN
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/报表模板static/daily.xlsx
  14. 73
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webproject/local-webproject.yaml
  15. 1
      本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webproject/readme.txt
  16. 3
      本地化下沉-打包/offline离线安装脚本/baseImage_tars/readme.txt
  17. 65
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/docker-compose参考.yml
  18. 55
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/local-ES.yaml
  19. 44
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/local-kabana.yaml
  20. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_aggregation
  21. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_alarm_details
  22. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_alarms
  23. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_diagnosis
  24. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_raws
  25. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_rt_aggregation
  26. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_sentiment
  27. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_themes
  28. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_vbraws
  29. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_events
  30. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_patrols
  31. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_ranking
  32. 7
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/init_es_index.sh
  33. 1
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/命令.txt
  34. 51
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动emqx/local-emqx.yaml
  35. 20
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动kafka/kafka调试发送,接收.txt
  36. 54
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动kafka/local-kafka.yaml
  37. 10
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/init_pg.sh
  38. 40
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/local-adminer-pgweb.yaml
  39. 50
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/local-pg.yaml
  40. 1885
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/01_create_tables.sql
  41. 3875
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/02_insert_table_data.sql
  42. 3769
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/axy_data.sql
  43. 5944
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/axy_schema.sql
  44. 2
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/create_db.sql
  45. 19886
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/iota_create.sql
  46. 54
      本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动redis/local-redis.yaml
  47. 49
      本地化下沉-打包/offline离线安装脚本/fetch-images.sh
  48. 30
      本地化下沉-打包/offline离线安装脚本/loopDirToFindYamlOrTar.sh
  49. 45
      本地化下沉-打包/offline离线安装脚本/make-app-tar.sh
  50. 40
      本地化下沉-打包/offline离线安装脚本/make-base-tar.sh
  51. 4
      本地化下沉-打包/offline离线安装脚本/microk8s离线包/readme.txt
  52. 182
      本地化下沉-打包/offline离线安装脚本/offline离线安装脚本.sh
  53. 5
      本地化下沉-打包/offline离线安装脚本/readme.txt

2
本地化下沉-打包/offline离线安装脚本/appImage_tars/readme.txt

@ -0,0 +1,2 @@
安心云 应用 镜像 12个
make-app-tar.sh 脚本执行 后存入当前文件夹

98
本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-dac.yaml

@ -0,0 +1,98 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: iota-dac-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-iota-dac-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-iota-dac-d #名称
template: #定义模板
metadata:
labels:
app: yaml-iota-dac-d
spec:
containers: #定义容器信息
- name: yaml-iota-dac #容器名,与标签名要相同
image: repository.anxinyun.cn/iota/dac:28.21-04-14 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "IOTA_DAC_RUN_MODE" #变量的名字
value: "single" #变量的值
- name: "IOTA_KAFKA_BROKERS"
value: "kafka-service:9092"
- name: "IOTA_MQTT"
value: "emqx-service:1883"
- name: "IOTA_REDIS"
value: "redis-service:6379"
- name: "IOTA_POSTGRES"
value: "postgres://postgres:example@pg-service:5432/iota?sslmode=disable"
- name: "IOTA_ALERT_MODE"
value: "simple"
ports:
- containerPort: 5000 #定义容器的端口
name: tcp-5000
- containerPort: 40001 #定义容器的端口
name: tcp-40001
- containerPort: 40002 #定义容器的端口
name: tcp-40002
- containerPort: 40003 #定义容器的端口
name: tcp-40003
- containerPort: 40004 #定义容器的端口
name: tcp-40004
- containerPort: 40005 #定义容器的端口
name: tcp-40005
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: iota-dac-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: iota-dac-s
spec:
selector:
app: yaml-iota-dac-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 5000 # 集群内访问
targetPort: 5000 #集群内 容器内端口
name: tcp-5000
#nodePort: 30500 #集群外访问 范围30000-32767
- protocol: TCP
port: 40001 # 集群内访问
targetPort: 40001 #集群内 容器内端口
name: tcp-40001
nodePort: 30401 #集群外访问 范围30000-32767
- protocol: TCP
port: 40002 # 集群内访问
targetPort: 40002 #集群内 容器内端口
name: tcp-40002
nodePort: 30402 #集群外访问 范围30000-32767
- protocol: TCP
port: 40003 # 集群内访问
targetPort: 40003 #集群内 容器内端口
name: tcp-40003
nodePort: 30403 #集群外访问 范围30000-32767
- protocol: TCP
port: 40004 # 集群内访问
targetPort: 40004 #集群内 容器内端口
name: tcp-40004
nodePort: 30404 #集群外访问 范围30000-32767
- protocol: TCP
port: 40005 # 集群内访问
targetPort: 40005 #集群内 容器内端口
name: tcp-40005
nodePort: 30405 #集群外访问 范围30000-32767

43
本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-prometheus.yaml

@ -0,0 +1,43 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: iota-prometheus-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-iota-prometheus-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-iota-prometheus-d #名称
template: #定义模板
metadata:
labels:
app: yaml-iota-prometheus-d
spec:
containers: #定义容器信息
- name: yaml-iota-prometheus #容器名,与标签名要相同
image: repository.anxinyun.cn/iota/prometheus:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
ports:
- containerPort: 19090 #定义容器的端口
name: tcp-19090
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: iota-prometheus-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: iota-prometheus-s
spec:
selector:
app: yaml-iota-prometheus-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 19090 # 集群内访问
targetPort: 19090 #集群内 容器内端口
name: tcp-19090
nodePort: 30990 #集群外访问 范围30000-32767

67
本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-webapi.yaml

@ -0,0 +1,67 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: iota-webapi-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-iota-webapi-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-iota-webapi-d #名称
template: #定义模板
metadata:
labels:
app: yaml-iota-webapi-d
spec:
containers: #定义容器信息
- name: yaml-iota-webapi #容器名,与标签名要相同
image: repository.anxinyun.cn/iota/web-console-api:50.21-05-24 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "IOTA_SERVER_PORT" #变量的名字
value: "9080" #变量的值
- name: "IOTA_KAFKA_BROKERS"
value: "kafka-service:9092"
- name: "IOTA_ZOOKEEPER_NODES"
value: "kafka-service:2182"
- name: "IOTA_MQTT_BROKERS"
value: "emqx-service:1883"
- name: "IOTA_REDIS_SERVER_HOST"
value: "redis-service"
- name: "IOTA_POSTGRES"
value: "postgres://postgres:example@pg-service:5432/iota"
- name: "IOTA_ATTACHMENT_IN_CLOUD"
value: "true"
- name: "IOTA_PROMETHEUS_SERVER"
value: "iota-prometheus-service:19090"
ports:
- containerPort: 9080 #定义容器的端口
name: tcp-9080
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: iota-webapi-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: iota-webapi-s
spec:
selector:
app: yaml-iota-webapi-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 9080 # 集群内访问
targetPort: 9080 #集群内 容器内端口
name: tcp-9080
#nodePort: 30980 #集群外访问 范围30000-32767

52
本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-iota-z-proxy.yaml

@ -0,0 +1,52 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: iota-proxy-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-iota-proxy-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-iota-proxy-d #名称
template: #定义模板
metadata:
labels:
app: yaml-iota-proxy-d
spec:
containers: #定义容器信息
- name: yaml-iota-proxy #容器名,与标签名要相同
image: repository.anxinyun.cn/anxin/iota-proxy:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "ANXINCLOUD_IOTA_API" #变量的名字
value: "http://iota-webapi-service:9080" #变量的值
- name: "ANXINCLOUD_IOTA_AUTH"
value: "MGU0MmFmZTZlNzEwNTVjZWEyNWZjMDA4M2Q4MTY0MjZjNTg2N2I4OTozNWUwYWRmMGEzMDM0NWEzMTA0YTA2YmI4YTY0ODQwMGQ5NGE5YzIw"
- name: "ANXINCLOUD_REDIS_HOST"
value: "redis-service"
- name: "ANXINCLOUD_REDIS_PORT"
value: "6379"
ports:
- containerPort: 8080 #定义容器的端口
name: tcp-8080
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: iota-proxy-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: iota-proxy-s
spec:
selector:
app: yaml-iota-proxy-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 8091 # 集群内访问
targetPort: 8080 #集群内 容器内端口
name: tcp-8080
nodePort: 30891 #集群外访问 范围30000-32767

43
本地化下沉-打包/offline离线安装脚本/appImage_yamls/1-iota/local-rpc.yaml

@ -0,0 +1,43 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: rpc-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-rpc-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-rpc-d #名称
template: #定义模板
metadata:
labels:
app: yaml-rpc-d
spec:
containers: #定义容器信息
- name: yaml-rpc #容器名,与标签名要相同
image: repository.anxinyun.cn/anxinyun/py.rpc:dragon.32 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
ports:
- containerPort: 5000 #定义容器的端口
name: tcp-5000
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: rpc-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: rpc-s
spec:
selector:
app: yaml-rpc-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 25000 # 集群内访问
targetPort: 5000 #集群内 容器内端口
name: tcp-5000
#nodePort: 30500 #集群外访问 范围30000-32767

49
本地化下沉-打包/offline离线安装脚本/appImage_yamls/2-anxin_config/local-config-center.yaml

@ -0,0 +1,49 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: config-center-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-config-center-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-config-center-d #名称
template: #定义模板
metadata:
labels:
app: yaml-config-center-d
spec:
containers: #定义容器信息 把数据库里传感器配置,写入redis
- name: yaml-config-center #容器名,与标签名要相同
image: repository.anxinyun.cn/local/config_center:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "CLUSTER" #变量的名字
value: "ANXINCLOUD" #变量的值
- name: "ANXINCLOUD_API"
value: "webapi-service:8092" ##注意 这里要先启动 anxin webapi
command: ['java','-jar','/app/config_center.jar','db.url=jdbc:postgresql://pg-service:5432/axy','db.user=postgres','db.pwd=example','iota.api.proxy=http://iota-proxy-service:8091/_iota_api','redis.host=redis-service','redis.port=6379' ,'kafka.brokers=kafka-service:9092']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-config-centerc #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-config-centerc
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
#ET不对外提供服务 不启用service
# apiVersion: v1 #指定API版本标签
# kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
# metadata: #定义资源的元数据信息
# name: config-center-service #定义资源的名称,在同一个namespace空间中必须是唯一的
# namespace: lk #默认default
# labels: #定义资源标签
# app: config-center-s
# spec:
# selector:
# app: yaml-config-center-d #deployment标签
# type: ClusterIP

45
本地化下沉-打包/offline离线安装脚本/appImage_yamls/3-et/local-et.yaml

@ -0,0 +1,45 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: et-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-et-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-et-d #名称
template: #定义模板
metadata:
labels:
app: yaml-et-d
spec:
containers: #定义容器信息
- name: yaml-et #容器名,与标签名要相同
image: repository.anxinyun.cn/local/et:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
command: ['java','-cp','et.jar','et.main.singleton','db.url=jdbc:postgresql://pg-service:5432/axy','db.user=postgres','db.pwd=example','iota.api.proxy="iota-proxy-service:8091/_iota_api"','redis.host=redis-service','redis.port=6379' ,'kafka.brokers=kafka-service:9092','es.cluster.nodes=es-service:9200']
#command: ['java -cp et.jar et.main.singleton db.url=jdbc:postgresql://pg-service:5432/axy db.user=postgres db.pwd=example iota.api.proxy="iota-proxy-service:8091/_iota_api" redis.host=redis-service redis.port=6379 kafka.brokers=kafka-service:9092 es.cluster.nodes=es-service:9200']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-etc #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-etc
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
#ET不对外提供服务 不启用service
# apiVersion: v1 #指定API版本标签
# kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
# metadata: #定义资源的元数据信息
# name: et-service #定义资源的名称,在同一个namespace空间中必须是唯一的
# namespace: lk #默认default
# labels: #定义资源标签
# app: et-s
# spec:
# selector:
# app: yaml-et-d #deployment标签
# type: ClusterIP

49
本地化下沉-打包/offline离线安装脚本/appImage_yamls/4-report/local-report.yaml

@ -0,0 +1,49 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: report-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-report-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-report-d #名称
template: #定义模板
metadata:
labels:
app: yaml-report-d
spec:
containers: #定义容器信息
- name: yaml-report #容器名,与标签名要相同
image: repository.anxinyun.cn/local/report-client:12.21-10-28 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
command: ['java','-cp','/app/report.client.jar','report.client.main','db.url=jdbc:postgresql://pg-service:5432/axy','db.user=postgres','db.pwd=example','redis.host=redis-service','redis.port=6379' ,'kafka.brokers=kafka-service:9092','es.cluster.nodes=es-service:9200','thingId_url=http://iota-webapi-service:9080/_iota_api/things/','local.attachment.baseurl=http://webapi-service:8092/attachments']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
# - name: vol-report #挂载设备的名字,与volumes[*].name 需要对应
# mountPath: /app # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
# - name: vol-report
# hostPath:
# path: /home/anxin/static/report # 宿主机目录 覆盖容器内目录 间接统一hosts
---
#ET不对外提供服务 不启用service
# apiVersion: v1 #指定API版本标签
# kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
# metadata: #定义资源的元数据信息
# name: report-service #定义资源的名称,在同一个namespace空间中必须是唯一的
# namespace: lk #默认default
# labels: #定义资源标签
# app: report-s
# spec:
# selector:
# app: yaml-report-d #deployment标签
# type: ClusterIP

44
本地化下沉-打包/offline离线安装脚本/appImage_yamls/5-alarm/local-alarm.yaml

@ -0,0 +1,44 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: alarm-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-alarm-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-alarm-d #名称
template: #定义模板
metadata:
labels:
app: yaml-alarm-d
spec:
containers: #定义容器信息
- name: yaml-alarm #容器名,与标签名要相同
image: repository.anxinyun.cn/anxinyun/smislocal-alarm:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
command: ['java','-jar','alarm.jar','db.url=jdbc:postgresql://pg-service:5432/axy','db.user=postgres','db.pwd=example','redis.host=redis-service','redis.port=6379' ,'kafka.brokers=kafka-service:9092','es.cluster.nodes=es-service:9200']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-alarm #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-alarm
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
#ET不对外提供服务 不启用service
# apiVersion: v1 #指定API版本标签
# kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
# metadata: #定义资源的元数据信息
# name: alarm-service #定义资源的名称,在同一个namespace空间中必须是唯一的
# namespace: lk #默认default
# labels: #定义资源标签
# app: alarm-s
# spec:
# selector:
# app: yaml-alarm-d #deployment标签
# type: ClusterIP

77
本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/local-webapi.yaml

@ -0,0 +1,77 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: webapi-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-webapi-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-webapi-d #名称
template: #定义模板
metadata:
labels:
app: yaml-webapi-d
spec:
containers: #定义容器信息
- name: yaml-webapi #容器名,与标签名要相同
image: repository.anxinyun.cn/anxinyun/api:137.21-08-17
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "ANXINCLOUD_PROXY_IOTA" #变量的名字
value: "iota-proxy-service:8091" #变量的值
- name: "ANXINCLOUD_HDFS_HTTP"
value: "http://10.8.30.155:50070"
- name: "ANXINCLOUD_KAFKA_BROKERS"
value: "kafka-service:9092"
- name: "ANXINCLOUD_ES_NODES_REST"
value: "es-service:9200"
- name: "ANXINCLOUD_DB"
value: "postgres://postgres:example@pg-service:5432/axy"
- name: "ANXINCLOUD_FC_UPLOAD_PATH"
value: "upload"
- name: "ANXINCLOUD_FC_LOCAL_ROOT_PATH"
value: "static"
- name: "ANXINCLOUD_FC_LOCAL_CHILD_PATH"
value: "child"
- name: "ANXINCLOUD_PYRPC_URL"
value: "rpc-service:25000"
- name: "PLATFORM_NAME"
value: "native"
ports:
- containerPort: 8080 #定义容器的端口
name: tcp-8080
command: ['node','server.js','--redis','redis-service:6379']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
- name: vol-static # 报表模板存储
mountPath: /var/app/static # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录
- name: vol-static
hostPath:
path: /home/anxinlocal/static # 宿主机目录 覆盖容器内目录
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: webapi-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: webapi-s
spec:
selector:
app: yaml-webapi-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 8092 # 集群内访问
targetPort: 8080 #集群内 容器内端口
name: tcp-8080
nodePort: 30892 #集群外访问 范围30000-32767

69
本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/local-webconsole.yaml

@ -0,0 +1,69 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: webconsole-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-webconsole-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-webconsole-d #名称
template: #定义模板
metadata:
labels:
app: yaml-webconsole-d
spec:
containers: #定义容器信息
- name: yaml-webconsole #容器名,与标签名要相同
image: repository.anxinyun.cn/anxinyun/console-web:75.21-06-10
#image: repository.anxinyun.cn/anxinyun/console:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: ANXINCLOUD_API
value: http://webapi-service:8092
- name: ANXINCLOUD_IOTA_API
value: http://iota-webapi-service:9080
- name: ANXINCLOUD_HDFS_HTTP
value: http://10.8.30.155:50070
- name: ANXINCLOUD_QINIU_AK
value: 5XrM4wEB9YU6RQwT64sPzzE6cYFKZgssdP5Kj3uu
- name: ANXINCLOUD_QINIU_SK
value: w6j2ixR_i-aelc6I7S3HotKIX-ukMzcKmDfH6-M5
- name: ANXINCLOUD_QINIU_BUCKET_RESOURCE
value: anxinyun-test
- name: ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE
value: http://test.resources.anxinyun.cn
- name: "ANXINCLOUD_IOTA_AUTH"
value: "MGU0MmFmZTZlNzEwNTVjZWEyNWZjMDA4M2Q4MTY0MjZjNTg2N2I4OTozNWUwYWRmMGEzMDM0NWEzMTA0YTA2YmI4YTY0ODQwMGQ5NGE5YzIw"
ports:
- containerPort: 8080 #定义容器的端口
name: tcp-8080
command: ['node','server.js','-p','8080']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: webconsole-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: webconsole-s
spec:
selector:
app: yaml-webconsole-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 8072 # 集群内访问
targetPort: 8080 #集群内 容器内端口
name: tcp-8080
nodePort: 30872 #集群外访问 范围30000-32767

BIN
本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webapi_webconsole/报表模板static/daily.xlsx

Binary file not shown.

73
本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webproject/local-webproject.yaml

@ -0,0 +1,73 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: webproject-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yaml-webproject-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-webproject-d #名称
template: #定义模板
metadata:
labels:
app: yaml-webproject-d
spec:
containers: #定义容器信息
- name: yaml-webproject #容器名,与标签名要相同
image: repository.anxinyun.cn/anxinyun/project:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "ANXINCLOUD_API" #变量的名字
value: "http://webapi-service:8092" #变量的值
- name: "ANXINCLOUD_PROXY_IOTA"
value: "iota-proxy-service:8091"
- name: "ANXINCLOUD_HDFS_HTTP"
value: "http://10.8.30.155:50070"
#本地化 图片不存在 七牛#
- name: "ANXINCLOUD_QINIU_AK"
value: "5XrM4wEB9YU6RQwT64sPzzE6cYFKZgssdP5Kj3uu"
- name: "ANXINCLOUD_QINIU_SK"
value: "w6j2ixR_i-aelc6I7S3HotKIX-ukMzcKmDfH6-M5"
- name: "ANXINCLOUD_QINIU_BUCKET_RESOURCE"
value: "anxinyun-test"
- name: "ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE"
value: "http://test.resources.anxinyun.cn"
- name: "ANXINCLOUD_FC_UPLOAD_PATH"
value: "upload"
- name: "ANXINCLOUD_FC_LOCAL_ROOT_PATH"
value: "static"
- name: "ANXINCLOUD_FC_LOCAL_CHILD_PATH"
value: "child"
ports:
- containerPort: 8080 #定义容器的端口
name: tcp-8080
command: ['node','server.js','-p','8080']
volumeMounts: #改容器内无法修改hosts 挂载出来修改
- name: vol-hosts #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /etc/hosts # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-hosts
hostPath:
path: /etc/hosts # 宿主机目录 覆盖容器内目录 间接统一hosts
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: webproject-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: webproject-s
spec:
selector:
app: yaml-webproject-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 8073 # 集群内访问
targetPort: 8080 #集群内 容器内端口
name: tcp-8080
nodePort: 30873 #集群外访问 范围30000-32767

1
本地化下沉-打包/offline离线安装脚本/appImage_yamls/anxin_webproject/readme.txt

@ -0,0 +1 @@
用户侧 项目 访问

3
本地化下沉-打包/offline离线安装脚本/baseImage_tars/readme.txt

@ -0,0 +1,3 @@
安心云 基础 镜像 7个
make-base-tar.sh 脚本执行 后存入当前文件夹

65
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/docker-compose参考.yml

@ -0,0 +1,65 @@
version: '3'
services:
es:
image: repository.anxinyun.cn/base-images/es:6.8.2-3.21-04-21
container_name: fs_elasticsearch
environment:
- "cluster.name=elasticsearch"
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- /data/es/data:/usr/share/elasticsearch/data
ports:
- 9200:9200
redis:
image: repository.anxinyun.cn/base-images/redis:5-1.21-04-13
container_name: fs_redis
volumes:
- /data/redis/data:/data
- /data/redis/logs:/logs
command:
/bin/sh -c "redis-server --protected-mode 'no' --appendonly yes"
ports:
- 6379:6379
emqx:
image: emqx/emqx
container_name: fs_emqx
ports:
- 18083:18083
- 1883:1883
kafka:
image: repository.anxinyun.cn/base-images/kafka-alpine:2.11-1.21-04-19
container_name: fs_kafka
ports:
- 9092:9092
- 2182:2182
pg:
image: repository.anxinyun.cn/base-images/pg:12-1.21-04-14
container_name: fs_pg
environment:
- "POSTGRES_PASSWORD=example"
volumes:
- /data/pg/data:/var/lib/postgresql/data
- ./script:/script
ports:
- 5432:5432
adminer:
image: adminer
restart: always
ports:
- 8081:8080
kibana:
image: kibana:6.8.2
environment:
- "ELASTICSEARCH_HOSTS=http://es:9200"
ports:
- 5601:5601
networks:
default:
external:
name: fs-network

55
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/local-ES.yaml

@ -0,0 +1,55 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: es-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yamles-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamles-d #名称
template: #定义模板
metadata:
labels:
app: yamles-d
spec:
containers: #定义容器信息
- name: yamles #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/es:6.8.2-3.21-04-21 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "cluster.name" #变量的名字
value: "elasticsearch" #变量的值
- name: "discovery.type"
value: "single-node"
- name: "ES_JAVA_OPTS"
value: "-Xms512m -Xmx512m"
ports:
- containerPort: 9200 #定义容器的对外端口
volumeMounts:
- name: vol-data #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /usr/share/elasticsearch/data # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-data
hostPath:
path: /home/anxinlocal/esdata # 宿主机目录
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: es-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: es-s
spec:
selector:
app: yamles-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 9200 # 集群内访问
targetPort: 9200 #集群内 容器内端口
nodePort: 30092 #集群外访问 范围30000-32767

44
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/local-kabana.yaml

@ -0,0 +1,44 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: kibana-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: kibana-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamlkibana-d #名称
template: #定义模板
metadata:
labels:
app: yamlkibana-d
spec:
containers: #定义容器信息
- name: yamlkibana #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/kibana:6.8.2 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "ELASTICSEARCH_HOSTS" #变量的名字
value: "http://es-service:9200" #变量的值 注意这里面的es-service 是es的yaml service的name
ports:
- containerPort: 5601 #定义容器的对外端口
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: kibana-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: kibana-s
spec:
selector:
app: yamlkibana-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 5601 # 集群内访问
targetPort: 5601 #集群内 容器内端口
nodePort: 30601 #集群外访问 范围30000-32767

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_aggregation

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"change_data":{"dynamic":"true","properties":{"diffX":{"type":"float"},"direction":{"type":"float"},"displacement":{"type":"float"},"force":{"type":"float"},"humidity":{"type":"float"},"noise":{"type":"float"},"pm10":{"type":"float"},"pm25":{"type":"float"},"speed":{"type":"float"},"temperature":{"type":"float"},"total":{"type":"float"},"waterLevel":{"type":"float"},"x":{"type":"float"},"y":{"type":"float"},"z":{"type":"float"}}},"data":{"dynamic":"true","properties":{"alarm_status":{"type":"float"},"aqi":{"type":"long"},"aqiLevel":{"type":"long"},"bri":{"type":"float"},"co":{"type":"float"},"co_24h":{"type":"float"},"co_24h_iaqi":{"type":"long"},"co_iaqi":{"type":"long"},"diffX":{"type":"float"},"direction":{"type":"float"},"displacement":{"type":"float"},"do":{"type":"float"},"do_24h":{"type":"float"},"end_state":{"type":"long"},"end_time":{"type":"date"},"female_in":{"type":"float"},"female_out":{"type":"float"},"female_stay":{"type":"float"},"force":{"type":"float"},"frequency":{"type":"float"},"from_state":{"type":"long"},"from_time":{"type":"date"},"humidity":{"type":"float"},"inflow":{"type":"float"},"latitude":{"type":"float"},"longitude":{"type":"float"},"male_in":{"type":"float"},"male_out":{"type":"float"},"male_stay":{"type":"float"},"no2":{"type":"float"},"no2_24h":{"type":"float"},"no2_24h_iaqi":{"type":"long"},"no2_iaqi":{"type":"long"},"noise":{"type":"float"},"o3":{"type":"float"},"o3_1h_24h":{"type":"float"},"o3_1h_24h_iaqi":{"type":"long"},"o3_1h_iaqi":{"type":"long"},"o3_8h":{"type":"float"},"o3_8h_24h":{"type":"float"},"o3_8h_24h_iaqi":{"type":"long"},"o3_8h_iaqi":{"type":"long"},"o3_iaqi":{"type":"long"},"on":{"type":"float"},"on_duration":{"type":"long"},"online":{"type":"float"},"outflow":{"type":"float"},"pEnergy":{"type":"float"},"ph":{"type":"float"},"ph_24h":{"type":"float"},"pm10":{"type":"float"},"pm10_24h":{"type":"float"},"pm10_24h_iaqi":{"type":"long"},"pm10_iaqi":{"type":"long"},"pm25":{"type":"float"},"pm2_5":{"type":"float"},"pm2_5_24h":{"type":"float"},"pm2_5_24h_iaqi":{"type":"long"},"pm2_5_iaqi":{"type":"long"},"primaryPollutant":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"rainfall":{"type":"float"},"runtime":{"type":"float"},"so2":{"type":"float"},"so2_24h":{"type":"float"},"so2_24h_iaqi":{"type":"long"},"so2_iaqi":{"type":"long"},"speed":{"type":"float"},"tds":{"type":"float"},"tds_24h":{"type":"float"},"temp":{"type":"float"},"temp_24h":{"type":"float"},"temperature":{"type":"float"},"total":{"type":"float"},"turb":{"type":"float"},"turb_24h":{"type":"float"},"vocs":{"type":"float"},"vocs_24h":{"type":"float"},"voltage":{"type":"float"},"waterLevel":{"type":"float"},"wqLevel":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"x":{"type":"float"},"y":{"type":"float"},"z":{"type":"float"}}},"date":{"type":"date"},"method":{"type":"keyword"},"sensor":{"type":"long"},"type":{"type":"keyword"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_alarm_details

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"10s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"alarmId":{"type":"keyword"},"alarmRange":{"type":"integer"},"alarm_code":{"type":"keyword"},"alarm_pic":{"type":"text","norms":false},"alarm_state":{"type":"integer"},"content":{"norms":false,"type":"text"},"current_level":{"type":"integer"},"sponsor":{"type":"keyword"},"time":{"type":"date","format":"yyyy-MM-dd'T'HH:mm:ss.SSSZ"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_alarms

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"10s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"alarm_code":{"type":"keyword"},"alarm_content":{"norms":false,"type":"text"},"alarm_count":{"type":"integer"},"alarm_type_code":{"type":"keyword"},"alarm_type_id":{"type":"integer"},"current_level":{"type":"integer"},"end_time":{"type":"date","format":"yyyy-MM-dd'T'HH:mm:ss.SSSZ"},"initial_level":{"type":"integer"},"source_id":{"type":"keyword"},"source_name":{"type":"text"},"source_type_id":{"type":"integer"},"start_time":{"type":"date","format":"yyyy-MM-dd'T'HH:mm:ss.SSSZ"},"state":{"type":"integer"},"structure_id":{"type":"integer"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_diagnosis

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"collect_time":{"type":"date","format":"date_time || yyyy-MM-dd HH:mm:ss"},"data":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":512}}},"iota_device":{"type":"keyword"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_raws

File diff suppressed because one or more lines are too long

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_rt_aggregation

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"change_data":{"dynamic":"true","properties":{"diffX":{"type":"float"},"direction":{"type":"float"},"displacement":{"type":"float"},"force":{"type":"float"},"humidity":{"type":"float"},"noise":{"type":"float"},"pm10":{"type":"float"},"pm25":{"type":"float"},"speed":{"type":"float"},"temperature":{"type":"float"},"total":{"type":"float"},"waterLevel":{"type":"float"},"x":{"type":"float"},"y":{"type":"float"},"z":{"type":"float"}}},"data":{"dynamic":"true","properties":{"alarm_status":{"type":"float"},"aqi":{"type":"long"},"aqiLevel":{"type":"long"},"bri":{"type":"float"},"co":{"type":"float"},"co_24h":{"type":"float"},"co_24h_iaqi":{"type":"long"},"co_iaqi":{"type":"long"},"diffX":{"type":"float"},"direction":{"type":"float"},"displacement":{"type":"float"},"do":{"type":"float"},"do_24h":{"type":"float"},"end_state":{"type":"long"},"end_time":{"type":"date"},"female_in":{"type":"float"},"female_out":{"type":"float"},"female_stay":{"type":"float"},"force":{"type":"float"},"frequency":{"type":"float"},"from_state":{"type":"long"},"from_time":{"type":"date"},"humidity":{"type":"float"},"inflow":{"type":"float"},"latitude":{"type":"float"},"longitude":{"type":"float"},"male_in":{"type":"float"},"male_out":{"type":"float"},"male_stay":{"type":"float"},"no2":{"type":"float"},"no2_24h":{"type":"float"},"no2_24h_iaqi":{"type":"long"},"no2_iaqi":{"type":"long"},"noise":{"type":"float"},"o3":{"type":"float"},"o3_1h_24h":{"type":"float"},"o3_1h_24h_iaqi":{"type":"long"},"o3_1h_iaqi":{"type":"long"},"o3_8h":{"type":"float"},"o3_8h_24h":{"type":"float"},"o3_8h_24h_iaqi":{"type":"long"},"o3_8h_iaqi":{"type":"long"},"o3_iaqi":{"type":"long"},"on":{"type":"float"},"on_duration":{"type":"long"},"online":{"type":"float"},"outflow":{"type":"float"},"pEnergy":{"type":"float"},"ph":{"type":"float"},"ph_24h":{"type":"float"},"pm10":{"type":"float"},"pm10_24h":{"type":"float"},"pm10_24h_iaqi":{"type":"long"},"pm10_iaqi":{"type":"long"},"pm25":{"type":"float"},"pm2_5":{"type":"float"},"pm2_5_24h":{"type":"float"},"pm2_5_24h_iaqi":{"type":"long"},"pm2_5_iaqi":{"type":"long"},"primaryPollutant":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"rainfall":{"type":"float"},"runtime":{"type":"float"},"so2":{"type":"float"},"so2_24h":{"type":"float"},"so2_24h_iaqi":{"type":"long"},"so2_iaqi":{"type":"long"},"speed":{"type":"float"},"tds":{"type":"float"},"tds_24h":{"type":"float"},"temp":{"type":"float"},"temp_24h":{"type":"float"},"temperature":{"type":"float"},"total":{"type":"float"},"turb":{"type":"float"},"turb_24h":{"type":"float"},"vocs":{"type":"float"},"vocs_24h":{"type":"float"},"voltage":{"type":"float"},"waterLevel":{"type":"float"},"wqLevel":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"x":{"type":"float"},"y":{"type":"float"},"z":{"type":"float"}}},"date":{"type":"date"},"method":{"type":"keyword"},"sensor":{"type":"long"},"type":{"type":"keyword"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_sentiment

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"createTime":{"type":"date","format":"date_time || yyyy-MM-dd HH:mm:ss"},"evaluate":{"type":"keyword"},"evaluateTime":{"type":"date","format":"date_time || yyyy-MM-dd HH:mm:ss"},"id":{"type":"keyword"},"job":{"type":"keyword"},"job_id":{"type":"keyword"},"orderNum":{"type":"keyword"},"questionAddress":{"type":"nested","properties":{"sort":{"type":"long"},"t_report_address_id":{"type":"long"},"t_report_address_name":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":256}}},"t_report_address_pid":{"type":"long"}}},"questionLocate":{"type":"keyword"},"real_name":{"type":"keyword"},"score":{"type":"keyword"},"status":{"type":"keyword"},"t_job_name":{"type":"keyword"},"t_organization_name":{"type":"keyword"},"t_report_id":{"type":"keyword"},"t_report_name":{"type":"keyword"},"title":{"type":"keyword"},"username":{"type":"keyword"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_themes

File diff suppressed because one or more lines are too long

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/native_vbraws

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"30s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"strict","_all":{"enabled":false},"properties":{"collect_time":{"type":"date","format":"date_time || yyy-MM-dd HH:mm:ss"},"create_time":{"type":"date","format":"date_time || yyyy-MM-dd HH:mm:ss"},"data":{"dynamic":"strict","properties":{"raw":{"type":"float"}}},"iota_device":{"type":"keyword"},"iota_device_name":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":100}}},"param":{"dynamic":"strict","properties":{"filterFreq":{"type":"float"},"gainAmplifier":{"type":"long"},"sampleFreq":{"type":"float"},"triggerType":{"type":"long"},"version":{"type":"long"}}},"structId":{"type":"long"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_events

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"describe":{"type":"text","norms":false},"structId":{"type":"integer"},"time":{"type":"date","format":"date_time || yyy-MM-dd HH:mm:ss"},"title":{"type":"text","norms":false}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_patrols

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"picture":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":256}}},"confirm":{"type":"boolean"},"content":{"type":"text","norms":false},"diseaseDescribe":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":256}}},"diseaseId":{"type":"integer"},"level":{"type":"integer"},"levelDescribe":{"type":"text","norms":false,"fields":{"keyword":{"type":"keyword","ignore_above":256}}},"opinion":{"norms":false,"type":"text"},"parts":{"type":"integer"},"position":{"norms":false,"type":"text"},"result":{"type":"boolean"},"score":{"norms":false,"type":"text"},"structId":{"type":"integer"},"time":{"type":"date","format":"date_time || yyy-MM-dd HH:mm:ss"},"title":{"norms":false,"type":"text"},"weather":{"norms":false,"type":"text"}}}}}

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/secure_ranking

@ -0,0 +1 @@
{"settings":{"index":{"refresh_interval":"300s","number_of_shards":"1","number_of_replicas":0,"translog":{"sync_interval":"60s","durability":"async"}}},"mappings":{"_doc":{"dynamic":"false","_all":{"enabled":false},"properties":{"incline":{"type":"integer"},"inclineProposal":{"type":"text","norms":false},"inclineWeight":{"type":"double"},"inspection":{"type":"integer"},"inspectionProposal":{"type":"text","norms":false},"inspectionWeight":{"type":"double"},"score":{"type":"double"},"structId":{"type":"integer"},"time":{"type":"date","format":"date_time || yyy-MM-dd HH:mm:ss"},"vehicleFlow":{"type":"integer"},"vehicleFlowProposal":{"type":"text","norms":false},"vehicleFlowWeight":{"type":"double"},"vib":{"type":"integer"},"vibProposal":{"type":"text","norms":false},"vibWeight":{"type":"double"}}}}}

7
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/初始化ES索引/init_es_index.sh

@ -0,0 +1,7 @@
#!/bin/bash
for i in $(ls ./baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/);
do
setting=$(cat ./baseImage_yamls/启动ES和kibana/初始化ES索引/es_index/$i)
#30092 是k8s的es-service 的nodePort
curl -H "Content-Type: application/json" -XPUT "http://localhost:30092/$i" -d "$setting"
done

1
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动ES和kibana/命令.txt

@ -0,0 +1 @@
microk8s.kubectl apply -f local-ES.yaml

51
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动emqx/local-emqx.yaml

@ -0,0 +1,51 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: emqx-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: emqx-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamlemqx-d #名称
template: #定义模板
metadata:
labels:
app: yamlemqx-d
spec:
containers: #定义容器信息
- name: yamlemqx #容器名,与标签名要相同
image: docker.io/emqx/emqx:4.3.9 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
ports:
- containerPort: 1883 #定义容器的端口
name: tcp-emqx
- containerPort: 18083 #定义容器的端口
name: tcp-emqx-web
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: emqx-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: emqx-s
spec:
selector:
app: yamlemqx-d #deployment标签
type: NodePort #ClusterIP
ports:
- protocol: TCP
port: 1883 # 集群内访问
targetPort: 1883 #集群内 容器内端口
name: tcp-1883
nodePort: 30883 #集群外访问 范围30000-32767
- protocol: TCP
port: 18083 # 集群内访问
targetPort: 18083 #集群内 容器内端口
name: tcp-18083
nodePort: 30083 #集群外访问 范围30000-32767

20
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动kafka/kafka调试发送,接收.txt

@ -0,0 +1,20 @@
进入容器 容器名称按照实际的来
microk8s.kubectl -n lk exec -it kafka-deployment-7f8f466fd8-47z22 bash
生产 TOPIC 主题内容
cd /usr/local/kafka/kafka_2.11-2.0.0
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TOPIC
监听 TOPIC 主题内容
cd /usr/local/kafka/kafka_2.11-2.0.0
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TOPIC --from-beginning

54
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动kafka/local-kafka.yaml

@ -0,0 +1,54 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: kafka-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: kafka-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamlkafka-d #名称
template: #定义模板
metadata:
labels:
app: yamlkafka-d
spec:
containers: #定义容器信息
- name: yamlkafka #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/kafka-alpine:2.11-1.21-04-19 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
ports:
- containerPort: 9092 #定义容器的端口
name: tcp-kafka
- containerPort: 2181 #定义容器的端口
name: tcp-zookeeper
# hostNetwork: true
# dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: kafka-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: kafka-s
spec:
selector:
app: yamlkafka-d #deployment标签
type: NodePort #ClusterIP
ports:
- protocol: TCP
port: 9092 # 集群内访问
targetPort: 9092 #集群内 容器内端口
name: tcp-9092
nodePort: 30992 #集群外访问 范围30000-32767
- protocol: TCP
port: 2181 # 集群内访问
targetPort: 2181 #集群内 容器内端口
name: tcp-2181
nodePort: 30181 #集群外访问 范围30000-32767

10
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/init_pg.sh

@ -0,0 +1,10 @@
#!/bin/bash
#k8s的 pod名称获取,后续需需要改进
#-f 容器内脚本 不加 则 宿主机内脚本
microk8s.kubectl exec -it pg-deployment-8564d489c8-7xr95 -n lk -- psql -U postgres -f script/create_db.sql
microk8s.kubectl exec -it pg-deployment-8564d489c8-7xr95 -n lk -- psql -U postgres -d iota -f script/iota_create.sql
microk8s.kubectl exec -it pg-deployment-8564d489c8-7xr95 -n lk -- psql -U postgres -d axy -f script/axy_schema.sql
microk8s.kubectl exec -it pg-deployment-8564d489c8-7xr95 -n lk -- psql -U postgres -d axy -f script/axy_data.sql

40
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/local-adminer-pgweb.yaml

@ -0,0 +1,40 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: adminer-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: adminer-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yaml-adminer-d #名称
template: #定义模板
metadata:
labels:
app: yaml-adminer-d
spec:
containers: #定义容器信息
- name: yaml-adminer #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/adminer:latest #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
ports:
- containerPort: 8080 #定义容器的对外端口
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: adminer-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: adminer-s
spec:
selector:
app: yaml-adminer-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 8081 # 集群内访问
targetPort: 8080 #集群内 容器内端口
nodePort: 30881 #集群外访问 范围30000-32767

50
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/local-pg.yaml

@ -0,0 +1,50 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: pg-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: pg-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamlpg-d #名称
template: #定义模板
metadata:
labels:
app: yamlpg-d
spec:
containers: #定义容器信息
- name: yamlpg #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/pg:12-1.21-04-14 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
env: #环境变量
- name: "POSTGRES_PASSWORD" #变量的名字
value: "example" #变量的值
ports:
- containerPort: 5432 #定义容器的对外端口
volumeMounts:
- name: vol-data #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /var/lib/postgresql/data # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-data
hostPath:
path: /home/anxinlocal/pgdata # 宿主机目录
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: pg-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: pg-s
spec:
selector:
app: yamlpg-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 5432 # 集群内访问
targetPort: 5432 #集群内 容器内端口
nodePort: 30432 #集群外访问 范围30000-32767

1885
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/01_create_tables.sql

File diff suppressed because it is too large

3875
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/02_insert_table_data.sql

File diff suppressed because it is too large

3769
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/axy_data.sql

File diff suppressed because it is too large

5944
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/axy_schema.sql

File diff suppressed because it is too large

2
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/create_db.sql

@ -0,0 +1,2 @@
CREATE DATABASE IOTA;
CREATE DATABASE AXY;

19886
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动pg数据库/pgscript/iota_create.sql

File diff suppressed because one or more lines are too long

54
本地化下沉-打包/offline离线安装脚本/baseImage_yamls/启动redis/local-redis.yaml

@ -0,0 +1,54 @@
apiVersion: apps/v1 #指定API版本标签
kind: Deployment #定义资源的类型/角色,deployment为控制器,service,endpoints
metadata: #定义资源的元数据信息
name: redis-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: yamlredis-d
spec:
replicas: 1 #定义副本数量
selector: #定义选择器
matchLabels: #匹配上边的标签
app: yamlredis-d #名称
template: #定义模板
metadata:
labels:
app: yamlredis-d
spec:
containers: #定义容器信息
- name: yamlredis #容器名,与标签名要相同
image: repository.anxinyun.cn/base-images/redis:5-1.21-04-13 #容器使用的镜像以及版本
imagePullPolicy: IfNotPresent #获取镜像的策略 Alawys表示下载镜像 IfNotPresent 表示优先使用本地镜像,否则下载镜像,Never表示仅使用本地镜像
command: ["/bin/sh","-c","redis-server --protected-mode 'no' --appendonly yes"] #启动容器的运行命令,将覆盖容器中的Entrypoint,对应Dockefile中的ENTRYPOINT
ports:
- containerPort: 6379 #定义容器的对外端口
volumeMounts:
- name: vol-data #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /data # 容器的数据目录
- name: vol-log #挂载设备的名字,与volumes[*].name 需要对应
mountPath: /logs # 容器的数据目录
volumes: # volumes和container处于同一层级,别搞错了
- name: vol-data
hostPath:
path: /home/anxinlocal/redisdata # 宿主机目录
- name: vol-log
hostPath:
path: /home/anxinlocal/redislogs # 宿主机目录
---
apiVersion: v1 #指定API版本标签
kind: Service #定义资源的类型/角色,Deployment为控制器,Service,endpoints
metadata: #定义资源的元数据信息
name: redis-service #定义资源的名称,在同一个namespace空间中必须是唯一的
namespace: lk #默认default
labels: #定义资源标签
app: redis-s
spec:
selector:
app: yamlredis-d #deployment标签
type: NodePort
ports:
- protocol: TCP
port: 6379 # 集群内访问
targetPort: 6379 #集群内 容器内端口
nodePort: 30379 #集群外访问 范围30000-32767

49
本地化下沉-打包/offline离线安装脚本/fetch-images.sh

@ -0,0 +1,49 @@
#!/bin/bash
images=(
k8s.gcr.io/pause:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1
gcr.io/google_containers/defaultbackend:1.4=registry.cn-hangzhou.aliyuncs.com/google_containers/defaultbackend:1.4
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1=registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1
k8s.gcr.io/heapster-influxdb-amd64:v1.3.3=registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.3.3
k8s.gcr.io/heapster-amd64:v1.5.2=registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-amd64:v1.5.2
k8s.gcr.io/heapster-grafana-amd64:v4.4.3=registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-grafana-amd64:v4.4.3
#1.22 microk8s版本 metrics-server
k8s.gcr.io/metrics-server/metrics-server:v0.5.0=registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.5.0
#1.21 microk8s版本 metrics-server
#k8s.gcr.io/metrics-server-amd64:v0.3.6=registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.6
#kube-system/calico-node 离线安装需要
docker.io/calico/cni:v3.19.1=docker.io/calico/cni:v3.19.1
docker.io/calico/pod2daemon-flexvol:v3.19.1=docker.io/calico/pod2daemon-flexvol:v3.19.1
docker.io/calico/node:v3.19.1=docker.io/calico/node:v3.19.1
#kube-system/calico-kube-controllers离线安装需要
docker.io/calico/kube-controllers:v3.17.3=docker.io/calico/kube-controllers:v3.17.3
#kube-system/dashboard-metrics-scraper离线安装需要
docker.io/kubernetesui/metrics-scraper:v1.0.6=docker.io/kubernetesui/metrics-scraper:v1.0.6
#kube-system/kubernetes-dashboard离线安装需要
docker.io/kubernetesui/dashboard:v2.2.0=docker.io/kubernetesui/dashboard:v2.2.0
#kube-system/coredns离线安装需要
docker.io/coredns/coredns:1.8.0=docker.io/coredns/coredns:1.8.0
)
OIFS=$IFS # 保存旧值
imagelist=()
imageindex=1
for image in ${images[*]}; do
IFS='='
set $image
echo "准备拉取 $2"
microk8s.ctr image pull $2
if [ $1 != $2 ]; then
microk8s.ctr image tag $2 $1
microk8s.ctr image rm $2
fi
imagelist[imageindex]=$1
imageindex=$((imageindex + 1))
echo "拉取成功"
IFS=$OIFS # 还原旧值
done
echo "${imagelist[*]}"
microk8s.ctr image export ./dashboardAndCalicoImages.tar ${imagelist[*]}
#return 0

30
本地化下沉-打包/offline离线安装脚本/loopDirToFindYamlOrTar.sh

@ -0,0 +1,30 @@
#! /bin/bash
find_list=()
index=0
function read_dir() {
for file in $(ls $1); do
local path=$1"/"$file
if [ -d $path ]; then #注意此处之间一定要加上空格,否则会报错
read_dir $path $2
else
#echo $path #在此处处理文件即可
extendname=${file##*.}
if [ "$extendname" == "$2" ]; then
find_list[index]="$path"
echo "找到${2}文件:${find_list[index]}"
index=$((index + 1))
# else
# echo "$file不匹配 $2"
fi
fi
done
#echo "数组元素个数为: ${#find_list[*]}"
}
#读取第一个参数
read_dir $1 $2
echo "c-数组元素个数为: ${#find_list[*]}"
return 0

45
本地化下沉-打包/offline离线安装脚本/make-app-tar.sh

@ -0,0 +1,45 @@
#!/bin/bash
#所有app镜像
images=(
repository.anxinyun.cn/anxinyun/smislocal-alarm:6.21-03-18=repository.anxinyun.cn/anxinyun/smislocal-alarm:6.21-03-18
repository.anxinyun.cn/local/config_center:latest=repository.anxinyun.cn/local/config_center:latest
repository.anxinyun.cn/anxinyun/api:137.21-08-17=repository.anxinyun.cn/anxinyun/api:137.21-08-17
repository.anxinyun.cn/anxinyun/console-web:75.21-06-10=repository.anxinyun.cn/anxinyun/console-web:75.21-06-10
repository.anxinyun.cn/anxinyun/project:latest=repository.anxinyun.cn/anxinyun/project:latest
repository.anxinyun.cn/local/et:latest=repository.anxinyun.cn/local/et:latest
repository.anxinyun.cn/iota/dac:28.21-04-14=repository.anxinyun.cn/iota/dac:28.21-04-14
repository.anxinyun.cn/iota/prometheus:latest=repository.anxinyun.cn/iota/prometheus:latest
repository.anxinyun.cn/anxin/iota-proxy:latest=repository.anxinyun.cn/anxin/iota-proxy:latest
repository.anxinyun.cn/iota/web-console-api:50.21-05-24=repository.anxinyun.cn/iota/web-console-api:50.21-05-24
repository.anxinyun.cn/anxinyun/py.rpc:dragon.32=repository.anxinyun.cn/anxinyun/py.rpc:dragon.32
repository.anxinyun.cn/local/report-client:12.21-10-28=repository.anxinyun.cn/local/report-client:12.21-10-28
)
OIFS=$IFS # 保存旧值
imagelist=()
imageindex=1
for image in ${images[*]}; do
IFS='='
set $image
echo "准备拉取 $2"
microk8s.ctr image pull $2
if [ $1 != $2 ]; then
microk8s.ctr image tag $2 $1
microk8s.ctr image rm $2
fi
imagelist[imageindex]=$1
imageindex=$((imageindex + 1))
echo "拉取成功"
tempname=${2##*/}
echo "tempname=$tempname"
newtarname=${tempname/:/-}
echo "tar存储镜像 $newtarname"
microk8s.ctr image export "./${newtarname}.tar" $1
IFS=$OIFS # 还原旧值
done
echo "${imagelist[*]}"
#microk8s.ctr image export ./baseImages.tar ${imagelist[*]} #全部导入一个tar
#microk8s.ctr image export ./emqx:4.3.5.tar docker.io/emqx/emqx:4.3.9 # emqx导出问题?先用docker导出
#docker save -o emqx-4.3.9.tar docker.io/emqx/emqx:4.3.9
return 0

40
本地化下沉-打包/offline离线安装脚本/make-base-tar.sh

@ -0,0 +1,40 @@
#!/bin/bash
#所有app镜像
images=(
docker.io/emqx/emqx:4.3.9=docker.io/emqx/emqx:4.3.9
repository.anxinyun.cn/base-images/es:6.8.2-3.21-04-21=repository.anxinyun.cn/base-images/es:6.8.2-3.21-04-21
repository.anxinyun.cn/base-images/kibana:6.8.2=repository.anxinyun.cn/base-images/kibana:6.8.2
repository.anxinyun.cn/base-images/kafka-alpine:2.11-1.21-04-19=repository.anxinyun.cn/base-images/kafka-alpine:2.11-1.21-04-19
repository.anxinyun.cn/base-images/pg:12-1.21-04-14=repository.anxinyun.cn/base-images/pg:12-1.21-04-14
repository.anxinyun.cn/base-images/adminer:latest=repository.anxinyun.cn/base-images/adminer:latest
repository.anxinyun.cn/base-images/redis:5-1.21-04-13=repository.anxinyun.cn/base-images/redis:5-1.21-04-13
)
OIFS=$IFS # 保存旧值
imagelist=()
imageindex=1
for image in ${images[*]}; do
IFS='='
set $image
echo "准备拉取 $2"
microk8s.ctr image pull $2
echo "拉取成功"
if [ $1 != $2 ]; then
microk8s.ctr image tag $2 $1
microk8s.ctr image rm $2
fi
imagelist[imageindex]=$1
imageindex=$((imageindex + 1))
tempname=${2##*/}
echo "tempname=$tempname"
newtarname=${tempname/:/-}
echo "存储镜像文件名 $newtarname"
microk8s.ctr image export "./${newtarname}.tar" $1
IFS=$OIFS # 还原旧值
done
echo "${imagelist[*]}"
#microk8s.ctr image export ./baseImages.tar ${imagelist[*]} #全部导入一个tar
#microk8s.ctr image export ./emqx:4.3.5.tar docker.io/emqx/emqx:4.3.9 # emqx导出问题?先用docker导出
#docker save -o emqx-4.3.9.tar docker.io/emqx/emqx:4.3.9
return 0

4
本地化下沉-打包/offline离线安装脚本/microk8s离线包/readme.txt

@ -0,0 +1,4 @@
microk8s_2551.assert
microk8s_2551.snap
包含上述2个microk8s安装文件

182
本地化下沉-打包/offline离线安装脚本/offline离线安装脚本.sh

@ -0,0 +1,182 @@
#!/bin/bash
#microk8s v1.22.2
sudo snap ack ./microk8s离线包/microk8s_2551.assert
sudo snap install ./microk8s离线包/microk8s_2551.snap --classic
if [ $? != 0 ]; then
echo "------1-- microk8s 安装失败 code=$?---------"
echo "------1-- microk8s 准备退出 ---------"
exit 0
fi
microk8s.kubectl create namespace lk
dashboardAndCalicoImages_path="./dashboardAndCalicoImages.tar"
if [ ! -f "$dashboardAndCalicoImages_path" ]; then
echo "---------$dashboardAndCalicoImages_path dashboard组件包不存在,退出安装"
exit 0
fi
echo "准备导入 dashboard 组件 镜像"
microk8s.ctr --namespace k8s.io image import "$dashboardAndCalicoImages_path"
sleep 5s
echo "------2-- 组件 准备启动 (这步耗时较久,请等待)---------"
microk8s status --wait-ready && microk8s enable dashboard
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token >dashboard_token.txt
sleep 5s
microk8s enable dns
echo "------2-- 组件 启动完成 ---------"
echo "-------- 本地化 基础进程 开始拉取 ---------"
#es 挂载数据路径
mkdir -p /home/anxinlocal/esdata
chmod 777 /home/anxinlocal/esdata
#webapi 报表模板路径
mkdir -p /home/anxinlocal/static
#pg 挂载数据路径
mkdir -p /home/anxinlocal/pgdata
#-----------------------------------base----------------------------
#判断tar 目录是否存在
baseImages_tarDir="./baseImage_tars"
if [ ! -d "$baseImages_tarDir" ]; then
echo "---------$baseImages_tarDir base组件包不存在,退出安装"
exit 0
fi
find_list=()
# shellcheck source=/dev/null
source ./loopDirToFindYamlOrTar.sh $baseImages_tarDir "tar"
echo "find_list文件个数为: ${#find_list[*]}"
#导入 base 镜像
echo "------3--执行 base 镜像拉取 shell脚本 ---------"
echo "准备导入 baseImages 组件 镜像"
for item in ${find_list[*]}; do
echo "------3--开始 导入 压缩包 ${item} ---------"
microk8s.ctr image import "$item"
sleep 2s
done
#判断tar 目录是否存在
baseImage_yamls="./baseImage_yamls"
if [ ! -d "$baseImage_yamls" ]; then
echo "---------$baseImage_yamls base组件yaml包不存在,退出安装"
exit 0
fi
#启动 base pod
find_list=()
# shellcheck source=/dev/null
source ./loopDirToFindYamlOrTar.sh $baseImage_yamls "yaml"
echo "f-yaml文件个数为: ${#find_list[*]}"
for item in ${find_list[*]}; do
echo "------3-开始拉取base镜像pod ${item} ---------"
microk8s.kubectl apply -f ${item}
sleep 5s
done
#-----------------------------------pg 和 es----------------------------
echo "准备执行pg创建库脚本"
#测试用
pgpodname=$(microk8s.kubectl get pod -n lk | grep pg-deployment- | awk '{print $1}')
echo " pod名称 $pgpodname"
#测试用
echo "------4--开始执行数据库脚本 ---------"
#pg数据库 脚本
#microk8s.kubectl -n lk logs "$(microk8s.kubectl get pod -n lk | grep pg-deployment- | awk '{print $1}')"
microk8s.kubectl exec -i "$pgpodname" -n lk -- psql -U postgres <./$baseImage_yamls/启动pg数据库/pgscript/create_db.sql
sleep 5s
microk8s.kubectl exec -i "$pgpodname" -n lk -- psql -U postgres -d iota <./$baseImage_yamls/启动pg数据库/pgscript/iota_create.sql
sleep 5s
microk8s.kubectl exec -i "$pgpodname" -n lk -- psql -U postgres -d axy <./$baseImage_yamls/启动pg数据库/pgscript/axy_schema.sql
sleep 5s
microk8s.kubectl exec -i "$pgpodname" -n lk -- psql -U postgres -d axy <./$baseImage_yamls/启动pg数据库/pgscript/axy_data.sql
sleep 5s
#microk8s.kubectl exec -i pg-deployment-6b5dbdc447-l7qqk -n lk -- psql -U postgres -f script/create_db.sql
echo "------4--开始创建es索引 ---------"
source ./$baseImage_yamls/启动ES和kibana/初始化ES索引/init_es_index.sh
echo "------4--结束创建es索引 ---------"
#kafka pod地址 存入hosts
sed -i "1i $(microk8s.kubectl -n lk get pod -o wide | grep kafka-deployment- | awk '{print $6,$1}') " /etc/hosts
echo "------4--查看hosts ---------"
cat /etc/hosts
#-----------------------------------app----------------------------
#判断tar 目录是否存在
appImages_tarDir="./appImage_tars"
if [ ! -d "$appImages_tarDir" ]; then
echo "---------$appImages_tarDir app组件包不存在,退出安装"
exit 0
fi
find_list=()
# shellcheck source=/dev/null
source ./loopDirToFindYamlOrTar.sh $appImages_tarDir "tar"
echo "find_list文件个数为: ${#find_list[*]}"
#导入 base 镜像
echo "------5--执行 app 镜像拉取 shell脚本 ---------"
echo "准备导入 appImages 组件 镜像"
for item in ${find_list[*]}; do
echo "------5--开始 导入 压缩包 ${item} ---------"
microk8s.ctr image import "$item"
sleep 2s
done
#判断tar 目录是否存在
appImage_yamls="./appImage_yamls"
if [ ! -d "$appImage_yamls" ]; then
echo "---------$appImage_yamls app组件yaml包不存在,退出安装"
exit 0
fi
#启动 app pod
find_list=()
# shellcheck source=/dev/null
source ./loopDirToFindYamlOrTar.sh $appImage_yamls "yaml"
echo "f-yaml文件个数为: ${#find_list[*]}"
for item in ${find_list[*]}; do
echo "------6--开始拉取base镜像pod ${item} ---------"
microk8s.kubectl apply -f ${item}
sleep 5s
done
echo "------7-- 本地化 进程 部署完成 开始使用 ---------"
cat dashboard_token.txt
#microk8s.kubectl edit svc -n kube-system kubernetes-dashboard

5
本地化下沉-打包/offline离线安装脚本/readme.txt

@ -0,0 +1,5 @@
dashboardAndCalicoImages.tar
fetch-images.sh 脚本执行 后存入当前文件夹
Loading…
Cancel
Save