Each deployment should have a different container name
Categories
(Taskcluster :: Services, enhancement)
Tracking
(Not tracked)
People
(Reporter: brian, Unassigned)
Details
In order to track cpu and memory utilization per cronjob or deployment, we need each one to have a unique container name. This is because Stackdriver does not tag those metrics based on their metadata, but does tag them based on the container name. Currently, it looks like all the crons have unique names but many of the deployments share container names. For example taskcluster-hooks-listeners, taskcluster-hooks-scheduler, and taskcluster-hooks-web all share the container name taskcluster-hooks. See the list below for confirmation.
The fix is probably to make the container name always match the component label. I believe this can be done by changing https://github.com/taskcluster/taskcluster/blob/f9b7461209e9efa2aebab8676df259f5f5272f43/infrastructure/tooling/templates/k8s/deployment.yaml#L18 to match https://github.com/taskcluster/taskcluster/blob/f9b7461209e9efa2aebab8676df259f5f5272f43/infrastructure/tooling/templates/k8s/cron.yaml#L19
$ rg -e 'app.kubernetes.io/component:' -e ' - name: taskcluster-' *deployment* *cron*
taskcluster-auth-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-auth-web
22: - name: taskcluster-auth
taskcluster-github-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-github-web
22: - name: taskcluster-github
taskcluster-built-in-workers-deployment-server.yaml
8: app.kubernetes.io/component: taskcluster-built-in-workers-server
22: - name: taskcluster-built-in-workers
taskcluster-github-deployment-worker.yaml
8: app.kubernetes.io/component: taskcluster-github-worker
22: - name: taskcluster-github
taskcluster-hooks-deployment-scheduler.yaml
8: app.kubernetes.io/component: taskcluster-hooks-scheduler
22: - name: taskcluster-hooks
taskcluster-hooks-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-hooks-web
22: - name: taskcluster-hooks
taskcluster-index-deployment-handlers.yaml
8: app.kubernetes.io/component: taskcluster-index-handlers
22: - name: taskcluster-index
taskcluster-notify-deployment-handler.yaml
8: app.kubernetes.io/component: taskcluster-notify-handler
22: - name: taskcluster-notify
taskcluster-index-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-index-web
22: - name: taskcluster-index
taskcluster-notify-deployment-irc.yaml
8: app.kubernetes.io/component: taskcluster-notify-irc
22: - name: taskcluster-notify
taskcluster-notify-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-notify-web
22: - name: taskcluster-notify
taskcluster-purge-cache-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-purge-cache-web
22: - name: taskcluster-purge-cache
taskcluster-hooks-deployment-listeners.yaml
8: app.kubernetes.io/component: taskcluster-hooks-listeners
22: - name: taskcluster-hooks
taskcluster-queue-deployment-deadlineResolver.yaml
8: app.kubernetes.io/component: taskcluster-queue-deadlineresolver
22: - name: taskcluster-queue
taskcluster-queue-deployment-claimResolver.yaml
8: app.kubernetes.io/component: taskcluster-queue-claimresolver
22: - name: taskcluster-queue
taskcluster-queue-deployment-dependencyResolver.yaml
8: app.kubernetes.io/component: taskcluster-queue-dependencyresolver
22: - name: taskcluster-queue
taskcluster-references-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-references-web
22: - name: taskcluster-references
taskcluster-ui-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-ui-web
22: - name: taskcluster-ui
taskcluster-secrets-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-secrets-web
22: - name: taskcluster-secrets
taskcluster-web-server-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-web-server-web
22: - name: taskcluster-web-server
taskcluster-worker-manager-deployment-provisioner.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-provisioner
22: - name: taskcluster-worker-manager
taskcluster-worker-manager-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-web
22: - name: taskcluster-worker-manager
taskcluster-worker-manager-deployment-workerscanner.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-workerscanner
22: - name: taskcluster-worker-manager
taskcluster-auth-cron-purgeExpiredClients.yaml
8: app.kubernetes.io/component: taskcluster-auth-purgeexpiredclients
23: - name: taskcluster-auth-purgeexpiredclients
taskcluster-github-cron-sync.yaml
8: app.kubernetes.io/component: taskcluster-github-sync
23: - name: taskcluster-github-sync
taskcluster-queue-deployment-web.yaml
8: app.kubernetes.io/component: taskcluster-queue-web
22: - name: taskcluster-queue
taskcluster-hooks-cron-expires.yaml
8: app.kubernetes.io/component: taskcluster-hooks-expires
23: - name: taskcluster-hooks-expires
taskcluster-index-cron-expire.yaml
8: app.kubernetes.io/component: taskcluster-index-expire
23: - name: taskcluster-index-expire
taskcluster-purge-cache-cron-expireCachePurges.yaml
8: app.kubernetes.io/component: taskcluster-purge-cache-expirecachepurges
23: - name: taskcluster-purge-cache-expirecachepurges
taskcluster-queue-cron-expireArtifacts.yaml
8: app.kubernetes.io/component: taskcluster-queue-expireartifacts
23: - name: taskcluster-queue-expireartifacts
taskcluster-queue-cron-expireQueues.yaml
8: app.kubernetes.io/component: taskcluster-queue-expirequeues
23: - name: taskcluster-queue-expirequeues
taskcluster-queue-cron-expireTask.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretask
23: - name: taskcluster-queue-expiretask
taskcluster-queue-cron-expireTaskDependency.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretaskdependency
23: - name: taskcluster-queue-expiretaskdependency
taskcluster-queue-cron-expireTaskGroupMembers.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretaskgroupmembers
23: - name: taskcluster-queue-expiretaskgroupmembers
taskcluster-queue-cron-expireTaskGroupSizes.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretaskgroupsizes
23: - name: taskcluster-queue-expiretaskgroupsizes
taskcluster-queue-cron-expireTaskRequirement.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretaskrequirement
23: - name: taskcluster-queue-expiretaskrequirement
taskcluster-queue-cron-expireWorkerInfo.yaml
8: app.kubernetes.io/component: taskcluster-queue-expireworkerinfo
23: - name: taskcluster-queue-expireworkerinfo
taskcluster-secrets-cron-expire.yaml
8: app.kubernetes.io/component: taskcluster-secrets-expire
23: - name: taskcluster-secrets-expire
taskcluster-web-server-cron-cleanup-expire-access-tokens.yaml
8: app.kubernetes.io/component: taskcluster-web-server-cleanup-expire-access-tokens
23: - name: taskcluster-web-server-cleanup-expire-access-tokens
taskcluster-web-server-cron-cleanup-expire-auth-codes.yaml
8: app.kubernetes.io/component: taskcluster-web-server-cleanup-expire-auth-codes
23: - name: taskcluster-web-server-cleanup-expire-auth-codes
taskcluster-web-server-cron-scanner.yaml
8: app.kubernetes.io/component: taskcluster-web-server-scanner
23: - name: taskcluster-web-server-scanner
taskcluster-worker-manager-cron-expire-errors.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-expire-errors
23: - name: taskcluster-worker-manager-expire-errors
taskcluster-worker-manager-cron-expire-worker-pools.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-expire-worker-pools
23: - name: taskcluster-worker-manager-expire-worker-pools
taskcluster-worker-manager-cron-expire-workers.yaml
8: app.kubernetes.io/component: taskcluster-worker-manager-expire-workers
23: - name: taskcluster-worker-manager-expire-workers
taskcluster-queue-cron-expireTaskGroups.yaml
8: app.kubernetes.io/component: taskcluster-queue-expiretaskgroups
23: - name: taskcluster-queue-expiretaskgroups
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Comment 2•5 years ago
|
||
This has been released.
Description
•