| # |
| # Licensed to the 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. The 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: v1 |
| kind: Namespace |
| metadata: |
| labels: |
| control-plane: controller-manager |
| app.kubernetes.io/name: iotdb-operator |
| app.kubernetes.io/managed-by: kustomize |
| name: system |
| --- |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| name: controller-manager |
| namespace: system |
| labels: |
| control-plane: controller-manager |
| app.kubernetes.io/name: iotdb-operator |
| app.kubernetes.io/managed-by: kustomize |
| spec: |
| selector: |
| matchLabels: |
| control-plane: controller-manager |
| replicas: 1 |
| template: |
| metadata: |
| annotations: |
| kubectl.kubernetes.io/default-container: manager |
| labels: |
| control-plane: controller-manager |
| spec: |
| # TODO(user): Uncomment the following code to configure the nodeAffinity expression |
| # according to the platforms which are supported by your solution. |
| # It is considered best practice to support multiple architectures. You can |
| # build your manager image using the makefile target docker-buildx. |
| # affinity: |
| # nodeAffinity: |
| # requiredDuringSchedulingIgnoredDuringExecution: |
| # nodeSelectorTerms: |
| # - matchExpressions: |
| # - key: kubernetes.io/arch |
| # operator: In |
| # values: |
| # - amd64 |
| # - arm64 |
| # - ppc64le |
| # - s390x |
| # - key: kubernetes.io/os |
| # operator: In |
| # values: |
| # - linux |
| securityContext: |
| runAsNonRoot: true |
| # TODO(user): For common cases that do not require escalating privileges |
| # it is recommended to ensure that all your Pods/Containers are restrictive. |
| # More info: https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted |
| # Please uncomment the following code if your project does NOT have to work on old Kubernetes |
| # versions < 1.19 or on vendors versions which do NOT support this field by default (i.e. Openshift < 4.11 ). |
| # seccompProfile: |
| # type: RuntimeDefault |
| containers: |
| - command: |
| - /manager |
| args: |
| - --leader-elect |
| image: controller:latest |
| name: manager |
| securityContext: |
| allowPrivilegeEscalation: false |
| capabilities: |
| drop: |
| - "ALL" |
| livenessProbe: |
| httpGet: |
| path: /healthz |
| port: 8081 |
| initialDelaySeconds: 15 |
| periodSeconds: 20 |
| readinessProbe: |
| httpGet: |
| path: /readyz |
| port: 8081 |
| initialDelaySeconds: 5 |
| periodSeconds: 10 |
| # TODO(user): Configure the resources accordingly based on the project requirements. |
| # More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
| resources: |
| limits: |
| cpu: 500m |
| memory: 128Mi |
| requests: |
| cpu: 10m |
| memory: 64Mi |
| serviceAccountName: controller-manager |
| terminationGracePeriodSeconds: 10 |