You've already forked DataMate
71
.github/workflows/docker-image-kuberay.yml
vendored
Normal file
71
.github/workflows/docker-image-kuberay.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
name: Kuberay Docker Image CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "main" ]
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/docker-image-kuberay.yml'
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/docker-image-kuberay.yml'
|
||||||
|
workflow_dispatch:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
kuberay-push-amd:
|
||||||
|
name: Pull & Push Kuberay AMD Image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
steps:
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: pull & push
|
||||||
|
run: |
|
||||||
|
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||||
|
docker pull quay.io/kuberay/operator:v1.4.2
|
||||||
|
docker tag quay.io/kuberay/operator:v1.4.2 ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-amd64
|
||||||
|
docker push ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-amd64
|
||||||
|
|
||||||
|
kuberay-push-arm:
|
||||||
|
name: Pull & Push Kuberay ARM Image
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
steps:
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: pull & push
|
||||||
|
run: |
|
||||||
|
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||||
|
docker pull quay.io/kuberay/operator:v1.4.2
|
||||||
|
docker tag quay.io/kuberay/operator:v1.4.2 ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-arm64
|
||||||
|
docker push ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-arm64
|
||||||
|
|
||||||
|
kuberay-manifest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
steps:
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: pull & push
|
||||||
|
run: |
|
||||||
|
LOWERCASE_REPO=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||||
|
docker manifest create ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2 \
|
||||||
|
ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-arm64 \
|
||||||
|
ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2-amd64
|
||||||
|
docker manifest push ghcr.io/$LOWERCASE_REPO/quay.io/kuberay/operator:v1.4.2
|
||||||
@@ -320,3 +320,16 @@ rules:
|
|||||||
- watch
|
- watch
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Name of image
|
||||||
|
*/}}
|
||||||
|
{{- define "kuberay.image" -}}
|
||||||
|
{{- $name := .Values.image.repository }}
|
||||||
|
{{- $tag := .Values.image.tag }}
|
||||||
|
{{- if .Values.global.image.repository }}
|
||||||
|
{{- .Values.global.image.repository | trimSuffix "/" }}/{{ $name }}:{{ $tag }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name }}:{{ $tag }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ spec:
|
|||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
image: "{{ include "kuberay.image" . }}"
|
||||||
{{- with .Values.image.pullPolicy }}
|
{{- with .Values.image.pullPolicy }}
|
||||||
imagePullPolicy: {{ . }}
|
imagePullPolicy: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
appVersion: 2.6.4
|
appVersion: 2.6.5
|
||||||
description: Milvus is an open-source vector database built to power AI applications
|
description: Milvus is an open-source vector database built to power AI applications
|
||||||
and vector similarity search.
|
and vector similarity search.
|
||||||
home: https://milvus.io/
|
home: https://milvus.io/
|
||||||
@@ -18,4 +18,4 @@ maintainers:
|
|||||||
name: milvus
|
name: milvus
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/zilliztech/milvus
|
- https://github.com/zilliztech/milvus
|
||||||
version: 5.0.6
|
version: 5.0.7
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ The following table lists the configurable parameters of the Milvus Service and
|
|||||||
| `route.annotations` | Route annotations | `{}` |
|
| `route.annotations` | Route annotations | `{}` |
|
||||||
| `route.labels` | Route labels | `{}` |
|
| `route.labels` | Route labels | `{}` |
|
||||||
| `image.all.repository` | Image repository | `milvusdb/milvus` |
|
| `image.all.repository` | Image repository | `milvusdb/milvus` |
|
||||||
| `image.all.tag` | Image tag | `v2.6.4` |
|
| `image.all.tag` | Image tag | `v2.6.5` |
|
||||||
| `image.all.pullPolicy` | Image pull policy | `IfNotPresent` |
|
| `image.all.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||||
| `image.all.pullSecrets` | Image pull secrets | `{}` |
|
| `image.all.pullSecrets` | Image pull secrets | `{}` |
|
||||||
| `image.tools.repository` | Config image repository | `milvusdb/milvus-config-tool` |
|
| `image.tools.repository` | Config image repository | `milvusdb/milvus-config-tool` |
|
||||||
|
|||||||
@@ -14,7 +14,9 @@ Return the proper Storage Class
|
|||||||
|
|
||||||
{{- if $storageClass -}}
|
{{- if $storageClass -}}
|
||||||
{{- if (eq "-" $storageClass) -}}
|
{{- if (eq "-" $storageClass) -}}
|
||||||
|
{{- /*
|
||||||
{{- printf "storageClassName: \"\"" -}}
|
{{- printf "storageClassName: \"\"" -}}
|
||||||
|
*/}}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- printf "storageClassName: %s" $storageClass -}}
|
{{- printf "storageClassName: %s" $storageClass -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
405
deployment/helm/milvus/charts/etcd/templates/deployment.yaml
Normal file
405
deployment/helm/milvus/charts/etcd/templates/deployment.yaml
Normal file
@@ -0,0 +1,405 @@
|
|||||||
|
{{- if eq (.Values.workload | lower) "deployment" }}
|
||||||
|
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "common.names.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||||
|
{{- if .Values.commonLabels }}
|
||||||
|
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.commonAnnotations }}
|
||||||
|
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||||
|
strategy: {{- include "common.tplvalues.render" (dict "value" .Values.updateStrategy "context" $ ) | nindent 4 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||||
|
{{- if .Values.podLabels }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.podLabels "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
annotations:
|
||||||
|
{{- if .Values.podAnnotations }}
|
||||||
|
{{- include "common.tplvalues.render" ( dict "value" .Values.podAnnotations "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if and .Values.metrics.enabled .Values.metrics.podAnnotations }}
|
||||||
|
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.podAnnotations "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if (include "etcd.createConfigmap" .) }}
|
||||||
|
checksum/configuration: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if (include "etcd.token.createSecret" .) }}
|
||||||
|
checksum/token-secret: {{ include (print $.Template.BasePath "/token-secrets.yaml") . | sha256sum }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- include "etcd.imagePullSecrets" . | nindent 6 }}
|
||||||
|
{{- if .Values.hostAliases }}
|
||||||
|
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.hostAliases "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.affinity }}
|
||||||
|
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }}
|
||||||
|
{{- else }}
|
||||||
|
affinity:
|
||||||
|
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "context" $) | nindent 10 }}
|
||||||
|
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "context" $) | nindent 10 }}
|
||||||
|
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.nodeSelector }}
|
||||||
|
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.tolerations }}
|
||||||
|
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.terminationGracePeriodSeconds }}
|
||||||
|
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.schedulerName }}
|
||||||
|
schedulerName: {{ .Values.schedulerName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.topologySpreadConstraints }}
|
||||||
|
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" .) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.priorityClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.runtimeClassName }}
|
||||||
|
runtimeClassName: {{ .Values.runtimeClassName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.podSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.shareProcessNamespace }}
|
||||||
|
shareProcessNamespace: {{ .Values.shareProcessNamespace }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "etcd.serviceAccountName" $ | quote }}
|
||||||
|
{{- if or .Values.initContainers (and .Values.volumePermissions.enabled .Values.persistence.enabled) }}
|
||||||
|
initContainers:
|
||||||
|
{{- if .Values.initContainers }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.initContainers "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if and .Values.volumePermissions.enabled .Values.persistence.enabled }}
|
||||||
|
- name: volume-permissions
|
||||||
|
image: {{ include "etcd.volumePermissions.image" . }}
|
||||||
|
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
chown -R {{ .Values.containerSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} /bitnami/etcd
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
{{- if .Values.volumePermissions.resources }}
|
||||||
|
resources: {{- include "common.tplvalues.render" (dict "value" .Values.volumePermissions.resources "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: data
|
||||||
|
mountPath: /bitnami/etcd
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
{{- $replicaCount := int .Values.replicaCount }}
|
||||||
|
{{- $peerPort := int .Values.containerPorts.peer }}
|
||||||
|
{{- $etcdFullname := include "common.names.fullname" . }}
|
||||||
|
{{- $releaseNamespace := .Release.Namespace }}
|
||||||
|
{{- $etcdHeadlessServiceName := (printf "%s-%s" $etcdFullname "headless" | trunc 63 | trimSuffix "-") }}
|
||||||
|
{{- $clusterDomain := .Values.clusterDomain }}
|
||||||
|
{{- $etcdPeerProtocol := include "etcd.peerProtocol" . }}
|
||||||
|
{{- $etcdClientProtocol := include "etcd.clientProtocol" . }}
|
||||||
|
- name: etcd
|
||||||
|
image: {{ include "etcd.image" . }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
|
||||||
|
{{- if .Values.containerSecurityContext.enabled }}
|
||||||
|
securityContext: {{- omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.diagnosticMode.enabled }}
|
||||||
|
command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }}
|
||||||
|
{{- else if .Values.command }}
|
||||||
|
command: {{- include "common.tplvalues.render" (dict "value" .Values.command "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.diagnosticMode.enabled }}
|
||||||
|
args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }}
|
||||||
|
{{- else if .Values.args }}
|
||||||
|
args: {{- include "common.tplvalues.render" (dict "value" .Values.args "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
- name: BITNAMI_DEBUG
|
||||||
|
value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
|
||||||
|
- name: MY_POD_IP
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: status.podIP
|
||||||
|
- name: MY_POD_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
- name: MY_STS_NAME
|
||||||
|
value: {{ include "common.names.fullname" . | quote }}
|
||||||
|
- name: ETCDCTL_API
|
||||||
|
value: "3"
|
||||||
|
- name: ETCD_ON_K8S
|
||||||
|
value: "yes"
|
||||||
|
- name: ETCD_START_FROM_SNAPSHOT
|
||||||
|
value: {{ ternary "yes" "no" .Values.startFromSnapshot.enabled | quote }}
|
||||||
|
- name: ETCD_DISASTER_RECOVERY
|
||||||
|
value: {{ ternary "yes" "no" .Values.disasterRecovery.enabled | quote }}
|
||||||
|
- name: ETCD_NAME
|
||||||
|
value: "$(MY_POD_NAME)"
|
||||||
|
- name: ETCD_DATA_DIR
|
||||||
|
value: "/bitnami/etcd/data"
|
||||||
|
- name: ETCD_LOG_LEVEL
|
||||||
|
value: {{ ternary "debug" .Values.logLevel .Values.image.debug | quote }}
|
||||||
|
- name: ALLOW_NONE_AUTHENTICATION
|
||||||
|
value: {{ ternary "yes" "no" (and (not (or .Values.auth.rbac.create .Values.auth.rbac.enabled)) .Values.auth.rbac.allowNoneAuthentication) | quote }}
|
||||||
|
{{- if or .Values.auth.rbac.create .Values.auth.rbac.enabled }}
|
||||||
|
- name: ETCD_ROOT_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ include "etcd.secretName" . }}
|
||||||
|
key: {{ include "etcd.secretPasswordKey" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.auth.token.enabled }}
|
||||||
|
- name: ETCD_AUTH_TOKEN
|
||||||
|
{{- if eq .Values.auth.token.type "jwt" }}
|
||||||
|
value: {{ printf "jwt,priv-key=/opt/bitnami/etcd/certs/token/%s,sign-method=%s,ttl=%s" .Values.auth.token.privateKey.filename .Values.auth.token.signMethod .Values.auth.token.ttl | quote }}
|
||||||
|
{{- else if eq .Values.auth.token.type "simple" }}
|
||||||
|
value: "simple"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
# 警告:以下 Env Vars 依赖 StatefulSet 命名 (headless service 和 ordered names)
|
||||||
|
# 在 Deployment 中如果不修改副本数为 1,这些配置会导致集群发现失败。
|
||||||
|
- name: ETCD_ADVERTISE_CLIENT_URLS
|
||||||
|
value: "{{ $etcdClientProtocol }}://$(MY_POD_NAME).{{ $etcdHeadlessServiceName }}.{{ .Release.Namespace }}.svc.{{ $clusterDomain }}:{{ .Values.containerPorts.client }},{{ $etcdClientProtocol }}://{{ $etcdFullname }}.{{ .Release.Namespace }}.svc.{{ $clusterDomain }}:{{ coalesce .Values.service.ports.client .Values.service.port }}"
|
||||||
|
- name: ETCD_LISTEN_CLIENT_URLS
|
||||||
|
value: "{{ $etcdClientProtocol }}://0.0.0.0:{{ .Values.containerPorts.client }}"
|
||||||
|
- name: ETCD_INITIAL_ADVERTISE_PEER_URLS
|
||||||
|
value: "{{ $etcdPeerProtocol }}://$(MY_POD_NAME).{{ $etcdHeadlessServiceName }}.{{ .Release.Namespace }}.svc.{{ $clusterDomain }}:{{ .Values.containerPorts.peer }}"
|
||||||
|
- name: ETCD_LISTEN_PEER_URLS
|
||||||
|
value: "{{ $etcdPeerProtocol }}://0.0.0.0:{{ .Values.containerPorts.peer }}"
|
||||||
|
{{- if .Values.autoCompactionMode }}
|
||||||
|
- name: ETCD_AUTO_COMPACTION_MODE
|
||||||
|
value: {{ .Values.autoCompactionMode | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.autoCompactionRetention }}
|
||||||
|
- name: ETCD_AUTO_COMPACTION_RETENTION
|
||||||
|
value: {{ .Values.autoCompactionRetention | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.maxProcs }}
|
||||||
|
- name: GOMAXPROCS
|
||||||
|
value: {{ .Values.maxProcs }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if gt $replicaCount 1 }}
|
||||||
|
- name: ETCD_INITIAL_CLUSTER_TOKEN
|
||||||
|
value: "etcd-cluster-k8s"
|
||||||
|
- name: ETCD_INITIAL_CLUSTER_STATE
|
||||||
|
value: {{ default (ternary "new" "existing" .Release.IsInstall) .Values.initialClusterState | quote }}
|
||||||
|
{{- $initialCluster := list }}
|
||||||
|
{{- range $e, $i := until $replicaCount }}
|
||||||
|
{{- $initialCluster = append $initialCluster (printf "%s-%d=%s://%s-%d.%s.%s.svc.%s:%d" $etcdFullname $i $etcdPeerProtocol $etcdFullname $i $etcdHeadlessServiceName $releaseNamespace $clusterDomain $peerPort) }}
|
||||||
|
{{- end }}
|
||||||
|
- name: ETCD_INITIAL_CLUSTER
|
||||||
|
value: {{ join "," $initialCluster | quote }}
|
||||||
|
{{- end }}
|
||||||
|
- name: ETCD_CLUSTER_DOMAIN
|
||||||
|
value: {{ printf "%s.%s.svc.%s" $etcdHeadlessServiceName $releaseNamespace $clusterDomain | quote }}
|
||||||
|
{{- if and .Values.auth.client.secureTransport .Values.auth.client.useAutoTLS }}
|
||||||
|
- name: ETCD_AUTO_TLS
|
||||||
|
value: "true"
|
||||||
|
{{- else if .Values.auth.client.secureTransport }}
|
||||||
|
- name: ETCD_CERT_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/client/{{ .Values.auth.client.certFilename }}"
|
||||||
|
- name: ETCD_KEY_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/client/{{ .Values.auth.client.certKeyFilename }}"
|
||||||
|
{{- if .Values.auth.client.enableAuthentication }}
|
||||||
|
- name: ETCD_CLIENT_CERT_AUTH
|
||||||
|
value: "true"
|
||||||
|
- name: ETCD_TRUSTED_CA_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/client/{{ .Values.auth.client.caFilename | default "ca.crt" }}"
|
||||||
|
{{- else if .Values.auth.client.caFilename }}
|
||||||
|
- name: ETCD_TRUSTED_CA_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/client/{{ .Values.auth.client.caFilename | default "ca.crt" }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if and .Values.auth.peer.secureTransport .Values.auth.peer.useAutoTLS }}
|
||||||
|
- name: ETCD_PEER_AUTO_TLS
|
||||||
|
value: "true"
|
||||||
|
{{- else if .Values.auth.peer.secureTransport }}
|
||||||
|
- name: ETCD_PEER_CERT_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/peer/{{ .Values.auth.peer.certFilename }}"
|
||||||
|
- name: ETCD_PEER_KEY_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/peer/{{ .Values.auth.peer.certKeyFilename }}"
|
||||||
|
{{- if .Values.auth.peer.enableAuthentication }}
|
||||||
|
- name: ETCD_PEER_CLIENT_CERT_AUTH
|
||||||
|
value: "true"
|
||||||
|
- name: ETCD_PEER_TRUSTED_CA_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/peer/{{ .Values.auth.peer.caFilename | default "ca.crt" }}"
|
||||||
|
{{- else if .Values.auth.peer.caFilename }}
|
||||||
|
- name: ETCD_PEER_TRUSTED_CA_FILE
|
||||||
|
value: "/opt/bitnami/etcd/certs/peer/{{ .Values.auth.peer.caFilename | default "ca.crt" }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.startFromSnapshot.enabled }}
|
||||||
|
- name: ETCD_INIT_SNAPSHOT_FILENAME
|
||||||
|
value: {{ .Values.startFromSnapshot.snapshotFilename | quote }}
|
||||||
|
- name: ETCD_INIT_SNAPSHOTS_DIR
|
||||||
|
value: {{ ternary "/snapshots" "/init-snapshot" (and .Values.disasterRecovery.enabled (not .Values.disasterRecovery.pvc.existingClaim)) | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraEnvVars }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
envFrom:
|
||||||
|
{{- if .Values.extraEnvVarsCM }}
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsCM "context" $) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraEnvVarsSecret }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: client
|
||||||
|
containerPort: {{ .Values.containerPorts.client }}
|
||||||
|
protocol: TCP
|
||||||
|
- name: peer
|
||||||
|
containerPort: {{ .Values.containerPorts.peer }}
|
||||||
|
protocol: TCP
|
||||||
|
{{- if not .Values.diagnosticMode.enabled }}
|
||||||
|
{{- if .Values.customLivenessProbe }}
|
||||||
|
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customLivenessProbe "context" $) | nindent 12 }}
|
||||||
|
{{- else if .Values.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /opt/bitnami/scripts/etcd/healthcheck.sh
|
||||||
|
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
||||||
|
successThreshold: {{ .Values.livenessProbe.successThreshold }}
|
||||||
|
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.customReadinessProbe }}
|
||||||
|
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customReadinessProbe "context" $) | nindent 12 }}
|
||||||
|
{{- else if .Values.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /opt/bitnami/scripts/etcd/healthcheck.sh
|
||||||
|
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
|
||||||
|
successThreshold: {{ .Values.readinessProbe.successThreshold }}
|
||||||
|
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.customStartupProbe }}
|
||||||
|
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customStartupProbe "context" $) | nindent 12 }}
|
||||||
|
{{- else if .Values.startupProbe.enabled }}
|
||||||
|
startupProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /opt/bitnami/scripts/etcd/healthcheck.sh
|
||||||
|
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
|
||||||
|
successThreshold: {{ .Values.startupProbe.successThreshold }}
|
||||||
|
failureThreshold: {{ .Values.startupProbe.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.lifecycleHooks }}
|
||||||
|
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.lifecycleHooks "context" $) | nindent 12 }}
|
||||||
|
{{- else if and (gt $replicaCount 1) .Values.removeMemberOnContainerTermination }}
|
||||||
|
lifecycle:
|
||||||
|
preStop:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /opt/bitnami/scripts/etcd/prestop.sh
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.resources }}
|
||||||
|
resources: {{- include "common.tplvalues.render" (dict "value" .Values.resources "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: data
|
||||||
|
mountPath: /bitnami/etcd
|
||||||
|
{{- if and (eq .Values.auth.token.enabled true) (eq .Values.auth.token.type "jwt") }}
|
||||||
|
- name: etcd-jwt-token
|
||||||
|
mountPath: /opt/bitnami/etcd/certs/token/
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
|
{{- if or (and .Values.startFromSnapshot.enabled (not .Values.disasterRecovery.enabled)) (and .Values.disasterRecovery.enabled .Values.startFromSnapshot.enabled .Values.disasterRecovery.pvc.existingClaim) }}
|
||||||
|
- name: init-snapshot-volume
|
||||||
|
mountPath: /init-snapshot
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.disasterRecovery.enabled (and .Values.disasterRecovery.enabled .Values.startFromSnapshot.enabled) }}
|
||||||
|
- name: snapshot-volume
|
||||||
|
mountPath: /snapshots
|
||||||
|
{{- if .Values.disasterRecovery.pvc.subPath }}
|
||||||
|
subPath: {{ .Values.disasterRecovery.pvc.subPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.configuration .Values.existingConfigmap }}
|
||||||
|
- name: etcd-config
|
||||||
|
mountPath: /opt/bitnami/etcd/conf/
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.auth.client.enableAuthentication (and .Values.auth.client.secureTransport (not .Values.auth.client.useAutoTLS )) }}
|
||||||
|
- name: etcd-client-certs
|
||||||
|
mountPath: /opt/bitnami/etcd/certs/client/
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.auth.peer.enableAuthentication (and .Values.auth.peer.secureTransport (not .Values.auth.peer.useAutoTLS )) }}
|
||||||
|
- name: etcd-peer-certs
|
||||||
|
mountPath: /opt/bitnami/etcd/certs/peer/
|
||||||
|
readOnly: true
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraVolumeMounts }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumeMounts "context" $) | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.sidecars }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
{{- if and (eq .Values.auth.token.enabled true) (eq .Values.auth.token.type "jwt") }}
|
||||||
|
- name: etcd-jwt-token
|
||||||
|
secret:
|
||||||
|
secretName: {{ include "etcd.token.secretName" . }}
|
||||||
|
defaultMode: 256
|
||||||
|
{{- end }}
|
||||||
|
{{- if or (and .Values.startFromSnapshot.enabled (not .Values.disasterRecovery.enabled)) (and .Values.disasterRecovery.enabled .Values.startFromSnapshot.enabled .Values.disasterRecovery.pvc.existingClaim) }}
|
||||||
|
- name: init-snapshot-volume
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .Values.startFromSnapshot.existingClaim }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.disasterRecovery.enabled (and .Values.disasterRecovery.enabled .Values.startFromSnapshot.enabled) }}
|
||||||
|
- name: snapshot-volume
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ include "etcd.disasterRecovery.pvc.name" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.configuration .Values.existingConfigmap }}
|
||||||
|
- name: etcd-config
|
||||||
|
configMap:
|
||||||
|
name: {{ include "etcd.configmapName" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.auth.client.enableAuthentication (and .Values.auth.client.secureTransport (not .Values.auth.client.useAutoTLS )) }}
|
||||||
|
- name: etcd-client-certs
|
||||||
|
secret:
|
||||||
|
secretName: {{ required "A secret containing the client certificates is required" (tpl .Values.auth.client.existingSecret .) }}
|
||||||
|
defaultMode: 256
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.auth.peer.enableAuthentication (and .Values.auth.peer.secureTransport (not .Values.auth.peer.useAutoTLS )) }}
|
||||||
|
- name: etcd-peer-certs
|
||||||
|
secret:
|
||||||
|
secretName: {{ required "A secret containing the peer certificates is required" (tpl .Values.auth.peer.existingSecret .) }}
|
||||||
|
defaultMode: 256
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraVolumes }}
|
||||||
|
{{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- name: data
|
||||||
|
{{- if .Values.persistence.enabled }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}
|
||||||
|
{{- else }}
|
||||||
|
emptyDir: {}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
78
deployment/helm/milvus/charts/etcd/templates/pvc.yaml
Normal file
78
deployment/helm/milvus/charts/etcd/templates/pvc.yaml
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
{{- if eq (.Values.workload | lower) "deployment" }}
|
||||||
|
{{- if and .Values.persistence.storageClass (eq .Values.persistence.storageClass "local-storage") }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Namespace }}-{{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}-pv
|
||||||
|
{{- if .Values.commonAnnotations }}
|
||||||
|
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
persistentVolumeReclaimPolicy: Delete
|
||||||
|
storageClassName: {{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
|
||||||
|
local: # local类型
|
||||||
|
path: {{ .Values.persistence.storagePath | default "/opt/milvus/data" }}/etcd
|
||||||
|
claimRef:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
name: {{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- {{ .Values.persistence.storageNode }}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}
|
||||||
|
{{- if .Values.commonAnnotations }}
|
||||||
|
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
volumeName: {{ .Release.Namespace }}-{{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}-pv
|
||||||
|
volumeMode: Filesystem
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
|
||||||
|
|
||||||
|
{{- else }}
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.persistence.existingClaim | default (include "common.names.fullname" .) }}
|
||||||
|
{{- if .Values.commonAnnotations }}
|
||||||
|
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
{{- if eq (.Values.workload | lower) "statefulset" }}
|
||||||
apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
|
apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
@@ -425,3 +426,4 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
|
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -486,9 +486,9 @@ topologySpreadConstraints: []
|
|||||||
## @param persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
|
## @param persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
|
||||||
## @param persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
|
## @param persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
|
||||||
persistentVolumeClaimRetentionPolicy:
|
persistentVolumeClaimRetentionPolicy:
|
||||||
enabled: false
|
enabled: true
|
||||||
whenScaled: Retain
|
whenScaled: Retain
|
||||||
whenDeleted: Retain
|
whenDeleted: Delete
|
||||||
## @section Traffic exposure parameters
|
## @section Traffic exposure parameters
|
||||||
##
|
##
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,34 @@
|
|||||||
{{- if eq .Values.mode "standalone" }}
|
{{- if eq .Values.mode "standalone" }}
|
||||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
|
{{- if and .Values.persistence.storageClass (eq .Values.persistence.storageClass "local-storage") }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Namespace }}-{{ template "minio.fullname" . }}-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- {{ .Values.persistence.accessMode }}
|
||||||
|
persistentVolumeReclaimPolicy: Delete
|
||||||
|
storageClassName: {{ .Values.persistence.storageClass }}
|
||||||
|
local: # local类型
|
||||||
|
path: {{ .Values.persistence.storagePath | default "/opt/milvus/data" }}/minio
|
||||||
|
claimRef:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
name: {{ template "minio.fullname" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- {{ .Values.persistence.storageNode }}
|
||||||
|
|
||||||
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
@@ -14,26 +43,38 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
spec:
|
spec:
|
||||||
{{- if and .Values.nasgateway.enabled .Values.nasgateway.pv }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
pv: {{ .Values.nasgateway.pv | quote }}
|
|
||||||
{{- end }}
|
|
||||||
accessModes:
|
accessModes:
|
||||||
- {{ .Values.persistence.accessMode | quote }}
|
- {{ .Values.persistence.accessMode | quote }}
|
||||||
|
volumeName: {{ .Release.Namespace }}-{{ template "minio.fullname" . }}-pv
|
||||||
|
volumeMode: Filesystem
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.persistence.size | quote }}
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
storageClassName: {{ .Values.persistence.storageClass }}
|
||||||
|
|
||||||
{{- if .Values.persistence.storageClass }}
|
|
||||||
{{- if (eq "-" .Values.persistence.storageClass) }}
|
|
||||||
storageClassName: ""
|
|
||||||
{{- else }}
|
{{- else }}
|
||||||
storageClassName: "{{ .Values.persistence.storageClass }}"
|
|
||||||
{{- end }}
|
apiVersion: v1
|
||||||
{{- end }}
|
kind: PersistentVolumeClaim
|
||||||
{{- if .Values.persistence.VolumeName }}
|
metadata:
|
||||||
volumeName: "{{ .Values.persistence.VolumeName }}"
|
name: {{ template "minio.fullname" . }}
|
||||||
{{- end }}
|
{{- with .Values.persistence.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "minio.name" . }}
|
||||||
|
chart: {{ template "minio.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
heritage: {{ .Release.Service }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- {{ .Values.persistence.accessMode | quote }}
|
||||||
|
{{- if .Values.persistence.storageClass }}
|
||||||
|
storageClassName: {{ .Values.persistence.storageClass }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -121,8 +121,6 @@ trustedCertsSecret: ""
|
|||||||
##
|
##
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
annotations:
|
|
||||||
helm.sh/resource-policy: "keep"
|
|
||||||
|
|
||||||
## A manually managed Persistent Volume and Claim
|
## A manually managed Persistent Volume and Claim
|
||||||
## Requires persistence.enabled: true
|
## Requires persistence.enabled: true
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ hostRootFsMount:
|
|||||||
|
|
||||||
## Configuring
|
## Configuring
|
||||||
|
|
||||||
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](./values.yaml), or run these configuration commands:
|
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](values.yaml), or run these configuration commands:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
helm show values prometheus-community/prometheus-node-exporter
|
helm show values prometheus-community/prometheus-node-exporter
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ _See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command doc
|
|||||||
|
|
||||||
## Configuring
|
## Configuring
|
||||||
|
|
||||||
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](./values.yaml), or run these configuration commands:
|
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](values.yaml), or run these configuration commands:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
helm show values prometheus-community/prometheus-windows-exporter
|
helm show values prometheus-community/prometheus-windows-exporter
|
||||||
|
|||||||
@@ -1,11 +1,40 @@
|
|||||||
{{- if not .Values.cluster.enabled }}
|
{{- if not .Values.cluster.enabled }}
|
||||||
{{- $pvc := .Values.standalone.persistence.persistentVolumeClaim -}}
|
{{- $pvc := .Values.standalone.persistence.persistentVolumeClaim -}}
|
||||||
{{- if and .Values.standalone.persistence.enabled (not $pvc.existingClaim) }}
|
{{- if and .Values.standalone.persistence.enabled (not $pvc.existingClaim) }}
|
||||||
|
{{- if and $pvc.storageClass (eq $pvc.storageClass "local-storage") }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Namespace }}-{{ printf "%s" (include "milvus.fullname" . | trunc 58)}}-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: {{ $pvc.size | quote }}
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- {{ $pvc.accessModes | quote }}
|
||||||
|
persistentVolumeReclaimPolicy: Delete
|
||||||
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
|
local: # local类型
|
||||||
|
path: {{ $pvc.storagePath | default "/opt/milvus/data" }}/milvus
|
||||||
|
claimRef:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
name: {{ printf "%s" (include "milvus.fullname" . | trunc 58)}}
|
||||||
|
namespace: {{ .Values.global.namespace | default "datamate" }}
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- {{ $pvc.storageNode }}
|
||||||
|
|
||||||
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ printf "%s" (include "milvus.fullname" . | trunc 58)}}
|
name: {{ printf "%s" (include "milvus.fullname" . | trunc 58)}}
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
{{- with .Values.standalone.persistence.annotations }}
|
{{- with .Values.standalone.persistence.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml . | indent 4 }}
|
{{ toYaml . | indent 4 }}
|
||||||
@@ -14,30 +43,75 @@ metadata:
|
|||||||
{{ include "milvus.labels" . | indent 4 }}
|
{{ include "milvus.labels" . | indent 4 }}
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- {{ $pvc.accessModes | quote }}
|
- {{ $pvc.accessModes | quote }}
|
||||||
{{- if $pvc.storageClass }}
|
volumeName: {{ .Release.Namespace }}-{{ printf "%s" (include "milvus.fullname" . | trunc 58)}}-pv
|
||||||
{{- if eq "-" $pvc.storageClass }}
|
volumeMode: Filesystem
|
||||||
storageClassName: ""
|
resources:
|
||||||
{{- else }}
|
requests:
|
||||||
|
storage: {{ $pvc.size | quote }}
|
||||||
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
|
|
||||||
|
{{- else }}
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s" (include "milvus.fullname" . | trunc 58)}}
|
||||||
|
{{- with .Values.standalone.persistence.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml . | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{ include "milvus.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- {{ $pvc.accessModes | quote }}
|
||||||
|
{{- if $pvc.storageClass }}
|
||||||
storageClassName: {{ $pvc.storageClass }}
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ $pvc.size }}
|
storage: {{ $pvc.size | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- $pvc := .Values.log.persistence.persistentVolumeClaim -}}
|
{{- $pvc := .Values.log.persistence.persistentVolumeClaim -}}
|
||||||
{{- if and .Values.log.persistence.enabled (not $pvc.existingClaim)}}
|
{{- if and .Values.log.persistence.enabled (not $pvc.existingClaim)}}
|
||||||
|
---
|
||||||
|
{{- if and $pvc.storageClass (eq $pvc.storageClass "local-storage") }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Namespace }}-{{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: {{ $pvc.size | quote }}
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- {{ $pvc.accessModes | quote }}
|
||||||
|
persistentVolumeReclaimPolicy: Delete
|
||||||
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
|
local: # local类型
|
||||||
|
path: {{ $pvc.storagePath | default "/opt/milvus/data" }}/milvus-log
|
||||||
|
claimRef:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
name: {{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- {{ $pvc.storageNode }}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}
|
name: {{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
{{- with .Values.log.persistence.annotations }}
|
{{- with .Values.log.persistence.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml . | indent 4 }}
|
{{ toYaml . | indent 4 }}
|
||||||
@@ -46,15 +120,36 @@ metadata:
|
|||||||
{{ include "milvus.labels" . | indent 4 }}
|
{{ include "milvus.labels" . | indent 4 }}
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- {{ $pvc.accessModes | quote }}
|
- {{ $pvc.accessModes | quote }}
|
||||||
{{- if $pvc.storageClass }}
|
volumeName: {{ .Release.Namespace }}-{{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}-pv
|
||||||
{{- if eq "-" $pvc.storageClass }}
|
volumeMode: Filesystem
|
||||||
storageClassName: ""
|
resources:
|
||||||
{{- else }}
|
requests:
|
||||||
|
storage: {{ $pvc.size | quote }}
|
||||||
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
|
|
||||||
|
{{- else }}
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-logs" (include "milvus.fullname" . | trunc 58)}}
|
||||||
|
{{- with .Values.log.persistence.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml . | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{ include "milvus.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- {{ $pvc.accessModes | quote }}
|
||||||
|
{{- if $pvc.storageClass }}
|
||||||
storageClassName: {{ $pvc.storageClass }}
|
storageClassName: {{ $pvc.storageClass }}
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ $pvc.size }}
|
storage: {{ $pvc.size | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ cluster:
|
|||||||
image:
|
image:
|
||||||
all:
|
all:
|
||||||
repository: milvusdb/milvus
|
repository: milvusdb/milvus
|
||||||
tag: v2.6.2
|
tag: v2.6.5
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
## Optionally specify an array of imagePullSecrets.
|
## Optionally specify an array of imagePullSecrets.
|
||||||
## Secrets must be manually created in the namespace.
|
## Secrets must be manually created in the namespace.
|
||||||
@@ -196,9 +196,7 @@ log:
|
|||||||
## If true, create/use a Persistent Volume Claim
|
## If true, create/use a Persistent Volume Claim
|
||||||
## If false, use emptyDir
|
## If false, use emptyDir
|
||||||
##
|
##
|
||||||
enabled: false
|
enabled: true
|
||||||
annotations:
|
|
||||||
helm.sh/resource-policy: keep
|
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
existingClaim: ""
|
existingClaim: ""
|
||||||
## Milvus Logs Persistent Volume Storage Class
|
## Milvus Logs Persistent Volume Storage Class
|
||||||
@@ -212,6 +210,8 @@ log:
|
|||||||
accessModes: ReadWriteMany
|
accessModes: ReadWriteMany
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
subPath: ""
|
subPath: ""
|
||||||
|
storagePath:
|
||||||
|
storageNode:
|
||||||
|
|
||||||
## Heaptrack traces all memory allocations and annotates these events with stack traces.
|
## Heaptrack traces all memory allocations and annotates these events with stack traces.
|
||||||
## See more: https://github.com/KDE/heaptrack
|
## See more: https://github.com/KDE/heaptrack
|
||||||
@@ -254,8 +254,6 @@ standalone:
|
|||||||
## If false, use emptyDir
|
## If false, use emptyDir
|
||||||
##
|
##
|
||||||
enabled: true
|
enabled: true
|
||||||
annotations:
|
|
||||||
helm.sh/resource-policy: keep
|
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
existingClaim: ""
|
existingClaim: ""
|
||||||
## Milvus Persistent Volume Storage Class
|
## Milvus Persistent Volume Storage Class
|
||||||
@@ -268,6 +266,8 @@ standalone:
|
|||||||
accessModes: ReadWriteOnce
|
accessModes: ReadWriteOnce
|
||||||
size: 50Gi
|
size: 50Gi
|
||||||
subPath: ""
|
subPath: ""
|
||||||
|
storagePath:
|
||||||
|
storageNode:
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -627,7 +627,6 @@ attu:
|
|||||||
minio:
|
minio:
|
||||||
enabled: true
|
enabled: true
|
||||||
name: minio
|
name: minio
|
||||||
replicas: 1
|
|
||||||
mode: standalone
|
mode: standalone
|
||||||
image:
|
image:
|
||||||
tag: "RELEASE.2024-12-18T13-15-44Z"
|
tag: "RELEASE.2024-12-18T13-15-44Z"
|
||||||
@@ -657,6 +656,8 @@ minio:
|
|||||||
storageClass:
|
storageClass:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 500Gi
|
size: 500Gi
|
||||||
|
storagePath:
|
||||||
|
storageNode:
|
||||||
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
enabled: true
|
enabled: true
|
||||||
@@ -689,6 +690,7 @@ minio:
|
|||||||
etcd:
|
etcd:
|
||||||
enabled: true
|
enabled: true
|
||||||
name: etcd
|
name: etcd
|
||||||
|
workload: statefulSet
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
pdb:
|
pdb:
|
||||||
create: false
|
create: false
|
||||||
@@ -714,6 +716,8 @@ etcd:
|
|||||||
storageClass:
|
storageClass:
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
|
storagePath:
|
||||||
|
storageNode:
|
||||||
|
|
||||||
## Change default timeout periods to mitigate zoobie probe process
|
## Change default timeout periods to mitigate zoobie probe process
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
|||||||
Reference in New Issue
Block a user