blob: 8d32689d5f7f547e0ea97d44cc584440bea13c74 [file] [log] [blame]
# 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}}