Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6ed4e21

Browse files
authored
feat(examples): add labels and antiAffinity to k8s example (#5763)
1 parent 6252f78 commit 6ed4e21

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

examples/templates/kubernetes/main.tf

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,17 @@ resource "kubernetes_persistent_volume_claim" "home" {
8989
metadata {
9090
name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-home"
9191
namespace = var.namespace
92+
labels = {
93+
"app.kubernetes.io/name" = "coder-pvc"
94+
"app.kubernetes.io/instance" = "coder-pvc-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
95+
"app.kubernetes.io/part-of" = "coder"
96+
// Coder specific labels.
97+
"com.coder.resource" = "true"
98+
"com.coder.workspace.id" = data.coder_workspace.me.id
99+
"com.coder.workspace.name" = data.coder_workspace.me.name
100+
"com.coder.user.id" = data.coder_workspace.me.owner_id
101+
"com.coder.user.username" = data.coder_workspace.me.owner
102+
}
92103
}
93104
wait_until_bound = false
94105
spec {
@@ -106,6 +117,17 @@ resource "kubernetes_pod" "main" {
106117
metadata {
107118
name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
108119
namespace = var.namespace
120+
labels = {
121+
"app.kubernetes.io/name" = "coder-workspace"
122+
"app.kubernetes.io/instance" = "coder-workspace-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
123+
"app.kubernetes.io/part-of" = "coder"
124+
// Coder specific labels.
125+
"com.coder.resource" = "true"
126+
"com.coder.workspace.id" = data.coder_workspace.me.id
127+
"com.coder.workspace.name" = data.coder_workspace.me.name
128+
"com.coder.user.id" = data.coder_workspace.me.owner_id
129+
"com.coder.user.username" = data.coder_workspace.me.owner
130+
}
109131
}
110132
spec {
111133
security_context {
@@ -137,5 +159,26 @@ resource "kubernetes_pod" "main" {
137159
read_only = false
138160
}
139161
}
162+
163+
164+
affinity {
165+
pod_anti_affinity {
166+
// This affinity attempts to spread out all workspace pods evenly across
167+
// nodes.
168+
preferred_during_scheduling_ignored_during_execution {
169+
weight = 1
170+
pod_affinity_term {
171+
topology_key = "kubernetes.io/hostname"
172+
label_selector {
173+
match_expressions {
174+
key = "app.kubernetes.io/name"
175+
operator = "In"
176+
values = ["coder-workspace"]
177+
}
178+
}
179+
}
180+
}
181+
}
182+
}
140183
}
141184
}

helm/templates/_helpers.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Selector labels
1818
{{- define "coder.selectorLabels" -}}
1919
app.kubernetes.io/name: {{ include "coder.name" . }}
2020
app.kubernetes.io/instance: {{ .Release.Name }}
21+
app.kubernetes.io/part-of: {{ include "coder.name" . }}
2122
{{- end }}
2223

2324
{{/*

0 commit comments

Comments
 (0)