core服务的DNS名称是动态的,无法在adapter服务的配置文件中提前确定,因此在部署helm chart时动态生成adapter的配置文件
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-maibot-adapter
|
||||
namespace: {{ .Release.Namespace }}
|
||||
data:
|
||||
config.toml: |
|
||||
{{ .Values.config.adapter_config | nindent 4 }}
|
||||
@@ -1,8 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-maibot-core-scripts
|
||||
namespace: {{ .Release.Namespace }}
|
||||
data:
|
||||
volume-linker.sh: |
|
||||
{{ .Files.Get "files/volume-linker.sh" | nindent 4 }}
|
||||
@@ -70,7 +70,7 @@ spec:
|
||||
items:
|
||||
- key: volume-linker.sh
|
||||
path: volume-linker.sh
|
||||
name: {{ .Release.Name }}-maibot-core-scripts
|
||||
name: {{ .Release.Name }}-maibot-scripts
|
||||
name: scripts
|
||||
- configMap:
|
||||
items:
|
||||
|
||||
50
helm-chart/templates/pre-adapter-cm-gen-job.yaml
Normal file
50
helm-chart/templates/pre-adapter-cm-gen-job.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# 动态生成adapter配置文件的configmap的job,仅会在部署时运行一次
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-adapter-cm-generator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||
spec:
|
||||
backoffLimit: 0
|
||||
template:
|
||||
spec:
|
||||
serviceAccountName: {{ .Release.Name }}-adapter-cm-generator
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
- name: python
|
||||
image: python:slim
|
||||
workingDir: /app
|
||||
command:
|
||||
- sh
|
||||
args:
|
||||
- adapter-pip-installer.sh
|
||||
env:
|
||||
- name: NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: RELEASE_NAME
|
||||
value: {{ .Release.Name }}
|
||||
- name: DATA_B64
|
||||
value: {{ .Values.config.adapter_config | b64enc }} # 将配置文件编码为base64,从环境变量注入
|
||||
volumeMounts:
|
||||
- mountPath: /app/adapter-pip-installer.sh
|
||||
name: scripts
|
||||
readOnly: true
|
||||
subPath: adapter-pip-installer.sh
|
||||
- mountPath: /app/adapter-cm-generator.py
|
||||
name: scripts
|
||||
readOnly: true
|
||||
subPath: adapter-cm-generator.py
|
||||
volumes:
|
||||
- name: scripts
|
||||
configMap:
|
||||
name: {{ .Release.Name }}-maibot-scripts
|
||||
items:
|
||||
- key: adapter-pip-installer.sh
|
||||
path: adapter-pip-installer.sh
|
||||
- key: adapter-cm-generator.py
|
||||
path: adapter-cm-generator.py
|
||||
39
helm-chart/templates/pre-adapter-cm-gen-rbac.yaml
Normal file
39
helm-chart/templates/pre-adapter-cm-gen-rbac.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
# 动态生成adapter配置文件的configmap所需要的rbac授权
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-adapter-cm-generator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-adapter-cm-gen-role
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["configmaps"]
|
||||
verbs: ["get", "list", "create", "update", "patch"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-adapter-cm-gen-role-binding
|
||||
namespace: {{ .Release.Namespace }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ .Release.Name }}-adapter-cm-generator
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: {{ .Release.Name }}-adapter-cm-gen-role
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
15
helm-chart/templates/scripts-configmap.yaml
Normal file
15
helm-chart/templates/scripts-configmap.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-maibot-scripts
|
||||
namespace: {{ .Release.Namespace }}
|
||||
data:
|
||||
# pre-install hook
|
||||
adapter-pip-installer.sh: |
|
||||
{{ .Files.Get "files/adapter-pip-installer.sh" | nindent 4 }}
|
||||
adapter-cm-generator.py: |
|
||||
{{ .Files.Get "files/adapter-cm-generator.py" | nindent 4 }}
|
||||
|
||||
# core
|
||||
volume-linker.sh: |
|
||||
{{ .Files.Get "files/volume-linker.sh" | nindent 4 }}
|
||||
Reference in New Issue
Block a user