opentelemetry-helm-charts icon indicating copy to clipboard operation
opentelemetry-helm-charts copied to clipboard

Install opentelemetry-operator without root privileges

Open jascsch opened this issue 2 years ago • 1 comments

Hi all,

is it possible to install the opentelemetry-operator helm chart without root permissions?

image

BR, Jascha

jascsch avatar Aug 04 '22 14:08 jascsch

/cc @Allex1

TylerHelmuth avatar Aug 04 '22 14:08 TylerHelmuth

@jascsch Can you provide some context on what you are trying to do ? There is a bit of confusion on why the installation of the operator chart does not meet the schema requirements in the collector chart from your image. Seems that the values schema is blocking some extra keys you are trying to define. Can you provide the output of helm lint ./charts/opentelemetry-operator

Allex1 avatar Aug 08 '22 14:08 Allex1

@Allex1 Thanks for your reply. Sure, I will do. I can also share the values.yaml file with you.

==> Linting ./charts/opentelemetry-operator

1 chart(s) linted, 0 chart(s) failed

jascsch avatar Aug 08 '22 14:08 jascsch

BTW what`s the best way to share the values.yaml with you?

jascsch avatar Aug 08 '22 14:08 jascsch

@jascsch can you share the helm command you use to install the opentemetry-operator chart ? I'm not sure why the error mentions the opentelemetry-collector chart and not the operator. Also you can share only the values overrides in this issue (provided there is nothing confidential)

Allex1 avatar Aug 08 '22 14:08 Allex1

helm upgrade --install opentelemetry-operator -f values.yaml -n opentelemetry open-telemetry/opentelemetry-collector --debug

jascsch avatar Aug 08 '22 14:08 jascsch

# Default values for opentelemetry-operator.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

## Provide a name in place of opentelemetry-operator.
##
nameOverride: ""

## Reference one or more secrets to be used when pulling images from authenticated repositories.
imagePullSecrets: []

## Provide OpenTelemetry Operator manager container image and resources.
##
manager:
  image:
    repository: registry.app.corpintra.net/s3/opentelemetry-operator
    tag: v0.56.0
  collectorImage:
    repository: registry.app.corpintra.net/s3/opentelemetry-collector
    tag: 0.56.0
  ports:
    metricsPort: 8080
    webhookPort: 9443
    healthzPort: 8081
  resources:
    limits:
      cpu: 100m
      memory: 128Mi
    requests:
      cpu: 100m
      memory: 64Mi
  ## Adds additional environment variables
  ## e.g ENV_VAR: env_value
  env: {}

  # -- Create the manager ServiceAccount
  serviceAccount:
    create: true
    # name: nameOverride

  ## Enable ServiceMonitor for Prometheus metrics scrape
  ##
  serviceMonitor:
    enabled: false
    extraLabels: {}
    metricsEndpoints:
    - port: metrics

  prometheusRule:
    enabled: false
    groups: []
    # Create default rules for monitoring the manager
    defaultRules:
      enabled: false

    # additional labels for the PrometheusRule
    extraLabels: {}


  ## List of additional cli arguments to configure the manager
  ## for example: --target-allocator-image, --labels, etc.
  extraArgs: []

  ## Enable leader election mechanism for protecting against split brain if multiple operator pods/replicas are started.
  ## See more at https://docs.openshift.com/container-platform/4.10/operators/operator_sdk/osdk-leader-election.html
  leaderElection:
    enabled: true

## Provide OpenTelemetry Operator kube-rbac-proxy container image.
##
kubeRBACProxy:
  image:
    repository: registry.app.corpintra.net/s3/kube-rbac-proxy
    tag: v0.11.0
  ports:
    proxyPort: 8443
  resources:
    limits:
      cpu: 500m
      memory: 128Mi
    requests:
      cpu: 5m
      memory: 64Mi

## Admission webhooks make sure only requests with correctly formatted rules will get into the Operator.
##
admissionWebhooks:
  failurePolicy: Fail
  enabled: false

  ## Provide the issuer kind and name to do the cert auth job.
  ## By default, OpenTelemetry Operator will use self-signer issuer.
  certManager:
    enabled: true
    issuerRef: {}
      # kind:
      # name:

## Create the provided Roles and RoleBindings
##
role:
  create: false

## Create the provided ClusterRoles and ClusterRoleBindings
##
clusterRole:
  create: false

affinity: {}
tolerations: []
nodeSelector: {}
hostNetwork: false


```# Default values for opentelemetry-operator.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

## Provide a name in place of opentelemetry-operator.
##
nameOverride: ""

## Reference one or more secrets to be used when pulling images from authenticated repositories.
imagePullSecrets: []

## Provide OpenTelemetry Operator manager container image and resources.
##
manager:
  image:
    repository: registry.app.corpintra.net/s3/opentelemetry-operator
    tag: v0.56.0
  collectorImage:
    repository: registry.app.corpintra.net/s3/opentelemetry-collector
    tag: 0.56.0
  ports:
    metricsPort: 8080
    webhookPort: 9443
    healthzPort: 8081
  resources:
    limits:
      cpu: 100m
      memory: 128Mi
    requests:
      cpu: 100m
      memory: 64Mi
  ## Adds additional environment variables
  ## e.g ENV_VAR: env_value
  env: {}

  # -- Create the manager ServiceAccount
  serviceAccount:
    create: true
    # name: nameOverride

  ## Enable ServiceMonitor for Prometheus metrics scrape
  ##
  serviceMonitor:
    enabled: false
    extraLabels: {}
    metricsEndpoints:
    - port: metrics

  prometheusRule:
    enabled: false
    groups: []
    # Create default rules for monitoring the manager
    defaultRules:
      enabled: false

    # additional labels for the PrometheusRule
    extraLabels: {}


  ## List of additional cli arguments to configure the manager
  ## for example: --target-allocator-image, --labels, etc.
  extraArgs: []

  ## Enable leader election mechanism for protecting against split brain if multiple operator pods/replicas are started.
  ## See more at https://docs.openshift.com/container-platform/4.10/operators/operator_sdk/osdk-leader-election.html
  leaderElection:
    enabled: true

## Provide OpenTelemetry Operator kube-rbac-proxy container image.
##
kubeRBACProxy:
  image:
    repository: registry.app.corpintra.net/s3/kube-rbac-proxy
    tag: v0.11.0
  ports:
    proxyPort: 8443
  resources:
    limits:
      cpu: 500m
      memory: 128Mi
    requests:
      cpu: 5m
      memory: 64Mi

## Admission webhooks make sure only requests with correctly formatted rules will get into the Operator.
##
admissionWebhooks:
  failurePolicy: Fail
  enabled: false

  ## Provide the issuer kind and name to do the cert auth job.
  ## By default, OpenTelemetry Operator will use self-signer issuer.
  certManager:
    enabled: true
    issuerRef: {}
      # kind:
      # name:

## Create the provided Roles and RoleBindings
##
role:
  create: false

## Create the provided ClusterRoles and ClusterRoleBindings
##
clusterRole:
  create: false

affinity: {}
tolerations: []
nodeSelector: {}
hostNetwork: false

jascsch avatar Aug 08 '22 14:08 jascsch

helm upgrade --install opentelemetry-operator -f values.yaml -n opentelemetry open-telemetry/opentelemetry-collector --debug

You need to replace open-telemetry/opentelemetry-collector with open-telemetry/opentelemetry-operator as indicated in the DOCS

Allex1 avatar Aug 08 '22 15:08 Allex1

Thanks for the hint. I did not notice it. It works now and you can close the ticket.

jascsch avatar Aug 08 '22 15:08 jascsch