| # Licensed to Apache Software Foundation (ASF) under one or more contributor |
| # license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright |
| # ownership. Apache Software Foundation (ASF) licenses this file to you under |
| # the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: {{ .Name }}-oap |
| namespace: {{ .Namespace }} |
| labels: |
| app: oap |
| operator.skywalking.apache.org/oap-server-name: {{ .Name }} |
| operator.skywalking.apache.org/application: oapserver |
| operator.skywalking.apache.org/component: deployment |
| spec: |
| replicas: {{ .Spec.Instances }} |
| minReadySeconds: 5 |
| selector: |
| matchLabels: |
| app: oap |
| operator.skywalking.apache.org/oap-server-name: {{ .Name }} |
| template: |
| metadata: |
| labels: |
| app: oap |
| operator.skywalking.apache.org/oap-server-name: {{ .Name }} |
| operator.skywalking.apache.org/application: oapserver |
| operator.skywalking.apache.org/component: pod |
| spec: |
| serviceAccountName: {{ .Name }}-oap |
| affinity: |
| podAntiAffinity: |
| preferredDuringSchedulingIgnoredDuringExecution: |
| - weight: 1 |
| podAffinityTerm: |
| topologyKey: kubernetes.io/hostname |
| labelSelector: |
| matchLabels: |
| app: oap |
| operator.skywalking.apache.org/oap-server-name: {{ .Name }} |
| containers: |
| - name: oap |
| image: {{ .Spec.Image }} |
| imagePullPolicy: IfNotPresent |
| ports: |
| - containerPort: 11800 |
| name: grpc |
| - containerPort: 12800 |
| name: rest |
| - containerPort: 1234 |
| name: http-monitoring |
| livenessProbe: |
| initialDelaySeconds: 10 |
| timeoutSeconds: 10 |
| periodSeconds: 30 |
| failureThreshold: 10 |
| successThreshold: 1 |
| exec: |
| command: |
| - /skywalking/bin/swctl |
| - ch |
| readinessProbe: |
| initialDelaySeconds: 10 |
| timeoutSeconds: 10 |
| periodSeconds: 30 |
| failureThreshold: 10 |
| successThreshold: 1 |
| exec: |
| command: |
| - /skywalking/bin/swctl |
| - ch |
| env: |
| - name: JAVA_OPTS |
| value: -Xmx2048M |
| - name: SW_CLUSTER |
| value: kubernetes |
| - name: SW_CLUSTER_K8S_NAMESPACE |
| value: "{{ .Namespace }}" |
| - name: SW_CLUSTER_K8S_LABEL |
| value: "app=oap,operator.skywalking.apache.org/oap-server-name={{ .Name }}" |
| - name: SKYWALKING_COLLECTOR_UID |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.uid |
| - name: SW_TELEMETRY |
| value: prometheus |
| - name: SW_HEALTH_CHECKER |
| value: default |
| {{range .Spec.Config}} |
| - name: {{ .Name }} |
| value: {{ .Value }} |
| {{end}} |
| |