apiVersion: apps/v1 kind: Deployment metadata: labels: app: {{ template "skywalking.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} component: "{{ .Values.oap.name }}" heritage: {{ .Release.Service }} release: {{ .Release.Name }} name: {{ template "skywalking.oap.fullname" . }} spec: replicas: {{ .Values.oap.replicas }} selector: matchLabels: app: {{ template "skywalking.name" . }} component: "{{ .Values.oap.name }}" release: {{ .Release.Name }} template: metadata: labels: app: {{ template "skywalking.name" . }} component: "{{ .Values.oap.name }}" release: {{ .Release.Name }} {{- if .Values.oap.podAnnotations }} annotations: {{ toYaml .Values.oap.podAnnotations | indent 8 }} {{- end }} spec: serviceAccountName: {{ template "skywalking.serviceAccountName.oap" . }} affinity: {{- if eq .Values.oap.antiAffinity "hard" }} podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - topologyKey: "kubernetes.io/hostname" labelSelector: matchLabels: app: "{{ template "skywalking.name" . }}" release: "{{ .Release.Name }}" component: "{{ .Values.oap.name }}" {{- else if eq .Values.oap.antiAffinity "soft" }} podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: topologyKey: kubernetes.io/hostname labelSelector: matchLabels: app: "{{ template "skywalking.name" . }}" release: "{{ .Release.Name }}" component: "{{ .Values.oap.name }}" {{- end }} {{- with .Values.oap.nodeAffinity }} nodeAffinity: {{ toYaml . | indent 10 }} {{- end }} {{- if .Values.oap.nodeSelector }} nodeSelector: {{ toYaml .Values.oap.nodeSelector | indent 8 }} {{- end }} {{- if .Values.oap.tolerations }} tolerations: {{ toYaml .Values.oap.tolerations | indent 8 }} {{- end }} initContainers: {{- include "skywalking.containers.wait-for-es" . | nindent 6 }} containers: - name: {{ .Values.oap.name }} image: "{{ .Values.oap.image.repository }}:{{ .Values.oap.image.tag }}" imagePullPolicy: {{ .Values.oap.image.pullPolicy }} ports: - containerPort: 11800 name: grpc - containerPort: 12800 name: rest {{- if .Values.oap.resources }} resources: {{ toYaml .Values.oap.resources | indent 10 }} {{- end }} env: - name: JAVA_OPTS value: "{{ .Values.oap.javaOpts }} -Dmode=no-init" - name: SW_CLUSTER value: kubernetes - name: SW_CLUSTER_K8S_NAMESPACE value: "{{ .Release.Namespace }}" - name: SW_CLUSTER_K8S_LABEL value: "app={{ template "skywalking.name" . }},release={{ .Release.Name }},component={{ .Values.oap.name }}" - name: SKYWALKING_COLLECTOR_UID valueFrom: fieldRef: fieldPath: metadata.uid - name: SW_STORAGE value: elasticsearch {{- if .Values.oap.envoy.als.enabled }} - name: SW_ENVOY_ALS_ENABLED value: {{ .Values.oap.envoy.als.enabled | quote}} {{- end }} - name: SW_STORAGE_ES_CLUSTER_NODES value: "{{ include "call-nested" (list . "elasticsearch" "elasticsearch.client.fullname") }}:9200" {{- range $key, $value := .Values.oap.env }} - name: {{ $key }} value: {{ $value | quote }} {{- end }}