上QQ阅读APP看书,第一时间看更新
3.5.4 tests文件
在tests文件中,只有一个文件test-mariadb-connection.yaml,它用来测试数据库的连通性。
{{- if .Values.mariadb.enabled }} apiVersion: v1 kind: Pod metadata: name: "{{ .Release.Name }}-credentials-test" annotations: "helm.sh/hook": test-success spec: containers: - name: {{ .Release.Name }}-credentials-test image: {{ template "wordpress.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} env: - name: MARIADB_HOST value: {{ template "mariadb.fullname" . }} - name: MARIADB_PORT value: "3306" - name: WORDPRESS_DATABASE_NAME value: {{ default "" .Values.mariadb.db.name | quote }} - name: WORDPRESS_DATABASE_USER value: {{ default "" .Values.mariadb.db.user | quote }} - name: WORDPRESS_DATABASE_PASSWORD valueFrom: secretKeyRef: name: {{ template "mariadb.fullname" . }} key: mariadb-password command: ["sh", "-c", "mysql --host=$MARIADB_HOST --port=$MARIADB_PORT --user=$WORDPRESS_DATABASE_USER --password=$WORDPRESS_DATABASE_PASSWORD"] restartPolicy: Never {{- end }}
首先请留意这个"helm.sh/hook":test-success注解,这表明当前是一个测试用例,同时期望这个测试用例最终的运行结果是成功的。然后这个Pod的镜像就是直接使用的Wordpress镜像,配置了对应数据库的用户名,挂载了数据库对应的secret。此外,最重要的就是运行的命令,通过运行mysql命令来检测是否能够连接到数据库。